]> git.ozlabs.org Git - patchwork/blobdiff - docs/INSTALL
[packages] update to django 1.0
[patchwork] / docs / INSTALL
index 7d0df1234118e42687c6effbb32dae53f1778952..42822e3650aac51c9b788c15a73dbecb51174b07 100644 (file)
@@ -29,36 +29,58 @@ in brackets):
     user that your mail server runs as). On Ubuntu these are
     www-data and nobody, respectively.
 
-      PostgreSQL:
-        createdb patchwork
-        createuser www-data
-        createuser nobody
+    For PostgreSQL
 
-      MySQL:
+        $ createdb patchwork
+        $ createuser www-data
+        $ createuser nobody
+
+       - postgres uses the standard UNIX authentication, so these users
+         will only be accessible for processes running as the same username.
+         This means that no passwords need to be set.
+
+     For MySQL:
         $ mysql
        > CREATE DATABASE 'patchwork';
-        > INSERT INTO user (Host, User) VALUES ('localhost', 'www-data');
-        > INSERT INTO user (Host, User) VALUES ('localhost', 'nobody');
+        > CREATE USER 'www-data'@'localhost' IDENTIFIED BY '<password>';
+        > CREATE USER 'nobody'@'localhost' IDENTIFIED BY '<password>';
 
 2. Django setup
 
-        At the time of initial release, patchwork depends on a svn version of
-        django. I've been using svn commit 7854 - but anything after this
-        point should be fine. If your distribution provides a sufficiently
-        recent version of django, you can use that; if not, do a:
+        Set up some initial directories in the patchwork base directory:
+
+        mkdir -p lib/packages lib/python
+
+        At the time of release, patchwork depends on django version 1.0.
+        However, most distros don't provide 1.0 yet. If yours does, then you
+        can skip this step. Otherwise, do a:
+
+         cd lib/packages
+         svn checkout http://code.djangoproject.com/svn/django/tags/releases/1.0
+         cd ../python
+         ln -s ../packages/django/django ./django
+
+        We also use the django-registration infrastructure from
+        http://code.google.com/p/django-registration/
+
+         cd lib/packages/
+         svn checkout \
+             http://django-registration.googlecode.com/svn/trunk/registration/ \
+             django-registration
+         cd ../../apps
+         ln -s ../lib/packages/django-registration ./registration
 
-         cd lib/python
-         svn checkout http://code.djangoproject.com/svn/django/trunk .
+       The settings.py file contains default settings for patchwork, you'll
+       need to configure settings for your own setup.
 
-       You'll need to customise apps/settings.py to suit your database, and
-       change the SECRET_KEY variable too. While you're there, change the
-       following to suit your installation:
+       Rather than edit settings.py, create a file 'local_settings.py', and
+       override or add settings as necessary. You'll need to define the
+       following:
 
-          SECRET_KEY
-         ADMINS,
+         SECRET_KEY
+         ADMINS
          TIME_ZONE
          LANGUAGE_CODE
-         MEDIA_ROOT
 
         You can generate the SECRET_KEY with the following python code:
 
@@ -66,15 +88,29 @@ in brackets):
           chars = string.letters + string.digits + string.punctuation
           print repr("".join([random.choice(chars) for i in range(0,50)]))
 
+       If you have patchwork installed in somewhere other than /srv/patchwork,
+       you'll also need to define:
+
+         MEDIA_ROOT
+         TEMPLATE_DIRS
+
+        If you wish to enable the XML-RPC interface, add the following to
+        your local_settings.py file:
+
+         ENABLE_XMLRPC = True
+
        Then, get patchwork to create its tables in your configured database:
 
         cd apps/
-        ./manage.py syncdb
+        PYTHONPATH=../lib/python ./manage.py syncdb
 
        And add privileges for your mail and web users:
 
        Postgresql:
-         psql -f lib/sql/grant-all.sql patchwork
+         psql -f lib/sql/grant-all.postgres.sql patchwork
+
+       MySQL:
+         mysql patchwork < lib/sql/grant-all.mysql.sql
 
 
 3. Apache setup