|< Day Day Up >|
Before you begin setting up RT, you need to satisfy a few requirements. RT is complex, and the requirements are fairly strict, as Perl applications go.
2.1.1. Perl 5.8.3 or Later
You must have a recent version of Perl installed. RT will run on older versions of Perl, but bugs in the Unicode implementation in older versions may cause data corruption. (And you really don't want to have to explain that to your boss.)
You do not need to install the same Perl that you use for RT as your system-wide version of Perl (i.e., as /usr/bin/perl). You can install it off to the side, in /usr/local or wherever you'd like. If you choose to use mod_perl, it must be linked against this installation of Perl.
If the server running RT also runs other services (especially other mod_perl applications), you might want to create an installation of Perl specifically for RT to ensure that there are no dependency or version problems.
2.1.2. A Database
Ultimately, RT is all about its database. You have several options here:
RT runs equally well on MySQL and PostgreSQL. Oracle support is relatively new, but it should be as stable as the MySQL and PostgreSQL. An option for development is SQLite, a lightweight single-file database engine. We don't recommend you run it in a production environment, because it doesn't support high levels of concurrency well. Check the README file that comes with RT to see if the latest version supports any other databases.[*] You should choose which database to use based on what's familiar to you and what resources you have available.
If you don't have a preferred database, we suggest you choose MySQL. It is the easiest supported database to set up and maintain.
It may be possible to make RT install on earlier versions of MySQL or PostgreSQL, but as with earlier versions of Perl, you may run into trouble. In general, we recommend using the latest stable release version of whichever database you choose. At the time of writing, that version is MySQL 4.1.10 and PostgreSQL 8.0.1.
2.1.3. A Web Server
For production uses, you want a scalable web server (instead of the standalone_httpd that comes with RT). Any of the following will do:
As with choice of database, choice of web server often depends on what you already have installed. If you're building a stand-alone RT system, the most stable configuration is the latest Apache 1.3 series release with the latest compatible mod_perl 1.x release.
At the time of this writing, mod_perl 2.0 has just been released. Some of the libraries that RT depends on haven't been put through their paces with it. During the mod_perl 2 beta cycle, most of the kinks have been worked out, but there could still be some gremlins hiding in the corners. (Make sure you build your Apache 2.0 with the prefork MPM to avoid odd threading issues.)
For more information on choosing between different Apache versions, you might want to look at Apache: The Definitive Guide, 3rd Edition (O'Reilly).
Most everyone runs RT on an Apache or Apache-derived web server, but RT's FastCGI server is known to play well with other servers. If you use something else, like SunOne/Netscape/iPlanet or WebStar and have a FastCGI plugin for it, it should work.
2.1.4. Perl Modules
RT makes heavy use of freely available Perl libraries available on the CPAN. To make your installation process somewhat smoother, Best Practical has created a (mostly) automated procedure using the CPAN.pm module to download and install libraries from CPAN. See "Step 6: Check for RT's Perl Dependencies" later in this chapter. Depending on your system configuration, there are still a couple of difficult modules that must be installed manually mostly ones that require external libraries to be present, like your database's client libraries or the Apache libraries.
A list of required modules and versions can be found in Appendix D.
|< Day Day Up >|