Debian Admin - Your way to Debian World

May 5, 2008

Howto setup Request-Tracker 3.6 on Debian Etch

by @ 1:29 am. Filed under General

If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!

RT is an industrial-grade trouble ticketing system. It lets a group of people intelligently and efficiently manage requests submitted by a community of users. RT is used by systems administrators, customer support staffs, NOCs, developers, and even marketing departments to track issues, outages, bugs, requests, and all kinds of other things at thousands of sites around the world.

This tutorial will explain how to install and configure Request-Tracker 3.6 on Debian Etch with postfix and fetchmail, use fetchmail to retrieve emails from the mail server and inject them into RT.

Preparing your system

Install Postfix, fetchmail using the following command

#apt-get install postfix fetchmail

Select “Internet Site” when prompted

Install MySQL Server 5 using the following command

#aptitude install mysql-server-5.0

Install Request-Tracker Apache2 package using the following command

#aptitude install rt3.6-apache2

Install Request-Tracker 3.6 using the following command

#aptitude install request-tracker3.6

Configuring Request Tracker

Request Tracker Configuration file located at /etc/request-tracker3.6/RT_SiteConfig.pm you need to edit this file using the following command and change the required configuration.

# vi /etc/request-tracker3.6/RT_SiteConfig.pm

# RT_SiteConfig.pm
#
# These are the bits you absolutely *must* edit.
#
# To find out how, please read
# /usr/share/doc/request-tracker3.6/NOTES.Debian

# THE BASICS:

Set($rtname, ’support.example.org’);
Set($Organization, ‘example.org’);

Set($CorrespondAddress , ’support@example.org’);
Set($CommentAddress , ’support-comment@example.org’);

Set($Timezone , ‘Europe/Brussels’); # obviously choose what suits you

# THE DATABASE:

Set($DatabaseType, ‘mysql’); # e.g. Pg or mysql

# These are the settings we used above when creating the RT database,
# you MUST set these to what you chose in the section above.

Set($DatabaseUser , ‘rtuser’);
Set($DatabasePassword , ‘wibble’);
Set($DatabaseName , ‘rtdb’);

# THE WEBSERVER:

