This installs:

MySQL 4.0.23

OpenSSL 0.9.7e

Apache 1.3.33

+ mod_ssl 2.8.22-1.3.33

+ mod_perl 1.29 (static)

+ mm 1.3.1

Perl 5.8.5 (plus RT-required modules)

PHP 4.3.10

Request Tracker 3.2.3


GET ALL REQUIRED SOURCE PACKAGES AND UNPACK

mkdir -p /usr/local/src

cd /usr/local/src

wget http://www.perl.com/CPAN/src/perl-5.8.5.tar.bz2

wget http://mysql.he.net/Downloads/MySQL-...-4.0.23.tar.gz

wget http://www.openssl.org/source/openssl-0.9.7e.tar.gz

wget ftp://ftp.ossp.org/pkg/lib/mm/mm-1.3.1.tar.gz

wget http://www.modssl.org/source/mod_ssl...-1.3.33.tar.gz

wget http://perl.apache.org/dist/mod_perl-1.29.tar.gz

wget http://apache.swift-networks.com/htt..._1.3.33.tar.gz

wget PHP: Releases

wget http://download.bestpractical.com/pu...t-3.2.3.tar.gz

wget http://easynews.dl.sourceforge.net/s...-1.95.8.tar.gz

tar zxf mysql-4.0.23.tar.gz

bunzip2 perl-5.8.5.tar.bz2

tar xf perl-5.8.5.tar

tar zxf openssl-0.9.7e.tar.gz

tar zxf mm-1.3.1.tar.gz

tar zxf mod_ssl-2.8.22-1.3.33.tar.gz

tar zxf mod_perl-1.29.tar.gz

tar zxf apache_1.3.33.tar.gz

bunzip2 php-4.3.10.tar.bz2

tar xf php-4.3.10.tar

tar zxf rt-3.2.3.tar.gz

tar zxf expat-1.95.8.tar.gz

chown -R root.root *

ADD RT USER/GROUP

groupadd rt

useradd -g rt -c “RT User” -d /dev/null -s /sbin/nologin rt


INSTALL/UPGRADE PERL

cd /usr/local/src/perl-5.8.5

rm -f config.sh Policy.sh

sh Configure \

-Duseshrplib=y \

-des

make && make test && make install

/usr/local/bin/perl -MCPAN -eshell

# manual steps here:

# – selecting the “follow” option during initial Perl setup will make

# installation of RT dependency Perl modules later much easier and

# more automated.

# – install Bundle::CPAN

# – install LWP::UserAgent (mod_perl will need this later)


Install MySQL 4.0.23

groupadd mysql

useradd -g mysql -c “MySQL Server” -d /dev/null -s /sbin/nologin mysql

cd /usr/local/src/mysql-4.0.23

./configure \

–prefix=/opt/mysql \

–localstatedir=/opt/mysql/data \

–disable-maintainer-mode \

–with-mysqld-user=mysql \

–with-unix-socket-path=/tmp/mysql.sock \

–without-comment \

–without-debug \

–without-bench

make && make install

./scripts/mysql_install_db

chown -R root:mysql /opt/mysql

chown -R mysql:mysql /opt/mysql/data

cp support-files/my-medium.cnf /etc/my.cnf

chown root:sys /etc/my.cnf

chmod 644 /etc/my.cnf

echo “/usr/local/mysql/lib/mysql” >> /etc/ld.so.conf

ldconfig

cd /opt/mysql/bin

for file in *; do ln -s /opt/mysql/bin/$file /usr/bin/$file; done

# manual step – edit /etc/my.cnf for security reasons

# see my notes (http://www.lamphowto.com/linux/lampssl.htm) for info

# DO NOT remove the test database yet – we’ll need it later to install DBD::Mysql

cd ~

/etc/rc.d/rc3.d/S90mysql start

mysqladmin -u root password new-password


BUILD OPENSSL

cd /usr/local/src/openssl-0.9.7e

./config \

–prefix=/usr/local/openssl \

-fPIC

make && make test && make install


BUILD MM

cd ../mm-1.3.1

./configure \

–disable-shared \

–with-pic

make && make install

echo “/usr/local/lib” >> /etc/ld.so.conf

ldconfig


CONFIGURE MOD_SSL

cd ../mod_ssl-2.8.22-1.3.33

./configure \

–with-apache=../apache_1.3.33 \

