Posted by: nakuls77 | October 18, 2008

Installing Request Tracker

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/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-2.8.22-1.3.33.tar.gz

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

wget http://apache.swift-networks.com/httpd/apache_1.3.33.tar.gz

wget http://us2.php.net/distributions/php-4.3.10.tar.bz2

wget http://download.bestpractical.com/pub/rt/release/rt-3.2.3.tar.gz

wget http://easynews.dl.sourceforge.net/sourceforge/expat/expat-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 (http://sourceforge.net/projects/expat/)

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/Net/Net_SSLeay.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 www.ubs.com 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::DBI’

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::Dispatch’

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/WWW/WWW-Mechanize-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/DBD/DBD-mysql-2.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::DBI

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!)
Originally posted on : brucetimberlake.com


Responses

  1. Hi,

    I have problem with RT. Is is too slow. What can be done to boost it? I understand, that I should dela with some perl module?

    Thanks.

    And by the way, where it is possilbe to get RT extra modules?

    • Can you be specific on RT being slow? it can be slow depending on what config your server has. what extra modules are you looking for?

  2. hi can we install rt on shared server

    • You cannot install it on a shared server since it requires root access.


Leave a response

Your response:

Categories