File: README.Debian

package info (click to toggle)
roundup 1.2.1-10%2Betch1
  • links: PTS
  • area: main
  • in suites: etch
  • size: 4,764 kB
  • ctags: 3,756
  • sloc: python: 30,296; sh: 1,497; perl: 23; makefile: 22
file content (195 lines) | stat: -rw-r--r-- 7,124 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
==================
roundup for Debian
==================

For upgrading your roundup data and templates from older roundup
versions, see /usr/share/doc/roundup/doc/upgrading.txt.gz.

The following documentation is adjusted to the Debian roundup
directory layout. More information on tracker installation
can be found at /usr/share/doc/roundup/doc/installation.txt.gz.


Caution: If you want to run roundup under the control of runit,
please link it into the service directory as 'roundup'.
Otherwise, automatic upgrades might fail.



0. Backend selection
====================

Note that when selecting back ends one has to consider the desired
performance. The `anydbm` module is the slowest and should only
be used for small demo trackers. Installing python-sqlite enables
a somewhat faster flat-file database backend called `sqlite`.
The best back ends with regard to performance, scaling up to several
thousand issues in the tracker DB, are the big database packages
PostgreSQL (installed with python-psycopg, backend `postgresql`) and
MySQL (installed with python-mysqldb, backend `mysql`).


1. System-wide tracker installation
===================================

a) Installation
   ------------

   The default system-wide tracker directory is /var/lib/roundup/trackers/.
   To install a new tracker `mytracker', issue as root:

   # roundup-admin install
   Enter tracker home: /var/lib/roundup/trackers/mytracker
   Templates: classic
   Select template [classic]: classic
   Back ends: anydbm, mysql, postgresql, metakit, sqlite
   Select backend [anydbm]: anydbm

   Then, edit /var/lib/roundup/trackers/mytracker/config.ini and adjust
   the values.

   IMPORTANT: don't forget to initialise the tracker database with:
   # roundup-admin initialise

b) I. Web gateway as standalone http server
   ----------------------------------------

   Edit /var/lib/roundup/trackers/mytracker/config.ini and set TRACKER_WEB
   to "http://localhost:8088/mytracker/".

   Since the server won't run as root, you must use a different user, eg.
   www-data (the Debian standard web server's user id):

   # chown -R www-data:www-data /var/lib/roundup/trackers/mytracker

   Then run (as a first test):
   # su www-data -c 'roundup-server -p 8088 mytracker=/var/lib/roundup/trackers/mytracker'

   To install the roundup server properly, install the `runit` package and
   edit the file `/etc/roundup/service/run`.
   After that, add a symbolic link to enable the roundup server:
   # ln -s /etc/roundup/service /var/service/roundup

   The roundup server should start within 5 seconds, logging to
   `/var/log/roundup/current`.
   You can control the server with the `roundup-ctl` script.

   An alternative way to daemonize the roundup-server is given using
   start-stop-daemon(8). See the example script located at
   `/usr/share/doc/roundup/examples/roundup.rc-debian`.

   II. Web gateway as CGI script
   -----------------------------

   Note that this solution is somewhat slower then the standalone
   http server since every request is starting up a Python instance.

   Add the tracker to TRACKER_HOMES variable in /etc/roundup/cgiconf.py:
   TRACKER_HOMES = {
     'mytracker': '/var/lib/roundup/trackers/mytracker',
   }
   Or you can set an environment variable with Apache mod_env:
   <Directory "/usr/lib/cgi-lib">
     SetEnv TRACKER_HOMES mytracker=/var/lib/roundup/trackers/mytracker
   </Directory>

   IMPORTANT: under most web server configurations, cgi scripts are
   executed under a certain user. This user must have write access
   to the database directory and all files in it. All other tracker
   files must at least be readable by this user.
   For example apache runs roundup.cgi under user and group www-data,
   so you have to adjust the files like this:
   # chown -R www-data:www-data /var/lib/roundup/trackers/mytracker


   III. Web gateway with mod_python
   --------------------------------

   Using mod_python is much faster than a CGI script which loads a Python
   interpreter for every request. First install the Debian package
   `libapache2-mod-python` and enable the mod_python module.
   Then adjust the example apache config file located under
   /usr/share/doc/roundup/examples/roundup_apache and copy it into
   "/etc/apache2/conf.d/roundup".

   After reloading apache the tracker instance will be accessible
   under the URL "http://localhost/roundup/mytracker/".

c) Email gateway
   Define an email alias mytracker@localhost as a pipe to:
   |/usr/bin/roundup-mailgw /var/lib/roundup/trackers/mytracker

   If you are an Exim4 user, please refer to the upstream documentation file
   "installation.txt" and to the file /usr/share/doc/exim4/README.* files as
   well.


2. Private per-user tracker installation
========================================

a) Installation
   Each user can have their own trackers. Just replace the above
   pathnames with custom ones, for example /home/user/mytracker (in
   the following also referenced with $HOME/mytracker).

b) I. Web gateway as standalone http server
   ----------------------------------------

   Edit $HOME/mytracker/config.ini and set TRACKER_WEB
   to "http://localhost:8088/mytracker/".
   Then run (as a first test):
   $ roundup-server -p 8088 mytracker=/home/user/mytracker

   To install the roundup server properly, install the `runit` package and
   make a runsvdir directory:
   $ mkdir $HOME/service
   Then copy (with options -rL) the roundup service files into it:
   $ cp -rL /etc/roundup/service $HOME/service/roundup

   Edit the file `$HOME/service/roundup/run` to suit your needs.
   After that start the runit control program:
   $ runsvdir $HOME/service &

   The roundup server should start within 5 seconds, logging to
   `$HOME/service/roundup/log/main/current`.
   You can control the server with the `roundup-ctl` script, for example:
   $ roundup-ctl -d $HOME/service/roundup down

   To stop the runsvdir process cleanly send it a HUP signal with the
   kill(1) command.

   II. Web gateway as CGI script
   -----------------------------

   You can also use the system-wide installed web server, but
   remember as above that the roundup.cgi script is executed as a
   certain user and group which must have write access to the database.

   Copy /usr/share/doc/roundup/examples/roundup.cgi to your local cgi
   directory (usually $HOME/public_html/cgi-lib/) and make sure it is
   executable.
   Add the tracker home:
   TRACKER_HOMES = {
     'mytracker': '/home/user/mytracker',
   }

c) Mail gateway
   With qmail, a user can set up a mail gateway with:
   $ chmod +t $HOME
   $ echo "|/usr/bin/roundup-mailgw $HOME/mytracker" > \
     $HOME/.qmail-mytracker
   $ chmod -t $HOME


3. Long running roundup-server instances
========================================

Note that long running Python processes may deplete your system memory
since the current [1]C Python implementation never free()s allocated
memory.

[1] http://evanjones.ca/python-memory.html


For more information, including installing the Zope frontend (ZRoundup),
read /usr/share/doc/roundup/doc/installation.txt.gz.