–with-ssl=../openssl-0.9.7e \

–with-mm=../mm-1.3.1


CONFIGURE MOD_PERL

cd ../mod_perl-1.29

perl Makefile.PL \

EVERYTHING=1 \

APACHE_SRC=../apache_1.3.33/src \

USE_APACI=1 \

PREP_HTTPD=1 \

DO_HTTPD=1

make && make install


CONFIGURE APACHE

cd ../apache_1.3.33

SSL_BASE=../openssl-0.9.7e \

EAPI_MM=../mm-1.3.1 \

./configure \

–prefix=/usr/local/apache \

–enable-module=ssl \

–enable-shared=ssl \

–enable-module=rewrite \

–enable-module=most \

–enable-module=so \

–enable-shared=max \

–activate-module=src/modules/perl/libperl.a \

–enable-module=perl

make

make certificate TYPE=custom

make install


INSTALL PHP

cd ../php-4.3.10

CFLAGS=’-O2 -I/usr/local/src/openssl-0.9.7e -DEAPI’ \

./configure \

–with-apxs=/usr/local/apache/bin/apxs \

–disable-debug \

–enable-calendar \

–enable-exif \

–enable-ftp \

–enable-inline-optimization \

–enable-magic-quotes \

–enable-mbstring \

–enable-safe-mode \

–enable-sockets \

–enable-track-vars \

–enable-trans-sid \

–enable-wddx=shared \

–enable-xml \

–with-bz2 \

–with-gd \

–with-gettext \

–with-jpeg-dir \

–with-mime-magic \

–with-mysql=/opt/mysql \

–with-mysql-sock=/tmp/mysql.sock \

–with-openssl=/usr/local/openssl \

–with-pear \

–with-png-dir \

–with-regex=system \

–with-xml \

–with-zlib \

–with-zlib-dir=/usr/lib

make && make install

cp php.ini-dist /usr/local/lib/php.ini

# manual step – wrote PEAR system config file at: /usr/local/etc/pear.conf

# Add /usr/local/lib/php to /usr/local/lib/php.ini (include_path)


INSTALL RT DEPENDENCY PERL MODULES

# first install expat (Expat XML Parser | Download Expat XML Parser software for free at SourceForge.net)

cd /usr/local/src/expat-1.95.8

./configure

make && make install

Install CORE dependencies

cd /usr/local/src

perl -MCPAN -e’install URI’

wget http://cpan.org/modules/by-module/Ne...pm-1.25.tar.gz

tar zxf Net_SSLeay.pm-1.25.tar.gz

cd Net_SSLeay.pm-1.25

echo “/usr/local/openssl” >> openssl_path

perl Makefile.PL /usr/local/openssl -t

make && make test

# an error on UBS - UBS Homepage - Wealth Management | Investment Bank | Asset Management is ok

make install

RT does provide an ‘auto-install‘ script that should get all the Perl modules in place for you. Try it with the command:

make fixdeps

If it doesn’t work for you, here is a list of the Perl modules you will need, grouped in some semblance of order and sequence to eliminate dependency errors:

perl -MCPAN -e’install IO::Socket::INET’

perl -MCPAN -e’install IO::Socket::SSL’

perl -MCPAN -e’install Module::Build’

perl -MCPAN -e’install Params::Validate’

perl -MCPAN -e’install DBI’

perl -MCPAN -e’install Apache:BI’

perl -MCPAN -e’install Test::Inline’

perl -MCPAN -e’install Class::ReturnValue’

perl -MCPAN -e’install DBIx::SearchBuilder’

perl -MCPAN -e’install Text::Template’

perl -MCPAN -e’install HTML::Entities’

perl -MCPAN -e’install HTML::Scrubber’

perl -MCPAN -e’install Log:ispatch’

perl -MCPAN -e’install Locale::Maketext::Lexicon’

perl -MCPAN -e’install Locale::Maketext::Fuzzy’

perl -MCPAN -e’install MIME::Entity’

perl -MCPAN -e’install Mail::Mailer’

perl -MCPAN -e’install Text::Wrapper’

perl -MCPAN -e’install Time::ParseDate’

perl -MCPAN -e’install Text::Autoformat’

perl -MCPAN -e’install Text::Quoted’

perl -MCPAN -e’install Tree::Simple’

perl -MCPAN -e’install Module::Versions::Report’

