]> git.ozlabs.org Git - patchwork/blobdiff - docs/INSTALL
tests/parser: Add test for wrapped git pull requests
[patchwork] / docs / INSTALL
index 0ed2cea78e3afa18fddca6d370c1c3a1edc00515..4c178efe1c8dc9f7ef3c489d51c8edd08f1b0602 100644 (file)
@@ -29,7 +29,10 @@ in brackets):
     user that your mail server runs as). On Ubuntu these are
     www-data and nobody, respectively.
 
-    For PostgreSQL
+    As an alternative, you can use password-based login and a single database
+    account. This is described further down.
+
+    For PostgreSQL (ident-based)
 
         $ createdb patchwork
         $ createuser www-data
@@ -39,7 +42,23 @@ in brackets):
           will only be accessible for processes running as the same username.
           This means that no passwords need to be set.
 
-     For MySQL:
+    For PostgreSQL (password-based)
+
+        $ createuser -PE patchwork
+        $ createdb -O patchwork patchwork
+
+        Once that is done, you need to tell Django about the new Database
+        settings, using local_settings.py (see below) to override the defaults
+        in settings.py:
+
+        DATABASE_ENGINE = 'postgresql_psycopg2'
+        DATABASE_NAME = 'patchwork'
+        DATABASE_USER = 'patchwork'
+        DATABASE_PASSWORD = 'my_secret_password
+        DATABASE_HOST = 'localhost'
+        DATABASE_PORT = ''
+
+    For MySQL:
         $ mysql
         > CREATE DATABASE 'patchwork';
         > CREATE USER 'www-data'@'localhost' IDENTIFIED BY '<password>';
@@ -71,7 +90,7 @@ in brackets):
          cd lib/packages/
          hg clone http://bitbucket.org/ubernostrum/django-registration/
          cd ../python
-         ln -s ../lib/packages/django-registration/registration ./registration
+         ln -s ../packages/django-registration/registration ./registration
 
         We also use some Javascript libraries:
 
@@ -119,7 +138,9 @@ in brackets):
          cd apps/
          PYTHONPATH=../lib/python ./manage.py syncdb
 
-        And add privileges for your mail and web users:
+        And add privileges for your mail and web users. This is only needed if
+        you use the ident-based approach. If you use password-based database
+        authentication, you can skip this step.
 
         Postgresql:
           psql -f lib/sql/grant-all.postgres.sql patchwork
@@ -130,14 +151,26 @@ in brackets):
 
 3. Apache setup
 
-Example apache configuration files are in lib/apache/.
+Example apache configuration files are in lib/apache2/.
+
+wsgi:
+        django has built-in support for WSGI, which supersedes the fastcgi
+        handler. It is thus the preferred method to run patchwork.
+
+        The necessary configuration for Apache2 may be found in
+
+         lib/apache2/patchwork.wsgi.conf.
+
+        You will need to install/enable mod_wsgi for this to work:
+
+         a2enmod wsgi
+         apache2ctl restart
 
 mod_python:
 
-        This should be the simpler of the two to set up. An example apache
-        configuration file is in:
+        An example apache configuration file for mod_python is in:
 
-          lib/apache/patchwork.mod_python.conf
+          lib/apache2/patchwork.mod_python.conf
 
         However, mod_python and mod_php may not work well together. So, if your
         web server is used for serving php files, the fastcgi method may suit
@@ -148,7 +181,7 @@ fastcgi:
         django has built-in support for fastcgi, which requires the
         'flup' python module. An example configuration is in:
 
-          lib/apache/patchwork.fastcgi.conf
+          lib/apache2/patchwork.fastcgi.conf
 
         - this also requires the mod_rewrite apache module to be loaded.