Installing RT 3.6.6 on RHEL 5.1

As of Fedora 6 rt-3.6.3 has been available as an RPM. The Fedora RPM has since been rebuilt for Rhel5 using the rt-3.6.6 source code. This document serves as a guide to the basic install and setup of a new (virgin) instance of RT.


Prerequisites

This document assumes you have basic system admin experience and root access to the server you are installing on. In addition you require...


  • Redhat Enterprise 5 or 5.1 base install

  • yum configured to provide all 'base' packages available on the installation media.




OS Setup


Install Redhat Enterprise 5 with mysql and apache. Also, you will likely need to disable SELinux and any firewall rules. As stated above this guide will assume that all 'base' packages must be available via yum. It is also assumed that this server will not only host the rt web front end, but will also house the rt database using mysql.


Disable SELinux or put it in to permissive mode

setenforce 0

Update your installation with the latest patches

yum update

Install Apache, MySql, & sendmail-cf via yum

yum install httpd
yum install mysql
yum install mysql-server
yum install sendmail-cf


Start the httpd and mysql services


service mysqld start
service httpd start

Make sure the httpd & mysqld service start at boot

chkconfig httpd on
chkconfig mysqld on



RT Installation


With the OS correctly installed and apache & mysql running, we can now install Rt and all of it dependencies. This can be done via two methods supported by this document, yum or rpm.


Download this archive and extract it.

wget http://www.jwhite3.com/files/rt/rt-3.6.6-bundle.tar.gz
tar –zxvf rt-3.6.6-bundle.tar.gz


Setup a local or remote yum repository to serve these packages

vi /etc/yum/repos.d/localrt.repo

[rhel51-rt3]
name=RT 3.6.6 for Red Hat Enterprise Linux 5.1
baseurl=file:///path/to/your/extracted/files
enabled=1
gpgcheck=0

Clean your yum cache, download new repo data, and make sure rt3 exists

yum clean all
yum list rt3


Install rt3 and all dependencies with yum

yum install rt3

On a fresh machine yum will install about 84 total packages...

Dependencies Resolved

====================================================================================
Package Arch Version Repository Size
====================================================================================
Installing:
rt3 noarch 3.6.6-1.el5 rhel51-rt3 1.4 M
Installing for dependencies:
MySQL-zrm noarch 1.2.1-1 rhel51-mysql 136 k
apr i386 1.2.7-11 rhel51-base 123 k
apr-util i386 1.2.7-6 rhel51-base 76 k
git-core i386 1.5.3.6-1.el5 rhel51-EPEL 4.2 M
httpd i386 2.2.3-11.el5 rhel51-base 1.1 M
mod_perl i386 2.0.2-6.3.el5 rhel51-base 4.0 M
mysql i386 5.0.54-1.el5 rhel51-mysql 6.4 M
perl-Apache-DBI noarch 1.06-1.el5.rf rhel51-rt3 49 k
perl-Apache-Session noarch 1.81-2.fc6 rhel51-rt3 104 k
perl-Archive-Tar noarch 1.34-1.fc8 rhel51-rt3 54 k
perl-BSD-Resource i386 1.28-3.fc8 rhel51-rt3 34 k
perl-CSS-Squish noarch 0.07-1.el5.rf rhel51-rt3 14 k

