Difference between revisions of "User:Woozle/Mastodon/setup"

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
Jump to navigation Jump to search
(pulled "take"s into subpages for less chaos)
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
I'm trying to use [[Mastodon Social|Mastodon]] with [[Apache web server|Apache]] and [[MySQL]], for reasons I can go into, rather than the apparently-assumed defaults of [[nginx]] and [[Postgres]]. (It's never explicitly stated "no, Mastodon will not work with anything else", but this may turn out to be the case.)
+
I was originally trying to use [[Mastodon Social|Mastodon]] with [[Apache web server|Apache]] and [[MySQL]] (for reasons I can go into), rather than the apparently-assumed defaults of [[nginx]] and [[Postgres]]. It's never explicitly stated "no, Mastodon will not work with anything else", but this pretty much turned out to be the case -- so for my second attempt, I started over with a completely fresh server... and got stuck again anyway.
  
 
I'm using [https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Production-guide.md these instructions] as a guide.
 
I'm using [https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Production-guide.md these instructions] as a guide.
==Notes==
+
* [[/take 1]] was where I foolishly tried to use MySQL instead of postgres
* Created a virtual server for Mastodon (icmstdn.com) using [[Virtualmin]].
+
* [[/take 2]] was where I tried to do it by the book, approximately May-July of 2017
* Used [[Git]] to clone Mastodon ([https://github.com/tootsuite/mastodon repository] [https://github.com/tootsuite/mastodon.git clone URL]) into a subfolder of public_html
+
* [[/take 3]] is trying to do it by the book again on 2017-12-31, but after installing Redmine from a package
** Mastodon's files are now in /home/icmstdn/public_html/mastodon
 
* Created file .env.production (it didn't already exist) and then took a look at .env.production.sample to see what needs to be set.
 
===Take 1===
 
There doesn't seem to be any way to tell it which db engine to use -- but this looks like it ''could'' be a standard Ruby or [[Ruby on Rails]] config file -- so let's check my [[Redmine]] installation (which uses MySQL) to see if there are any clues...
 
 
 
Nope, no joy there.
 
 
 
Tentatively, Mastodon appears to be too tightly intertwined with Postgres to even attempt to use another dbe without a substantial rewrite (see [https://toot.cat/@browneyedgirl/332331 this] and the accompanying thread).
 
 
 
So I've set up a completely fresh virtual server with 2GB of RAM, and am following the instructions almost to the letter ("almost" because I prefer to do everything as root rather than having to type "sudo" over and over again... and also using "apt" instead of "apt-get" because the former is slightly more friendly).
 
===Take 2===
 
* Is there a better way to install "yarn"? I got a message saying "npm WARN deprecated yarn@0.22.0: It is recommended to install Yarn using the native installation method for your environment. See https://yarnpkg.com/en/docs/install" -- but then it seemed to work anyway... From the link, it looks like I'd be advised to set up the repository. Will do that at some point.
 
* The postgres (v9.5 (9.5.6-0ubuntu0.16.04)) installation generated about a dozen copies of this message: "Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(?<!\\)\${ <-- HERE ([^}]+)}/ at /usr/sbin/pam_getenv line 78."
 
* Tentatively, when it says "Under Ubuntu 16.04, you will need to explicitly enable ident authentication so that local users can connect to the database without a password", the "local users" are ''not'' users of the Mastodon app but the user(s) setting up and administering Mastodon who might need to do various operations in Postgres. The previous line seems to create a single Postgres user named "mastodon", heavily implying that yes, the app itself only needs the one db user. Possibly the whole business with identd could, theoretically, be skipped by setting up a password...
 

Latest revision as of 12:20, 31 December 2017

I was originally trying to use Mastodon with Apache and MySQL (for reasons I can go into), rather than the apparently-assumed defaults of nginx and Postgres. It's never explicitly stated "no, Mastodon will not work with anything else", but this pretty much turned out to be the case -- so for my second attempt, I started over with a completely fresh server... and got stuck again anyway.

I'm using these instructions as a guide.

  • /take 1 was where I foolishly tried to use MySQL instead of postgres
  • /take 2 was where I tried to do it by the book, approximately May-July of 2017
  • /take 3 is trying to do it by the book again on 2017-12-31, but after installing Redmine from a package