comparison doc/installation.txt @ 1228:c9f37630cf76

doc
author Richard Jones <richard@users.sourceforge.net>
date Thu, 26 Sep 2002 06:41:46 +0000
parents 92d8e1aad2e9
children 606522be902a
comparison
equal deleted inserted replaced
1227:92d8e1aad2e9 1228:c9f37630cf76
1 ================== 1 ==================
2 Installing Roundup 2 Installing Roundup
3 ================== 3 ==================
4 4
5 :Version: $Revision: 1.27 $ 5 :Version: $Revision: 1.28 $
6 6
7 .. contents:: 7 .. contents::
8 8
9 9
10 Overview 10 Overview
60 60
61 Installation 61 Installation
62 ============ 62 ============
63 63
64 Set aside 15-30 minutes. Please make sure you're using a supported version of 64 Set aside 15-30 minutes. Please make sure you're using a supported version of
65 Python -- see `testing your python`_. There's three sections to this 65 Python -- see `testing your python`_. There's four steps to follow in your
66 installation guide: 66 installation:
67 67
68 1. `basic installation steps`_ that all installers must follow 68 1. `basic installation steps`_ that all installers must follow
69 2. `shared environment steps`_ to take if you're installing on a shared 69 2. then optionally `configure a web interface`_
70 3. and optionally `configure an email interface`_
71 4. `shared environment steps`_ to take if you're installing on a shared
70 UNIX machine and want to restrict local access to roundup 72 UNIX machine and want to restrict local access to roundup
71 3. `internet setup`_ steps to take if your tracker is to be used by the wider
72 internet community
73 73
74 Most users will only need to follow the first step, since the environment will 74 Most users will only need to follow the first step, since the environment will
75 be a trusted one. 75 be a trusted one.
76 76
77 77
93 2. To create a Roundup tracker (necessary to do before you can 93 2. To create a Roundup tracker (necessary to do before you can
94 use the software in any real fashion): 94 use the software in any real fashion):
95 95
96 a. (Optional) If you intend to keep your roundup trackers 96 a. (Optional) If you intend to keep your roundup trackers
97 under one top level directory which does not exist yet, 97 under one top level directory which does not exist yet,
98 you should create that directory now. Example: 98 you should create that directory now. Example::
99 99
100 mkdir /opt/roundup/trackers 100 mkdir /opt/roundup/trackers
101 101
102 b. Either add the Roundup script location to your ``PATH`` 102 b. Either add the Roundup script location to your ``PATH``
103 environment variable or specify the full path to 103 environment variable or specify the full path to
104 the command in the next step. 104 the command in the next step.
105 105
106 c. ``roundup-admin install`` 106 c. Install a new tracker with the command ``roundup-admin install``.
107
108 You will be asked a series of questions. Descriptions of the provided 107 You will be asked a series of questions. Descriptions of the provided
109 templates can be found in `choosing your template`_ below. Descriptions 108 templates can be found in `choosing your template`_ below. Descriptions
110 of the available backends can be found in `choosing your backend`_ 109 of the available backends can be found in `choosing your backend`_
111 below. The questions will be something like (you may have more 110 below. The questions will be something like (you may have more
112 templates or backends available): 111 templates or backends available)::
113 112
114 Enter tracker home: /opt/roundup/trackers/support 113 Enter tracker home: /opt/roundup/trackers/support
115 Templates: classic 114 Templates: classic
116 Select template [classic]: classic 115 Select template [classic]: classic
117 Back ends: anydbm, bsddb 116 Back ends: anydbm, bsddb
121 initial schema. See `Customising Roundup`_ for details on configuration 120 initial schema. See `Customising Roundup`_ for details on configuration
122 and schema changes. Note that you may change any of the configuration 121 and schema changes. Note that you may change any of the configuration
123 after you've initialised the tracker - it's just better to have valid 122 after you've initialised the tracker - it's just better to have valid
124 values for this stuff now. 123 values for this stuff now.
125 124
126 d. ``roundup-admin initialise`` 125 d. Initialise the tracker database with ``roundup-admin initialise``.
127 126 You will need to supply an admin password at this step. You will be
128 This step initialises the tracker database. You will need to supply 127 prompted::
129 an admin password at this step. You will be prompted::
130 128
131 Admin Password: 129 Admin Password:
132 Confirm: 130 Confirm:
133 131
134 Once this is done, the tracker has been created. 132 Once this is done, the tracker has been created.
135 133
136 3. XXX Set up the CGI interface 134 At this point, your tracker is set up, but doesn't have a nice user interface.
137 135 To set that up, we need to `configure a web interface`_ and optionally
138 4. XXX Set up the mail gateway 136 `configure an email interface`_.
139 137
140 138
141 Choosing Your Template 139 Choosing Your Template
142 ---------------------- 140 ----------------------
143 141
173 This effectively the same as anydbm, but uses the bsddb backend. This allows 171 This effectively the same as anydbm, but uses the bsddb backend. This allows
174 it to gain some performance and scaling benefits. 172 it to gain some performance and scaling benefits.
175 **bsddb3** 173 **bsddb3**
176 Again, this effectively the same as anydbm, but uses the bsddb3 backend. 174 Again, this effectively the same as anydbm, but uses the bsddb3 backend.
177 This allows it to gain some performance and scaling benefits. 175 This allows it to gain some performance and scaling benefits.
178 **sqlite** 176 **sqlite_**
179 This uses the SQLite embedded RDBMS to provide a fast, scaleable backend. 177 This uses the SQLite_ embedded RDBMS to provide a fast, scaleable backend.
180 There are no limitations, and it's much faster and more scaleable than the 178 There are no limitations, and it's much faster and more scaleable than the
181 dbm backends. 179 dbm backends.
182 **metakit** 180 **metakit_**
183 This backend is implemented over the metakit storage system, using Mk4Py as 181 This backend is implemented over the metakit_ storage system, using Mk4Py as
184 the interface. It scales much better than the dbm backends. 182 the interface. It scales much better than the dbm backends.
185 **gadfly** 183 **gadfly**
186 This is a proof-of-concept relational database backend, not really intended 184 This is a proof-of-concept relational database backend, not really intended
187 for actual production use, although it can be. It uses the Gadfly RDBMS 185 for actual production use, although it can be. It uses the Gadfly RDBMS
188 to store data. It is unable to perform string searches due to gadfly not 186 to store data. It is unable to perform string searches due to gadfly not
190 setup is used. It's much slower than even the dbm backends. 188 setup is used. It's much slower than even the dbm backends.
191 189
192 Note: you may set your tracker up with the anydbm backend (which is guaranteed 190 Note: you may set your tracker up with the anydbm backend (which is guaranteed
193 to be available) and switch to one of the other backends at any time using the 191 to be available) and switch to one of the other backends at any time using the
194 instructions in the `maintenance documentation`_. 192 instructions in the `maintenance documentation`_.
193
194
195 Configure a Web Interface
196 -------------------------
197
198 There are three web interfaces to choose from:
199
200 1. `web server cgi-bin`_
201 2. `stand-alone web server`_
202 3. `Zope product - ZRoundup`_
203
204 You may need to give the web server user permission to access the tracker home
205 - see the `shared environment steps`_ for information.
206
207
208 Web Server cgi-bin
209 ~~~~~~~~~~~~~~~~~~
210
211 A benefit of using the cgi-bin approach is that it's the easiest way to
212 restrict access to your tracker to only use HTTPS. Access will be slower
213 than through the `stand-alone web server`_ though.
214
215 Copy the ``cgi-bin/roundup.cgi`` file to your web server's ``cgi-bin``
216 directory. You will need to configure it to tell it where your tracker home
217 is. You can do this either:
218
219 through an environment variable
220 set the variable TRACKER_HOMES to be a colon (":") separated list of
221 name=home pairs (if you're using apache, the SetEnv directive can do this)
222 directly in the ``roundup.cgi`` file itself
223 add your instance to the TRACKER_HOMES variable as ``'name': 'home'``
224
225 The "name" part of the configuration will appear in the URL and identifies the
226 tracker (so you may have more than one tracker per cgi-bin script). Make sure
227 there are no spaces or other illegal characters in it (to be safe, stick to
228 letters and numbers). The "name" forms part of the URL that appears in the
229 tracker config TRACKER_WEB variable, so make sure they match. The "home"
230 part of the configuration is the tracker home directory.
231
232 Stand-alone Web Server
233 ~~~~~~~~~~~~~~~~~~~~~~
234
235 This approach will give you the fastest of the three web interfaces. You may
236 investigate using ProxyPass or similar configuration in apache to have your
237 tracker accessed through the same URL as other systems.
238
239 The stand-alone web server is started with the command ``roundup-server``. It
240 has several options - display them with ``roundup-server -h``.
241
242 The tracker home configuration is similar to the cgi-bin - you may either edit
243 the script to change the TRACKER_HOMES variable or you may supply the
244 name=home values on the command-line after all the other options.
245
246 To make the server run in the background, use the "-d" option, specifying the
247 name of a file to write the server process id (pid) to.
248
249
250 Zope Product - ZRoundup
251 ~~~~~~~~~~~~~~~~~~~~~~~
252
253 ZRoundup installs as a regular Zope product. Copy the ZRoundup directory to
254 your Products directory either in INSTANCE_HOME/Products or the Zope
255 code tree lib/python/Products.
256
257 When you next (re)start up Zope, you will be able to add a ZRoundup object
258 that interfaces to your new tracker.
259
260
261 Configure an Email Interface
262 ----------------------------
263
264 If you don't want to use the email component of Roundup, then remove the
265 "``nosyreator.py``" module from your tracker "``detectors``" directory.
266
267 There are three supported ways to get emailed issues into the
268 Roundup tracker. You should pick ONE of the following, all
269 of which will continue my example setup from above:
270
271 As a mail alias pipe process
272 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
273
274 Set up a mail alias called "issue_tracker" as (include the quote marks):
275 "``|/usr/bin/python /usr/local/bin/roundup-mailgw <tracker_home>``"
276
277 In some installations (e.g. RedHat 6.2 I think) you'll need to set up smrsh so
278 sendmail will accept the pipe command. In that case, symlink
279 ``/etc/smrsh/roundup-mailgw`` to "``/usr/local/bin/roundup-mailgw``" and change
280 the command to::
281
282 |roundup-mailgw /opt/roundup/trackers/support
283
284 To test the mail gateway on unix systems, try::
285
286 echo test |mail -s '[issue] test' support@YOUR_DOMAIN_HERE
287
288 As a regular cron job using a mailbox source
289 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
290
291 Set ``roundup-mailgw`` up to run every 10 minutes or so. For example::
292
293 10 * * * * /usr/local/bin/roundup-mailgw /opt/roundup/trackers/support mailbox <mail_spool_file>
294
295 Where the ``mail_spool_file`` argument is the location of the roundup submission
296 user's mail spool. On most systems, the spool for a user "issue_tracker"
297 will be "``/var/mail/issue_tracker``".
298
299 As a regular cron job using a POP source
300 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
301
302 To retrieve from a POP mailbox, use a similar cron entry to the mailbox one::
303
304 10 * * * * /usr/local/bin/roundup-mailgw /opt/roundup/trackers/support pop <pop_spec>
305
306 where pop_spec is "``username:password@server``" that specifies the roundup
307 submission user's POP account name, password and server.
195 308
196 309
197 Shared Environment Steps 310 Shared Environment Steps
198 ------------------------ 311 ------------------------
199 312
227 2. runs regular polls for email 340 2. runs regular polls for email
228 3. runs regular checks (using cron) to ensure the daemon is up 341 3. runs regular checks (using cron) to ensure the daemon is up
229 4. optionally has no login password so that nobody but the "root" user 342 4. optionally has no login password so that nobody but the "root" user
230 may actually login and play with the roundup setup. 343 may actually login and play with the roundup setup.
231 344
232 Internet Setup 345
233 -------------- 346 Maintenance
234 347 ===========
235 1. There are two supported ways to get emailed issues into the 348
236 Roundup tracker. You should pick ONE of the following, both 349 Read the separate `maintenance documentation`_ for information about how to
237 of which will continue my example setup from above: 350 perform common maintenance tasks with Roundup.
238
239 a. Set up a mail alias called "support" as::
240
241 "|/opt/roundup/bin/roundup-mailgw /opt/roundup/trackers/support"
242
243 If you use Sendmail's ``smrsh`` mechanism, please read the notes
244 under 'Platform-Specific Notes'
245
246 b. OR... Configure roundup-mailgw to run every 10 minutes or
247 so via ``cron``. My cron job would be (these 2 lines all on one
248 line)::
249
250 10 * * * * /opt/roundup/bin/roundup-mailgw
251 /opt/roundup/trackers/support /var/mail/support
252
253 If you don't want to use the email component of Roundup, then remove the
254 "``nosyreator.py``" module from your tracker "``detectors``" directory.
255
256 2. Test the email gateway. Under most flavors of UNIX, this
257 can be done by::
258
259 echo test | mail -s '[issue] test' support@YOUR_DOMAIN_HERE
260
261 XXX mention HTTPS
262 XXX mention Basic vs. cookie auth
263 351
264 352
265 Upgrading 353 Upgrading
266 ========= 354 =========
267 355
268 Read the separate `upgrading document`_, which describes the steps needed to 356 Read the separate `upgrading document`_, which describes the steps needed to
269 upgrade existing tracker trackers for each version of Roundup that is 357 upgrade existing tracker trackers for each version of Roundup that is
270 released. 358 released.
271
272
273 ZRoundup
274 ========
275
276 Install roundup as usual (see installation_).
277
278 ZRoundup installs as a regular Zope product. Copy the ZRoundup directory to
279 your Products directory either in an TRACKER_HOME/Products or the Zope
280 code tree lib/python/Products.
281
282 You will need to create the tracker using the roundup-admin tool (step 2 in
283 installation_).
284
285 When you next (re)start up Zope, you will be able to add a ZRoundup object
286 that interfaces to your new tracker.
287 359
288 360
289 Further Reading 361 Further Reading
290 =============== 362 ===============
291 363
329 .. _`getting started`: getting_started.html 401 .. _`getting started`: getting_started.html
330 .. _`roundup specification`: spec.html 402 .. _`roundup specification`: spec.html
331 .. _`customising roundup`: customizing.html 403 .. _`customising roundup`: customizing.html
332 .. _`upgrading document`: upgrading.html 404 .. _`upgrading document`: upgrading.html
333 .. _`maintenance documentation`: maintenance.html 405 .. _`maintenance documentation`: maintenance.html
334 406 .. _sqlite: http://www.hwaci.com/sw/sqlite/
407 .. _metakit: http://www.equi4.com/metakit/
408

Roundup Issue Tracker: http://roundup-tracker.org/