perl-Cache-Cache noarch 1.05-1.fc6 rhel51-rt3 89 k
perl-Cache-Simple-TimedExpiry noarch 0.27-1.fc6 rhel51-rt3 7.7 k
perl-Calendar-Simple noarch 1.17-1.fc6 rhel51-rt3 12 k
perl-Class-Container noarch 0.12-5.fc7 rhel51-rt3 37 k
perl-Class-Data-Inheritable noarch 0.06-2.fc8 rhel51-rt3 8.8 k
perl-Class-MethodMaker i386 2.08-4.fc6 rhel51-rt3 564 k
perl-Class-ReturnValue noarch 0.55-1.fc6 rhel51-rt3 10 k
perl-Clone i386 0.27-1.fc6 rhel51-rt3 14 k
perl-Convert-BinHex noarch 1.119-5.el5 rhel51-EPEL 47 k
perl-DBD-MySQL i386 4.005-2.fc8.1 rhel51-rt3 143 k
perl-DBD-Pg i386 1.49-1.fc6 rhel51-base 114 k
perl-DBI i386 1.58-2.fc8 rhel51-rt3 715 k
perl-DBIx-DBSchema noarch 0.35-1.fc6 rhel51-rt3 70 k
perl-DBIx-SearchBuilder noarch 1.51-1.el5.rf rhel51-rt3 110 k
perl-Devel-StackTrace noarch 1.15-2.fc8 rhel51-rt3 23 k
perl-Digest-HMAC noarch 1.01-16 rhel51-rt3 21 k
perl-Digest-SHA1 i386 2.11-4.fc8 rhel51-rt3 51 k
perl-Exception-Class noarch 1.23-3.fc7 rhel51-rt3 33 k
perl-FCGI i386 0.67-1.2.el5.rf rhel51-rt3 85 k
perl-Font-AFM noarch 1.19-4.fc6 rhel51-rt3 18 k
perl-GD i386 2.35-2.fc6 rhel51-rt3 198 k
perl-GDGraph noarch 1:1.44-1.fc6 rhel51-rt3 133 k
perl-GDTextUtil noarch 0.86-8.fc6 rhel51-rt3 75 k
perl-Git i386 1.5.3.6-1.el5 rhel51-EPEL 21 k
perl-GnuPG-Interface noarch 0.33-8.fc6 rhel51-rt3 79 k
perl-HTML-Format noarch 2.04-6.el5 rhel51-EPEL 40 k
perl-HTML-Mason noarch 1:1.37-1.fc8 rhel51-rt3 481 k
perl-HTML-Scrubber noarch 0.08-4.fc6 rhel51-rt3 22 k
perl-HTML-Tree noarch 1:3.23-2.el5 rhel51-EPEL 207 k
perl-HTTP-Server-Simple noarch 0.27-1.fc6 rhel51-rt3 24 k
perl-HTTP-Server-Simple-Mason noarch 0.09-5.fc6 rhel51-rt3 12 k
perl-Hook-LexWrap noarch 0.20-4.fc6 rhel51-rt3 13 k
perl-IO-Socket-INET6 noarch 2.51-2.fc6 rhel51-base 13 k
perl-IO-Socket-SSL noarch 1.02-1.fc7 rhel51-rt3 50 k
perl-IO-Zlib noarch 1.07-1 rhel51-rt3 16 k
perl-IO-stringy noarch 2.110-5.el5 rhel51-EPEL 70 k
perl-IPC-ShareLite i386 0.09-9.fc7 rhel51-rt3 27 k
perl-Locale-Maketext-Fuzzy noarch 0.10-1.el5 rhel51-EPEL 15 k
perl-Locale-Maketext-Lexicon noarch 0.62-1.fc6 rhel51-rt3 87 k
perl-Log-Dispatch noarch 2.20-1.el5 rhel51-EPEL 77 k
perl-MIME-Lite noarch 3.01-5.fc6 rhel51-rt3 72 k
perl-MIME-tools noarch 5.420-3.el5 rhel51-EPEL 285 k
perl-Mail-GnuPG noarch 0.08-5.fc6 rhel51-rt3 15 k
perl-Mail-Sender noarch 0.8.13-2.fc6 rhel51-rt3 52 k
perl-Mail-Sendmail noarch 0.79-9.fc6 rhel51-rt3 27 k
perl-MailTools noarch 1.77-1.el5 rhel51-EPEL 90 k
perl-Module-Refresh noarch 0.13-1.el5.rf rhel51-rt3 11 k
perl-Module-Versions-Report noarch 1.03-1.el5.rf rhel51-rt3 10 k
perl-Net-DNS i386 0.61-1.fc8 rhel51-rt3 235 k
perl-Net-IP noarch 1.25-4.fc8 rhel51-rt3 32 k
perl-Net-SSLeay i386 1.30-5.fc8.1 rhel51-rt3 196 k
perl-Params-Validate i386 0.88-3.fc8 rhel51-rt3 72 k
perl-Regexp-Common noarch 2.120-5.fc6 rhel51-rt3 181 k
perl-Socket6 i386 0.19-4.fc8.1 rhel51-rt3 22 k
perl-TeX-Hyphen noarch 0.140-5.fc6 rhel51-rt3 34 k
perl-TermReadKey i386 2.21-4 rhel51-rt3 31 k
perl-Text-Autoformat noarch 1.13-5.fc7 rhel51-rt3 30 k
perl-Text-Quoted noarch 2.02-3.fc6 rhel51-rt3 11 k
perl-Text-Reform noarch 1.11-7.fc7 rhel51-rt3 35 k
perl-Text-Template noarch 1.44-4.fc6 rhel51-rt3 61 k
perl-Text-WikiFormat noarch 0.78-1.fc6 rhel51-rt3 35 k
perl-Text-Wrapper noarch 1.01-1.fc6 rhel51-rt3 9.6 k
perl-Time-modules noarch 2003.1126-4.fc8 rhel51-rt3 36 k
perl-TimeDate noarch 1:1.16-5.el5 rhel51-base 32 k
perl-Tree-Simple noarch 1.17-1.fc6 rhel51-rt3 40 k
perl-UNIVERSAL-require noarch 0.11-1.fc6 rhel51-rt3 8.5 k
perl-Want i386 0.15-1.fc6 rhel51-rt3 29 k
perl-XML-Parser i386 2.35-1.el5.rf rhel51-rt3 314 k
perl-XML-Simple noarch 2.14-4.fc6 rhel51-base 68 k
postgresql-libs i386 8.1.9-1.el5 rhel51-base 196 k
spamassassin i386 3.1.9-1.el5 rhel51-base 921 k


