RT is a fairly large, complex piece of software. It makes some (ok, lots of) assumptions about the environment in which it runs, which you will have to fulfill during installation.
If you're working with an already installed RT you don't need to know any of this now.
To properly install RT you'll need some things:
- root access to the server you're going to install it on
- how to add aliases to your mail system
- how to start and stop your web server
- how your distribution mangles the webserver configuration files.
Make choice Edit
In installing an application as large and pervasive as RT, which depends on many other things, you will often have to make the decision "do I provide it a separate version of the thing it requires, or do I upgrade my system's facility to the proper, new-enough version?" This is a difficult question to answer in some cases, as it depends on the level of systems administration experience you have. We can't answer it for you but we'll attempt to make clear what effect the possible choice may have on how you install and run the package. See the Installation Guides - your distro may have a packaged version of RT.
RT source code Edit
The latest version is available at http://www.bestpractical.com/rt/download.html
WARNING: For RT 3.0.0 and greater you need Perl 5.8.3 or newer. It contains significantly enhanced support for Unicode and non-English languages. Perl 5.8.3 fixed major bugs - using prior versions may cause data corruption. If your distribution uses an older Perl version, you can compile your own - see CompilingPerl. Or you can upgrade your system's version of perl.
Note that if you're using a packaged perl and a packaged Apache, you probably need to use your distribution's packaged Apache::DBI and mod_perl as well, and all of these need to be version compatible with RT -- it's vaguely possible this might mean you need to uninstall all of the managed packages and build these things from scratch... at which point you might want to reconsider which distribution you want to use.
If you will be running RT 3.0.x or earlier under FastCGI, you need support for setgid perl scripts. RT 3.2 and later do not need this. See details below and on the FastCGIConfiguration page. (There really isn't much reason to newly install a version that old, so that's all we'll say about this now.)
Perl modules Edit
If all of that sounds vague, don't worry: a tool included with RT takes care of the installation of most of these automatically (see ManualInstallation). The tool supplied with RT uses Perl's CPAN system (http://www.cpan.org) to install modules. Some operating systems package some or all of the modules required and you may be better off installing the modules that way.
And, finally, you might find that you'll need to mix these two approaches; on SuSE 10.3 for example, fixdeps will install everything except Apache::DBI.
Currently (April,2008 - RT 3.6.6) the dependency "HTML::FormatText" will not install due to a failure in a subdependency: "Font::AFM". The latter fails with a test result: t/afm.....skipped (no reason given). You will need to install this manually with CPAN using the command "force install Font::AFM". Afterwards, the "HTML::FormatText" module can be installed ok.
You can configure to avoid this requirement during the setup configuration of CPAN by telling the configuration dialog that there is no "ncftp" executable and then selecting only "http" CPAN Mirrors. This may also be advantageous if your system is behind a corporate firewall which does not allow FTP.
Database backend Edit
RT stores its data in a database. You can choose from the following database management systems (DBMS):
- We recommend MySQL 4.0.18 or newer *with support for InnoDB*.
- PostgreSQL 7.4 or later will also work
- Oracle 9iR2 or newer
If your system already has a DBMS engine installed and working, you're probably best to use that one.
Web server Edit
mod_perl vs FastCGI Edit
You don't need both mod_perl and FastCGI, you have to install and configure only one thing. You should choose the software you're familiar with, but if you're not familiar with either, don't panic, here are short descriptions of both projects and how well each works with RT.
[mod_perl] project has two major stable releases: mod_perl 1.x and mod_perl 2.x; in the middle there is development versions mod_perl 1.9x. Let see which releases you can use:
- mod_perl 1.x is supported release, but this mean you must use Apache 1.3.x, because mod_perl 1.x works only with Apache 1.3.x. mod_perl 1.x must be built with
EVERYTHING=1option(most distribution packages have this option on). For an excerpt, see ManualApache. Using mod_perl with Apache 1.3.x could lead to massive stability problems.
- We don't recommend to use development 1.9x versions, because of development status. Also mod_perl 2.x was released and it's stable branch of the 1.9x development versions, so you wouldn't get much support from mod_perl users and developers if you use mod_perl 1.9x. RT-3.4.4 and greater won't work with development 1.9x releases.
- mod_perl 2.0 has been released with major API-changes in mod_perl 2.0-RC3 which lead to incompatibities that also affect RT, see this mailing-list message.
- So RT-3.4.3 or any prior versions is totally unsupported on mod_perl 2.x.
- mod_perl 2.x has been marked as supported in RT 3.4.4. There is no mentioning of incomplete support in any way. See this mailing list message.
- If you experience issues getting mod_perl 2.x+apache 2.x up and running, consider using apache 1.3.x + mod_perl 1.x or FastCGI instead, though this is much less likely than it used to be.
For CentOS-4.6 and RT 3.6.6, you can get a supported Web Stack by enabling the "centosplus" repository in Yum and doing a "yum update". If you try to use mod_perl2 on CentOS4 without "centosplus" you will lose hair.
In RT versions prior to 3.2, RT's FastCGI handler runs setgid to the "rt" group to protect RT's database password. You may need to install a special "suidperl" package or reconfigure your perl setup to support "setuid scripts" if you intend to use RT with FastCGI.
- Debian GNU/* 3.0+: the package which installs suidperl is called perl-suid, and should work without any tweaking.
- FreeBSD 4.2+: the package is called sperl, and should install a suidperl that just works
- Conectiva Linux 6.0+: suidperl is installed by default when perl is installed, but the program /bin/suidperl is not setuid. You must use chmod to make it setuid.