Rhel5InstallGuide

From Request Tracker Wiki
Jump to navigation Jump to 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.




This page 'Rhel5InstallGuide' is tagged as 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.
If you have checked or updated this page and found the content to be suitable, please remove this notice by editing the page and remove the Outdated template tag.



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