Request Tracker

Request Tracker (RT) is a battle-tested issue tracking system which thousands of organizations use for bug tracking, help desk ticketing, customer service, workflow processes, change management, network operations, youth counselling and even more. Organizations around the world have been running smoothly thanks to RT for over 10 years.

About This Guide
This guide was written using the latest version of RT available, which at the time of this writing is 4.2.9.

This guide assumes that you are familiar enough with Apache or Lighttpd and will not delve into the details of either.

Whether or not you use virtual hosting holds no bearing on the bulk of this guide. It will be noted if there's something significantly different that must be done in a virtual hosting environment.

Requirements
RT requires a database backend and works equally well with either MySQL or PostgreSQL. You must enable at most one of their USE flags:

RT also requires a Web server. The default is to run on Apache, but you can use lighttpd. To use lighttpd, you must enable its USE flag:

Emerge
Many of the packages RT depends on, including RT's own package, are keyword masked. Use the following command to have a patch automatically generated for you.

Once the previous command has finished, use  to apply the patch:

Run emerge again:

If you have the  USE flag enabled, you'll need to run   to finish the installation:

Database
RT provides a script called  which creates the initial database and a database user for you.

Configuring RT
RT uses an overlay system for configuration. This means that the default configuration is declared in, and that custom configurations are declared in. will not exist until you create it. Any custom configuration in will be preserved in upgrades, while the default configurations,, will be overwritten.

You can copy just certain sections from to, or you can create a full copy.

The configuration file is well documented, but you may want to consult the official documentation.

Sendmail Alternatives
If you don't have, or don't want, a full-blown SMTP server running, you can use a lightweight client to send the emails instead as long as it provides a sendmail-compatible executable. You can pass specific options via your RT_SiteConfig.pm.

Configuring the Web Server
Request Tracker can be run on any PSGI compliant server. However, Apache and Lighttpd are proven platforms.

Apache
Only information pertinent to RT will be covered. Additional information about Apache is covered elsewhere.

There's little information about which method works better for RT on Apache, and benchmarks have shown mod_perl and FastCGI to be nearly equal.

mod_perl
Save the following snippet within the individual  tags you installed RT to or.

In case you haven't done so already, instruct Apache to start with mod_perl enabled.

You may need to change the owner and group of RT's Mason data directory.

mod_fastcgi
NOTE: If you wish to use, you need to instruct   to install   with appropriate permissions. Edit :

Save the following snippet within the individual  tags you installed RT to or.

Edit  to instruct   to start with   and enabled.

If this is your first time installing apache, you will want it to start on bootup.

Restart apache so that all changes made so far will take effect.

lighttpd (untested)
You can run RT on  +. The ebuild will install an initscript  and a config file.

NOTE: If you wish to use, you need to instruct   to install   with appropriate permissions. Edit :

You will need to edit  to set RTPATH to the root of your installation. You shouldn't need to edit anything else in that file.

Also note that, under the default configuration, the socket in  is owned by rt:lighttpd, and is chmod-ded to g+rwx. This means that user  needs to be in the   group. One way to do that is to use. If you don't like that, edit  to suit your needs.

You will also need to edit  to enable.


 * Uncomment  under
 * set
 * set  to something like this:

Be sure to set the correct path to socket (same as  in  ).

Now, start  and  :

If things don't seem to be working, check the  logs in   and edit   as per the comments in the file to make the   daemon more verbose.

Note: you should be able to use this initscript with any -enabled webserver. Please send me an email if you get  to work with any other webserver.

Feeding Emails Into RT
There are a variety of methods to feed email into RT. If you have an MTA -- such as Postfix, Exim, or the real Sendmail -- you'll be better off using it. Follow the MTA On Same Server portion of this section.

However, if you're fetching email from a remote server, you don't have to install an MTA, just 2 or 3 smaller utilities. Follow the Without An MTA portion of this section.

MTA On Same Server
TODO

Without An MTA
There are 2 utilities you'll need: fetchmail and msmtp. In case you're using aliases delivered to the same email box, you'll want procmail as well.

Log In
Use your browser to log into RT. Username is, and password is. Change your password.

Special Thanks
Thank you to all those who worked on the original version of this guide.