Transaction Summary
=====================================================================================
Install 84 Package(s)
Update 0 Package(s)
Remove 0 Package(s)




RT Post Setup


Now that rt is installed you may want to customize your setup. Inorder to do that you will need to know where your files are located. This package changes the file locations from the fedora6 version of rt,and differs greatly from the BP default.
bindir:               /usr/sbin
sysconfdir: /etc/rt3
htmldir: /usr/share/rt3/html
logfiledir: /var/log/rt3
masonstatedir: /var/cache/rt3/mason_data
sessionstatedir: /var/cache/rt3/session_data
customdir: /usr/local/rt3/
custometcdir: /usr/local/rt3/etc
customhtmldir: /usr/local/rt3/html
customlexdir: /usr/local/rt3/po
customlibdir: /usr/local/rt3/lib

Customize /etc/rt3/RT_SiteConfig.pm


You may find a need to change the site configuration of rt from time to time. For example to point rt to a remote database, configure external authentication, or set other configurable options. Below are several options that I like to set, but keep in mind these may differ greatly from a standard configuration.

Set($WebExternalAuth , '1');
Set($WebFallbackToInternalAuth , '1');
Set($OldestTransactionsFirst, 0);
Set($MyTicketsLength, 25);
Set($MyRequestsLength, 25);
Set($WebBaseURL , "http://rt.example.com");
Set($WebPath , "");
Set($WebImagesURL , $WebPath . "/NoAuth/images");
Set($rtname, 'example.com');
Set($DatabaseHost , 'db.example.com');
Set($DatabaseRTHost , 'localhost');
Set($DatabaseUser, 'dbuser');
Set($DatabasePassword , 'dbpassword');
Set($DevelMode, '0');
Set($ShowTransactionImages, 0);
Set($SuppressInlineTextFiles, true);

Initialize the RT database

Assuming that you will host both the rt web service and the database on the same server (unlike the custom config above) you will need to create a new rt3 database instance. This is done in one simple step from the command line.

rt-setup-databse --action init




Configure sendmail


Symlink rt-mailgate to /etc/smrsh, and create aliases to use RT:

ln -s /opt/rt3/bin/rt-mailgate /etc/smrsh/rt-mailgate

Edit /etc/aliases and add lines:

rt: "|/etc/smrsh/rt-mailgate --queue general --action correspond --url http://your.host.name/"

rt-comment: "|/etc/smrsh/rt-mailgate --queue general --action comment --url http://your.host.name/"

Edit /etc/mail/sendmail.mc and change the line:

DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

to read:

dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')


Add the following lines to your sendmail.mc file, filling in your ISP's mail server (optional):


define(`SMART_HOST',`your.isp.net')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash /etc/mail/auth/client-info')dnl


Rebuild your sendmail.cf:

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

Add rt server alias to /etc/mail/local-host-names


rt.example.com

Restart sendmail:

service sendmail restart


Test your new RT instance


Login to your new RT instance and test things out:



Default URL : http://yourdomain.com/rt3/

Default User: root

Default Pass: password


Troubleshooting


Updates to Perl:

Some updated versions of Redhat Enterprise 4 & 5 include perl distributions without support for Scalar::Util::weaken(). Weaken is required for RT to function. The offending versions of Perl install Scalar::Util v1.19. To make everything work with RT again install the previous revision (v1.18).

perl -MCPAN -e 'install "G/GB/GBARR/Scalar-List-Utils-1.18.tar.gz"'