The following are the steps I used to install Mediagoblin on Webfaction. They are based on the slightly out-of-date instructions found here. And Mediagoblin’s own deploy instructions are helpful, of course. Feel free to peruse them but the instructions below should be all you need to install Mediagoblin on Webfaction.
- Install a Custom app (listening on port) named ‘mediagoblin’.
- Mount your MediaGoblin application on a domain with a website.
- Set up a Postgres database.
- Connect to your server with SSH.
- Install the MediaGoblin core dependencies:
- Python dependencies:
123$ easy_install-2.7 lxml$ easy_install-2.7 virtualenv$ easy_install-2.7 flux - Nodejs: see my own Installing nodejs on Webfaction.
- Python dependencies:
- Get the Mediagoblin code:
1234$ cd webapps$ git clone git://git.savannah.gnu.org/mediagoblin.git mediagoblin -b stable$ cd mediagoblin$ git submodule init && git submodule update - Set up the environment:
1$ ./bootstrap.sh && ./configure && make - Create local versions of
mediagoblin.ini
andpaste.ini
like so:
1$ cp -av mediagoblin.ini mediagoblin_local.ini && cp -av paste.ini paste_local.ini - Edit
mediagoblin_local.ini
.- Uncomment the line that begins
# sql_engine =
and edit it so that is has the following form:
1sql_engine = postgresql://<db_username>:<db_password>@localhost/<db_name>
where<db_username>
,<db_password>
and<db_name>
are the values for the database user name, password and database name, respectively, that were created in step 3. - Change the value of
email_debug_mode
fromtrue
tofalse
. - Optionally, set up email notifications:
12345email_sender_address = 'someemail@yourdomain.com'email_smtp_host = 'smtp.webfaction.com'email_smtp_port = 465email_smtp_user = 'webfaction_mailbox_name'email_smtp_pass = 'password_for_that_mailbox'
Note that you’ll have to create the webfaction_mailbox_name mailbox, if it does not already exist, as well as a corresponding email address. You can do that by following the instructions here.If you do not set up email notifications, you’ll need to leave
email_debug_mode
set totrue
so that you can get the email verification code in the terminal where you start the server.
- Uncomment the line that begins
- Edit
paste_local.ini
. Change the port to the value set in step 1. - Initialize the database:
1$ ./bin/gmg dbupdate
- Start the server:
1$ ./lazyserver.sh
You should now be able to visit the site at the domain set up in step 2. If you see the Mediagoblin front page, congratulations!