Mercurial > p > roundup > code
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 |
