Rhel5InstallGuide

From Request Tracker Wiki
Jump to: navigation, search


Unofficial Installation Guide

This is an unofficial installation guide. It may be outdated or apply only to very specific configurations and versions. The official and maintained installation steps for RT are in the README and UPGRADING documents included in the official .tar.gz packages.

Outdated

This page contains out of date and possibly misleading information or instructions such as installation methods or configuration examples that no longer apply. Please consider this warning when reading the page below.


Installing RT 3.6.6 on Redhat Enterprise 5.x

For updates to this guide and its packages visit: http://blog.jwhite3.com

New yum repository info for RHEL5 is availble here: http://wiki.bestpractical.com/view/RHEL5RepoArchive

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.

This guide only works for i386 versions of RHEL 5/5.1. x86_64 requires different packages which are not included in this bundle. The packages can (generally speaking) be installed with CPAN with minimal fuss, although you may be able to locate RPMs elsewhere.

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, or follow the directions on that page. 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.makestorm.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...

================================================================================

Package Arch Version Repository Size

================================================================================

rt3 noarch 3.6.6-1.el5 rhel51-rt3 1.4 M

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-base       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-base        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-base        21 k
perl-GnuPG-Interface           noarch     0.33-8.fc6       rhel51-rt3         79 k
perl-HTML-Format               noarch     2.04-6.el5       rhel51-base        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-base       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-base        70 k
perl-IPC-ShareLite             i386       0.09-9.fc7       rhel51-rt3         27 k
perl-Locale-Maketext-Fuzzy             noarch     0.10-1.el5       rhel51-base        15 k
perl-Locale-Maketext-Lexicon           noarch     0.62-1.fc6       rhel51-rt3         87 k
perl-Log-Dispatch              noarch     2.20-1.el5       rhel51-base        77 k
perl-MIME-Lite                 noarch     3.01-5.fc6       rhel51-rt3         72 k
perl-MIME-tools                noarch     5.420-3.el5      rhel51-base       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-base        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

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 , "<a href="http://rt.example.com" class="external free" rel="nofollow">http://rt.example.com</a>");
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 databse instance. This is done in one simple step from the command line.

rt-setup-database --action init

Configure sendmail

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

ln -s /usr/sbin/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

RedHat Updates Warning

RedHat seem to be shipping updates to perl via yum that have been built in a way that is not compatible with RT.

Specifically Scalar::Util and possibly File::Temp too*.

If RT stops running after an update please install these via CPAN and restart apache.

You can install them using from the command line:

cpan File::Temp cpan Scalar::Util