RT: Request Tracker

rt-request-tracker

A friend of mine is installing RT for use in the company he works for. I thought I’d give it a spin to see what the fuss was about. Here’s what happened!

This was based on http://wiki.bestpractical.com/index.cgi?InstallationGuides and the README distributed with RT.

What we need:

  • root
  • Perl
  • MySQL (Although you can use Oracle, Sqlite, Postgres)
  • Apache

Download and extract RT:

wget http://download.bestpractical.com/pub/rt/release/rt-3.6.5.tar.gz
tar xzvf rt-3.6.5.tar.gz

Configure RT:

cd rt-3.6.5
./configure –help
./configure (with the flags you want)

Mine looked like this:

./configure –prefix=/usr/local/RT –with-db-type=mysql –with-db-database=rt –with-db-rt-user=rt –with-db-rt-pass=rtpass

Now we must fix dependancies as required with these commands:

make testdeps
make fixdeps

Sometimes you might have to run fixdeps several times to make sure all of the required Perl modules get installed!
…and eventually install:

make install

My install returned the following:

Congratulations. RT has been installed.
You must now configure RT by editing /usr/local/RT/etc/RT_SiteConfig.pm.

When I looked in /usr/local/RT/etc/ there is a file called RT_Config.pm which contains all the settings as specified in the configure command line. Looking in here I saw the line:

Set($DatabasePassword , ‘rtpass’);

So I added this line to the RT_SiteConfig.pm file.
Next step:

make initialize-database

Now that’s done, it’s time to get our web interface running since that’s what we want our users to use! This command installes a Perl/Apache module that’s needed for database integration:

perl -MCPAN -e’install Apache::DBI’

Now we need to edit our Apache configs so that we can see RT in our browsers. In this simple config, we get Apache to listen to requests on port 81, and serve RT from there. You should be able to modify this for your needs and will al little imagination, get RT served from any url you want.

edit /usr/local/etc/apache22/extra/httpd-vhosts.conf

…and add these lines…

NameVirtualHost *:81

# ServerName your.rt.server.hostname
DocumentRoot /usr/local/RT/share/html
AddDefaultCharset UTF-8

PerlModule Apache::DBI
PerlRequire /usr/local/RT3/bin/webmux.pl

< Location />
SetHandler perl-script
PerlHandler RT::Mason
Order allow,deny
Allow from all
< /Location >

RedirectMatch permanent (.*)/$ http://10.151.102.40:81$1/index.html

..and for good measure…

edit /usr/local/etc/apache22/httpd.conf

…and add this line…

Listen 10.151.102.40:81

Restart Apache:

apachectl restart

Configure mail:

edit /etc/aliases

and add these lines:

#rt stuff
rt: “|/usr/local/RT/bin/rt-mailgate –queue general –action correspond –url http://yourhostname:81″
rt-comment: “|/usr/local/RT/rt-mailgate –queue general –action comment –url http://yourhostname:81″

The www interface seems to work nicely and I get mails when work is assigned to me, edited etc. If this machine could accept external mail, I could reply and add to the tickets too ;)

Remember that the default login is root and the default password is password

Have fun, RTIR coming soon…

One Response

  1. EDinATL Says:

    thanks!

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.