add missing unique_together constraint for BackendSubscription
[mygpo.git] / INSTALL
blob04ba04ab47a465204908e955395bdb5e1ef9e64e
2                    Deployment instructions for my.gpodder.org
3                    ------------------------------------------
5 Dependencies:
7   * python (>= 2.5)
8   * MySQL Server (>= 5.0)
9   * python-mysqldb
10   * lighttpd
11   * python-feedparser
12   * python-dateutil
13   * python-simplejson
14   * python-flup
15   * python-imaging
16   * python-pybabel
18 It's recommended that you use the development version of the following
19 libraries, as we're living on the bleeding edge here:
21   * django
22     svn co http://code.djangoproject.com/svn/django/trunk/ django
24   * django-registration
25     hg clone http://bitbucket.org/ubernostrum/django-registration/
27   * django-haystack
28     git clone git://github.com/toastdriven/django-haystack.git
30   * whoosh
31     hg clone http://bitbucket.org/mchaput/whoosh/
33 You can set up the repositories in this source tree by creating a
34 "upstream" directory in which you checkout the above code bases.
36 Then, you create a "lib" folder and symlink the packages from the
37 "upstream" directory there:
39   cd lib/
40   ln -s ../upstream/django/django
41   ln -s ../upstream/whoosh/src/whoosh
42   ln -s ../upstream/django-haystack/haystack
43   ln -s ../upstream/django-registration/registration
44   cd ..
46 1. Creating the database
48 In MySQL, do the following (the SUPER grant is needed for
49 triggers to work in MySQL 5.0):
51   CREATE DATABASE mygpo;
52   GRANT ALL ON mygpo.* TO mygpo@localhost WITH GRANT OPTION;
53   GRANT SUPER ON *.* TO mygpo@localhost;
54   GRANT ALL ON mygpo.* TO mygpo@'%' WITH GRANT OPTION;
55   GRANT SUPER ON *.* TO mygpo@'%';
56   FLUSH PRIVILEGES;
58 Make sure that MySQL listens only on localhost, or if in
59 doubt, assign a password to the "mygpo" user!
61 2. Initialize the database
63 Run in the mygpo/ subdirectory (possibly after setting the
64 DB parameters in mygpo/settings.py):
66   python manage.py syncdb
68 When asked to create a superuser, you can say YES.
70 Now, run every SQL-Script in the install/ subdirectory, starting
71 with "create.sql" and working your way all the way through the
72 update scripts (these are split because we are doing incremental
73 schema updates on the production server).
75 If you are really doing an initial installation, you can also use
76 the "install.sh" script which runs all scripts on the local MySQL
77 server in the correct order. You should not use this script to
78 upgrade the database, as data loss may occur. You have been warned.
81 3. Setup the web server using lighttpd
83 There is a mygpo.lighttpd.conf file shipped with the source. Please
84 customize it to your needs, and then include it from your lighttpd
85 main configuration file, for example like this:
87   include "/srv/mygpo/mygpo.lighttpd.conf"
89 4. Enable lighttpd modules
91 The modules you need to enable are: rewrite, fastcgi. On Debian,
92 you can enable these using the "lighty-enable-mod" command:
94   lighty-enable-mod rewrite fastcgi
96 5. Restart lighttpd
98 On Debian:
100   /etc/init.d/lighttpd restart