From c3075e9178a073586f5b2eb0a91e822398e6abf1 Mon Sep 17 00:00:00 2001 From: Jim Campbell Date: Mon, 30 Mar 2015 23:40:01 -0500 Subject: [PATCH] docs: Updated instructions re: Postgresql setup 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 | 55 ++++++++++++++++++++--------- 1 file changed, 39 insertions(+), 16 deletions(-) diff --git a/docs/source/siteadmin/deploying.rst b/docs/source/siteadmin/deploying.rst index 765c248c..980d4b58 100644 --- a/docs/source/siteadmin/deploying.rst +++ b/docs/source/siteadmin/deploying.rst @@ -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 -- 2.25.1