Set($WebPath , “/rt”);
Set($WebBaseURL , “http://host.example.org”);

Mysql Database Configuration

Create MySQL user

First set up root password

# mysqladmin -u root password myrootpassword

Create the user “rtuser” :

mysql -u root -p

mysql> GRANT ALL PRIVILEGES ON rtdb.* TO ‘rtuser’@'localhost’ IDENTIFIED BY ‘wibble’; FLUSH PRIVILEGES; QUIT

Set up RT database :

# /usr/sbin/rt-setup-database-3.6 --action init --dba root --prompt-for-dba-password

You should see something like the following :

Password:
Now creating a database for RT.
Creating mysql database rtdb.
Now populating database schema.
Creating database schema.
readline() on closed filehandle SCHEMA_LOCAL at /usr/sbin/rt-setup-database-3.6 line 223.
Done setting up database schema.
Now inserting database ACLs
Done setting up database ACLs.
Now inserting RT core system objects
Checking for existing system user…not found. This appears to be a new installation.
Creating system user…done.
Now inserting RT data
Creating Superuser ACL…done.
Creating groups…3.4.5.6.7.8.9.done.
Creating users…10.12.done.
Creating queues…1.2.done.
Creating ACL…2.3.done.
Creating ScripActions…1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.done.
Creating ScripConditions…1.2.3.4.5.6.7.8.9.10.done.
Creating templates…1.2.3.4.5.6.7.8.9.10.11.12.done.
Creating scrips…1.2.3.4.5.6.7.8.9.10.11.12.13.14.done.
Creating predefined searches…1.2.3.done.
Done setting up database content.

Configuring Apache

Set up Apache2

Add the following to /etc/apache2/sites-enabled/000-default

Paste at the end of the file just before the closing virtualhost tag

Include “/etc/request-tracker3.6/apache2-modperl2.conf”
RedirectMatch ^/$ /rt/

Enable mod rewrite

# cd /etc/apache2/mods-enabled/

# ln -s ../mods-available/rewrite.load .

Restart Apache2

# /etc/init.d/apache2 restart

Finally you need to login to rt and grant CreateTicket and ReplyToTicket to the group Everyone.

http://host.example.org/rt/

Login as user “root”
Password is “password”

Configuration > Global > Group rights

Set up a queue :

Configure > Queue > New queue

You can rename the general queue to whatever you want

Create your first SuperUser :

Configure > Users > New User

We’ll call it SupportJedi

Then :

Configure > Global > User Rights > Set SuperUser right to SupportJedi

You may want to edit the templates provided by RT by default :

Configuration > Global > Templates

The most interesting templates are autoreply and resolved.

Configuring Fetchmail

Setting up fetchmail

Edit /etc/default/fetchmail

# vim /etc/fetchmailrc

Set START_DAEMON=yes

save and exit the file

Prepare log files

# touch /var/log/fetchmail.log

# chown fetchmail /var/log/fetchmail.log

Edit /etc/fetchmailrc

set daemon 60
set invisible
set no bouncemail
set no syslog
set logfile /var/log/fetchmail.log

# support@example.org
poll pop.example.org
protocol pop3
username “login-of-support-mailbox” password “verysecretpassword”
mda “/usr/bin/rt-mailgate-3.6 --queue support --action correspond --url http://support.example.org/rt/”
no keep

# support-comment@example.org
poll pop.example.org
protocol pop3
username “login-of-supportcomment-mailbox” password “verysecretpassword”
mda “/usr/bin/rt-mailgate-3.6 --queue support --action comment --url http://support.example.org/rt/”
no keepThis howto assumes the mailboxes are created on the email gateway, it’s going beyond the scope of this article though.

The mda line tells fetchmail what to do upon reception of a new email.

You can select the queue in which the mail should be injected, the action can either be “correspond” for customer correspondances while “comment” is for internal comments on a ticket.

Restart Fetchmail

# /etc/init.d/fetchmail restart

Logs go in /var/log/fetchmail.log

You can now try to send an email to support@example.org, the mail would be retrieved by fetchmail and injected into RT.
The requestor will receive an autoreply email (see template autoreply).

Configuration tips

1. You should set up an “Administrative CC” on the support queue. You’ll get an email notice whenever a new ticket is created or a reply from the customer has been received.

2. I noticed that if you create a ticket from the web interface of RT and add an email address in the CC field, the email specified in the CC will not get the email at the creation of the ticket, only on response made to it. (while AdminCC’s are notified)

You must create a new scrip in Configuration > Global > Scrips with the following properties :
On Create Notify Ccs with template Correspondence

Tags: , ,

You may also be interested in...

Leave a Reply

Subscribe RSS Feed

subscribe to the Debian Admin RSS feed

Internal links:

Sponsors:



Categories:

Support Debian Admin

Amount $:
Website(Optional):

Sponsors:

Archives:

Related Links:


Favourite Sites:

Wordpress Collection
Windows Reference
Ubuntu Geek
DebianHelp
All About Debian Tutorials
Power Electrical
Check Your IP Here
Debian,Ubuntu News
DebCentral
Tuxmachines
Capnkirby
Libervis
Nuxifield
Linux Horizon
Linux Appfinder
Debuntu
GNU/Linux For Everyone
Free Penguin
DebianAdmin is not related to the Debian Project.
This site is copyright © 2006,2007 Debian Admin
All Trademarks are the property of their respective owners.
The contents of this website may not be mirrored or archived without the express written permission of DebianAdmin Site Owner.

DISCLAIMER: All the information, troubleshooting methods, utilities offered in this website is provided AS-IS, without any warranties. Though I strive for perfection, and always test the validity and effectiveness of the troubleshooting content in various systems, I assume no responsibility for your use of these Fixes, Utilities and other troubleshooting advice. The author will not be liable for any special, incidental, consequential or indirect damages due to loss of data or any other reason. All use is completely at your own risk. Changes to the existing content and new additions are made to this website periodically, without notification.
Rodney's Kontera DynamiContext Plugin plugged in.