perl -MCPAN -e’install XML::Parser’

perl -MCPAN -e’install FCGI’


DEV dependencies:

perl -MCPAN -e’install Regexp::Common’

perl -MCPAN -e’install Test::Inline’

perl -MCPAN -e’install Test::Memory::Cycle’

perl -MCPAN -e’install Test::Pod’

perl -MCPAN -e’install Test::Pod::Coverage’

perl -MCPAN -e’install Test::Taint’

perl -MCPAN -e’install Test::Warn’

perl -MCPAN -e’install Apache::Test’



# enter /usr/local/apache/bin/httpd for httpd location

# enter /usr/local/apache/bin/apxs for apxs location

perl -MCPAN -e’install HTML::Form’

# answer ‘y’ to libwww app installation

perl -MCPAN -e’install HTML::TokeParser’

wget http://cpan.org/modules/by-module/WW...ze-1.12.tar.gz

tar zxf WWW-Mechanize-1.12.tar.gz

cd WWW-Mechanize-1.12

perl Makefile.PL

make && make install


MAILGATE dependencies

perl -MCPAN -e’install HTML::TreeBuilder’

perl -MCPAN -e’install HTML::FormatText’


MASON dependencies

perl -MCPAN -e’install Params::Validate’

perl -MCPAN -e’install Cache::Cache’

perl -MCPAN -e’install Exception::Class’

perl -MCPAN -e’install HTML::Mason’

perl -MCPAN -e’install MLDBM’

perl -MCPAN -e’install FreezeThaw’

perl -MCPAN -e’install Apache::Session’

perl -MCPAN -e’install XML::RSS’


MYSQL dependency

# this step requires the ‘test’ database to still be installed for MySQL

wget http://cpan.org/modules/by-module/DB....9005_3.tar.gz

tar zxf DBD-mysql-2.9005_3.tar.gz

cd DBD-mysql-2.9005_3

perl Makefile.PL \

–libs=”-L/opt/mysql/lib/mysql -lmysqlclient -lz” \

–cflags=-I/opt/mysql/include/mysql \

–testuser=xxx \ # <- enter your MySQL root username (usually ‘root’)

–testpassword=yyy # <- enter your MySQL root user password

make && make test && make install


INSTALL REQUEST TRACKER

cd /usr/local/src/rt-3.2.3

./configure \

–prefix=/opt/rt \

–exec-prefix=/opt/rt \

–with-bin-owner=root \

–with-db-database=tickets \ <- this is the database name RT will use

–with-db-dba=sqladmin \ <- put in your MySQL root username here

–with-db-host=localhost \

–with-db-rt-host=localhost \

–with-db-rt-pass=t1cket \ <- this is the password for the RT MySQL user

–with-db-rt-user=rt_user \ <- this is the username for the RT MySQL user

–with-db-type=mysql \

–with-libs-owner=root \

–with-libs-group=bin \

–with-rt-group=rt \

–with-web-group=httpd \ <- this needs to match httpd.conf

–with-web-user=httpd <- this needs to match httpd.conf

make testdeps

make install

make initialize-database

cd /opt/rt/etc

cp RT_Config.pm RT_SiteConfig.pm

#edit RT_SiteConfig.pm and make relevant changes

# – rtname, Organization, Timezone, OwnerEmail, RTAddressRegexp,

# CanonicalizeEmailAddressMatch, CanonicalizeEmailAddressReplace,

# FriendlyFromLineFormat, FriendlyToLineFormat,

# RT::WebPath


CONFIGURE APACHE

Edit /usr/local/apache/httpd/conf/httpd.conf, and add:

NameVirtualHost ip.ad.re.ss

<VirtualHost xx.xx.xx.xx:80>

ServerName host.domain.tld

ServerAdmin email@host.domain.tld

DocumentRoot /home/rt/share/html

AddDefaultCharset UTF-8

PerlModule Apache:BI

PerlRequire /home/rt/bin/webmux.pl

ErrorLog /var/log/httpd/rt-error_log

CustomLog /var/log/httpd/rt-access_log common

<Location />

SetHandler perl-script

PerlHandler RT::Mason

</Location>

</VirtualHost>

# need to add the step for SSL vsite as well

/usr/local/apache/bin/apachectl stop

/usr/local/apache/bin/apachectl start

Remember that when logging into RT for the first time, use the username

root with password password (and then change the password right away!)