Note: This page should be considered incomplete and unreliable until this notice is removed.

Note: This information was generated for use with Ubuntu Lucid *Beta* as of 2010-03-27.

Note: The steps below were conducted in a Ubuntu Desktop KVM/libvirtd virtual machine running Ubuntu Server. It cannot be done with 256MB of RAM allocated to the VM, it runs out of memory and the forks fails utterly. 384MB of RAM seemed to work just fine though.

The following description comes from the RT creators/maintainers at http://bestpractical.com/rt/

  • RT is an enterprise-grade ticketing system which enables a group of people to intelligently and efficiently manage tasks, issues, and requests submitted by a community of users. The RT platform has been under development since 1996, and is used by systems administrators, customer support staffs, IT managers, developers and marketing departments at thousands of sites around the world. Written in object-oriented Perl, RT is a high-level, portable, platform independent system that eases collaboration within organizations and makes it easy for them to take care of their customers. RT manages key tasks such as the identification, prioritization, assignment, resolution and notification required by enterprise-critical applications including project management, help desk, NOC ticketing, CRM and software development. RT is used by Fortune 100 companies, government agencies, educational institutions, and development organizations worldwide.

Step 1: Starting Environment

This guide assumes the following starting environment:

Install Ubuntu Server

  • Choose to the LAMP, Mail, and OpenSSH options during task selection

Then run

sudo apt-get update

followed by

sudo apt-get dist-upgrade

to ensure you are running the latest fixes (you can use upgrade instead of dist-upgrade in most cases, but dist-upgrade ensures that you aren't missing out on any released fixes). Reboot to be sure that everything is ready to go.

Step 2: Install RT

This can be done in several ways, but the most straight-forward manner is to simply run

sudo apt-get install request-tracker* rt*-db-mysql

During the installation process, RT will ask some fairly straight-forward questions with good on-screen explanations of what is being asked of you. Make sure you choose to use a MySQL database.

Step 3: Configure RT

Note: By this step you can find the /usr/share/doc/request-tracker3.8 directory with more in-depth info about manual configuration options. This tutorial just covers a stock setup running a MySQL backend.

Note: The author of this guide uses Google Hosted Apps only as an example of an email service. You can use any email service that provides appropriate access to the emails for RT to use. You could even run your own email server, but that is beyond the scope of this guide.

You should have successfully configured your RT options during the install above. However, if you deviate in the slightest from the expected install procedure, sometimes it goes goofy. To manually re-run the configuration steps, use this command (adjust the version number if needed):

sudo dpkg-reconfigure request-tracker3.8

Again, the configuration script takes you through step-by-step with decent on-screen explanations.

Getting your config to run in Apache still requires a little manual work. The easiest approach is this:

sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
sudo ln -s /etc/apache2/mods-available/actions.load /etc/apache2/mods-enabled/actions.load
sudo ln -s /etc/apache2/mods-available/actions.conf /etc/apache2/mods-enabled/actions.conf

Now edit /etc/apache2/sites-enabled/000-default and add the following line to the VirtualHost block:

Include "/etc/request-tracker3.8/apache2-modperl2.conf"

If you want a more complex setup, you should already know where to go to start tinkering.

Now that you've modified your Apache config environment, Apache needs to be reloaded:

sudo service apache2 restart

Note: Pre-Lucid you would want to run an init.d restart script.

Step 4: External Authentication

No one likes having yet another username and password to keep track of. It is possible to configure RT to authenticate against an LDAP server, which is nice because many other services support it too (including Google Hosted Services which comes into play later in this tutorial).

You'll need to install the PERL modules necessary (cpan will ask you about configuration on first run, and it's best to say yes unless you know what you are doing):

sudo apt-get install build-essential
sudo cpan -i RT::Authen::ExternalAuth

Note: build-essential is necessary for the cpan to build things, but it can be removed later. UNDER CONSTRUCTION To be completed soon.

RT (last edited 2010-05-20 01:35:39 by gblair)