Updated documentation
Added PostgreSQL deployment documentation
This commit is contained in:
parent
0e43491374
commit
775ec9e8f7
@ -41,26 +41,88 @@ MediaGoblin has the following core dependencies:
|
|||||||
- Python 2.6 or 2.7
|
- Python 2.6 or 2.7
|
||||||
- `python-lxml <http://lxml.de/>`_
|
- `python-lxml <http://lxml.de/>`_
|
||||||
- `git <http://git-scm.com/>`_
|
- `git <http://git-scm.com/>`_
|
||||||
- `MongoDB <http://www.mongodb.org/>`_
|
- `SQLite <http://www.sqlite.org/>`_/`PostgreSQL <http://www.postgresql.org/>`_
|
||||||
- `Python Imaging Library <http://www.pythonware.com/products/pil/>`_ (PIL)
|
- `Python Imaging Library <http://www.pythonware.com/products/pil/>`_ (PIL)
|
||||||
- `virtualenv <http://www.virtualenv.org/>`_
|
- `virtualenv <http://www.virtualenv.org/>`_
|
||||||
|
|
||||||
On a DEB-based system (e.g Debian, gNewSense, Trisquel, Ubuntu, and
|
On a DEB-based system (e.g Debian, gNewSense, Trisquel, Ubuntu, and
|
||||||
derivatives) issue the following command: ::
|
derivatives) issue the following command: ::
|
||||||
|
|
||||||
sudo apt-get install mongodb git-core python python-dev python-lxml \
|
sudo apt-get install git-core python python-dev python-lxml \
|
||||||
python-imaging python-virtualenv
|
python-imaging python-virtualenv
|
||||||
|
|
||||||
On a RPM-based system (e.g. Fedora, RedHat, and derivatives) issue the
|
On a RPM-based system (e.g. Fedora, RedHat, and derivatives) issue the
|
||||||
following command: ::
|
following command: ::
|
||||||
|
|
||||||
yum install mongodb-server python-paste-deploy python-paste-script \
|
yum install python-paste-deploy python-paste-script \
|
||||||
git-core python python-devel python-lxml python-imaging \
|
git-core python python-devel python-lxml python-imaging \
|
||||||
python-virtualenv
|
python-virtualenv
|
||||||
|
|
||||||
|
Configure PostgreSQL
|
||||||
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
MediaGoblin currently supports PostgreSQL and SQLite. The default is a
|
||||||
|
local SQLite database. This will "just work" for small deployments. If
|
||||||
|
you don't want/need postgres, ignore all the postgres related parts. For
|
||||||
|
medium to large deployments we recommend PostgreSQL.
|
||||||
|
|
||||||
|
These are the packages needed for Debian Wheezy (testing): ::
|
||||||
|
|
||||||
|
sudo apt-get install postgresql postgresql-client
|
||||||
|
|
||||||
|
The installation process will create a new *system* user named ``postgres``,
|
||||||
|
it 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: ::
|
||||||
|
|
||||||
|
sudo -u postgres createuser mediagoblin
|
||||||
|
|
||||||
|
then answer NO to *all* the questions: ::
|
||||||
|
|
||||||
|
Shall the new role be a superuser? (y/n) n
|
||||||
|
Shall the new role be allowed to create databases? (y/n) n
|
||||||
|
Shall the new role be allowed to create more new roles? (y/n) n
|
||||||
|
|
||||||
|
then create the database all our MediaGoblin data should be stored in: ::
|
||||||
|
|
||||||
|
sudo -u postgres createdb -E UNICODE -O mediagoblin mediagoblin
|
||||||
|
|
||||||
|
where the first ``mediagoblin`` is the database owner and the second
|
||||||
|
``mediagoblin`` is the database name.
|
||||||
|
|
||||||
|
.. caution:: Where is the password?
|
||||||
|
|
||||||
|
These steps enable you to authenticate to the database in a password-less
|
||||||
|
manner via local UNIX authentication provided you run the MediaGoblin
|
||||||
|
application as a user with the same name as the user you created in
|
||||||
|
PostgreSQL.
|
||||||
|
|
||||||
|
More on this in :ref:`Drop Privileges for MediaGoblin <drop-privileges-for-mediagoblin>`.
|
||||||
|
|
||||||
|
|
||||||
Configure MongoDB
|
Configure MongoDB
|
||||||
~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
If this is a fresh setup and you have already set up PostgreSQL, you
|
||||||
|
will not need this step.
|
||||||
|
|
||||||
|
First, install MongoDB. On a DEB-based system run: ::
|
||||||
|
|
||||||
|
sudo apt-get install mongodb
|
||||||
|
|
||||||
|
on a RPM-based system, run: ::
|
||||||
|
|
||||||
|
yum install mongodb-server
|
||||||
|
|
||||||
After installing MongoDB some preliminary database configuration may
|
After installing MongoDB some preliminary database configuration may
|
||||||
be necessary.
|
be necessary.
|
||||||
|
|
||||||
@ -85,6 +147,8 @@ running a smaller instance, consider the `scaling down guide
|
|||||||
<http://wiki.mediagoblin.org/Scaling_Down>`_ for some appropriate
|
<http://wiki.mediagoblin.org/Scaling_Down>`_ for some appropriate
|
||||||
tradeoffs to conserve space.
|
tradeoffs to conserve space.
|
||||||
|
|
||||||
|
.. _drop-privileges-for-mediagoblin:
|
||||||
|
|
||||||
Drop Privileges for MediaGoblin
|
Drop Privileges for MediaGoblin
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
@ -161,6 +225,27 @@ codebase, you should also run::
|
|||||||
Deploy MediaGoblin Services
|
Deploy MediaGoblin Services
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
|
Configure MediaGoblin to use the PostgreSQL database
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Edit the ``[mediagoblin]`` section in your ``mediagoblin_local.ini`` and
|
||||||
|
put in: ::
|
||||||
|
|
||||||
|
sql_engine = postgresql:///mediagoblin
|
||||||
|
|
||||||
|
if you are running the MediaGoblin application as the same 'user' as the
|
||||||
|
database owner.
|
||||||
|
|
||||||
|
Update database data structures
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Before you start using the database, you need to run: ::
|
||||||
|
|
||||||
|
./bin/gmg dbupdate
|
||||||
|
|
||||||
|
to populate the database with the MediaGoblin data structures.
|
||||||
|
|
||||||
|
|
||||||
Test the Server
|
Test the Server
|
||||||
~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user