]> 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.
 
     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
 
         $ 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.
 
           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>';
         $ 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
          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:
 
 
         We also use some Javascript libraries:
 
@@ -119,7 +138,9 @@ in brackets):
          cd apps/
          PYTHONPATH=../lib/python ./manage.py syncdb
 
          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
 
         Postgresql:
           psql -f lib/sql/grant-all.postgres.sql patchwork
@@ -130,14 +151,26 @@ in brackets):
 
 3. Apache setup
 
 
 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:
 
 
 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
 
         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:
 
         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.
 
 
         - this also requires the mod_rewrite apache module to be loaded.