Thomas Mullaly

DevOps, Security and IT Leadership

Request Tracker 4.2.9 Install on Ubuntu 14.04

I started a new job last week and one of the systems they don’t have is a ticket request tracker. I’ve come to be dependent on Request Tracker (RT) from my time at Northeastern University and at UMass Boston. At Orange, we managed our tasks with a share point list and an email alias, which worked fine, but looking back, I should have implemented RT.

If you’re not familiar with RT, the first release in 1996 and was written by Jesse Vincent. RT is an issue ticket request tracker which began with an email interface and a tcl/tk interface. Now there is a web interface. The web interface isn’t the best, but the latest version (4.2) is much better looking than the releases of the past. I wish they would just twitter bootstrap the who thing and not bother or worry about the css.

The web interface is really for the help desk, not the ticket requestors. The ticket requests will continue to be primariy entered by sending email to the system.

I’m building this as a KVM Domain so let’s get started and clone the Ubuntu 14.04 gold master. Again, I realize I should be doing this in a devops-y way, but the install still needs to be documented before I can automate it. Also, I don’t want to use the package manager to install RT becasue I want the latest version.

virt-clone --connect=qemu:///system -o UbuntuServer1404 -n RT -f RT.qcow2

Login to the system when it comes up, become root with “sudo -i” and edit the following files to change the hostname to rt:

vi /etc/hostname
vi /etc/hosts

Now reboot, login again, become root and update the system and reboot:

sudo -i
apt-get update
apt-get upgrade
reboot

Login again, become root and cd into /usr/local/src. Download the latest version of RT from the author’s website, Best Practical. Gunzip and extract the tar file, cd into the newly created directory.

cd /usr/local/src
wget https://download.bestpractical.com/pub/rt/release/rt.tar.gz
gunzip rt.tar.gz
tar -xvf rt.tar

I’ve already gone through and figured out the package dependancies:

apt-get install build-essential mysql-server apache2 postfix mailutils openssl libyaml libyaml-appconfig-perl openssl-dev libexpat1-dev

Now let’s see what’s missing:

./configure
make testdeps

Configure CPAN

/usr/bin/perl -MCPAN -e shell

‘make fixdeps’ will install all the CPAN modules:

make fixdeps

Test again to see that all dependancies have been met:

make testdeps

Once you have met the dependancies you can install RT:

make install

Then

make initialize-database

Now comes the tricky part. First add mod_fastcgi:

apt-get install libapache2-mod-fastcgi
a2enmod fastcgi
apache2ctl graceful

Create the Request Tracker apache conf, you can compy and paste this into your terminal, hit ctrl-d to save. This is the trick, the example on the RT website is incorrect, notice I’ve commented out Order and Allow and added the Require statement.

cat > /etc/apache2/sites-available/request-tracker.conf
# Tell FastCGI to put its temporary files somewhere sane; this may
    # be necessary if your distribution doesn't already set it
    #FastCgiIpcDir /tmp

    FastCgiServer /opt/rt4/sbin/rt-server.fcgi -processes 5 -idle-timeout 300

    <VirtualHost rt.thunderhouse.com>
        ### Optional apache logs for RT
        # Ensure that your log rotation scripts know about these files
        # ErrorLog /opt/rt4/var/log/apache2.error
        # TransferLog /opt/rt4/var/log/apache2.access
        # LogLevel debug

        AddDefaultCharset UTF-8

        ScriptAlias / /opt/rt4/sbin/rt-server.fcgi/

        DocumentRoot "/opt/rt4/share/html"
        <Location />
            #Order allow,deny
            #Allow from all
	        Require all granted

            Options +ExecCGI
            AddHandler fastcgi-script fcgi
        </Location>
    </VirtualHost>

enable it:

a2ensite request-tracker.conf

restart apache

apachectl restart

Hit the server with a browser and you should be on your way. The default account is root/password.