docs: Updated instructions re: Postgresql setup
authorJim Campbell <jcampbell@gnome.org>
Tue, 31 Mar 2015 04:40:01 +0000 (23:40 -0500)
committerJim Campbell <jcampbell@gnome.org>
Tue, 31 Mar 2015 04:40:01 +0000 (23:40 -0500)
Added information about needed packages for RPM-based systems,
and simplified instructions to rely on the root account rather than
sudo-based instructions.

If a user has sudo access, they can easily add "sudo" to the needed
commands.

Also added information about enabling postgres to start on boot
and how to start it for the current session.

docs/source/siteadmin/deploying.rst

index 765c248cdce982150b10b348439194dca094e509..980d4b58fb18302188731fb6f67d2db10c484307 100644 (file)
@@ -56,13 +56,13 @@ MediaGoblin has the following core dependencies:
 On a DEB-based system (e.g Debian, gNewSense, Trisquel, Ubuntu, and
 derivatives) issue the following command::
 
-    sudo apt-get install git-core python python-dev python-lxml \
+    # apt-get install git-core python python-dev python-lxml \
         python-imaging python-virtualenv npm automake
 
 On a RPM-based system (e.g. Fedora, RedHat, and derivatives) issue the
 following command::
 
-    yum install python-paste-deploy python-paste-script \
+    yum install python-paste-deploy python-paste-script \
         git-core python python-devel python-lxml python-imaging \
         python-virtualenv npm automake
 
@@ -80,27 +80,54 @@ Configure PostgreSQL
 
 These are the packages needed for Debian Wheezy (stable)::
 
-    sudo apt-get install postgresql postgresql-client python-psycopg2
+    # apt-get install postgresql postgresql-client python-psycopg2
+
+These are the packages needed for an RPM-based system::
+
+    # yum install postgresql postgresql-server python-psycopg2
+
+An RPM-based system also requires that you initialize the PostgresSQL database
+with this command. The following command is not needed on a Debian-based
+platform, however::
+
+    # /usr/bin/postgresql-setup initdb
 
 The installation process will create a new *system* user named ``postgres``,
-it will have privilegies sufficient to manage the database. We will create a
+which will have privilegies sufficient to manage the database. We will create a
 new database user with restricted privilegies and a new database owned by our
 restricted database user for our MediaGoblin instance.
 
 In this example, the database user will be ``mediagoblin`` and the database
 name will be ``mediagoblin`` too.
 
-To create our new user, run::
+We'll add these entities by first switching to the *postgres* account::
+
+    # su -u postgres
 
-    sudo -u postgres createuser -A -D mediagoblin
+This will change your prompt to a shell prompt, such as *-bash-4.2$*. Enter
+the following *createuser* and *createdb* commands at that prompt. We'll
+create the *mediagoblin* database user first::
 
-then create the database all our MediaGoblin data should be stored in::
+    $ createuser -A -D mediagoblin
 
-    sudo -u postgres createdb -E UNICODE -O mediagoblin mediagoblin
+Then we'll create the database where all of our MediaGoblin data will be stored::
+
+    $ createdb -E UNICODE -O mediagoblin mediagoblin
 
 where the first ``mediagoblin`` is the database owner and the second
 ``mediagoblin`` is the database name.
 
+Type ``exit`` to return to the *root* user prompt. From here we just need to
+set the Postgres database to start on boot, and also start it up for this
+particular session. If you're on a platform that does not use *systemd*, you
+can enter::
+
+    # chkconfig postgresql on && service postgresql start
+
+Whereas users of *systemd*-based systems will need to enter::
+
+    # systemctl enable postgresql && systemctl start postgresql
+
 .. caution:: Where is the password?
 
     These steps enable you to authenticate to the database in a password-less
@@ -144,11 +171,6 @@ You may get a warning similar to this when entering these commands::
 You can disregard this warning. To return to your regular user account after
 using the system account, just enter ``exit``.
 
-.. note::
-
-    Unless otherwise noted, the remainder of this document assumes that all
-    operations are performed using this unpriviledged account.
-
 .. _create-mediagoblin-directory:
 
 Create a MediaGoblin Directory
@@ -166,11 +188,12 @@ to the unpriviledged system account.
 To do this, enter either of the following commands, changing the defaults
 to suit your particular requirements::
 
-  sudo mkdir -p /srv/mediagoblin.example.org && sudo chown -hR mediagoblin: /srv/mediagoblin.example.org
+  # mkdir -p /srv/mediagoblin.example.org && sudo chown -hR mediagoblin: /srv/mediagoblin.example.org
 
-or (as the root user)::
+.. note::
 
-  mkdir -p /srv/mediagoblin.example.org && chown -hR mediagoblin: /srv/mediagoblin.example.org
+    Unless otherwise noted, the remainder of this document assumes that all
+    operations are performed using this unpriviledged account.
 
 
 Install MediaGoblin and Virtualenv