DebianSargeInstallGuide
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 'DebianSargeInstallGuide' 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. |
DEBIAN SARGE INSTALLATION
This installation guide targets Debian Sarge Site. Furthermore is uses the Debian Package System as much as possible.
1. Requirements
- Debian Sarge
- Apache 1.3 SSL med mod_perl
- RT-3.6.3
This guide uses postfix, if you wish to use an other MTA remove postfix from the list below. If you wish to use any other DB than mysql you also need to modify the list below.
2. Basic installation
You need a basic installed Debian Stable with as few packages as possible.
Install the following packages using apt-get install, do not use aptitude. It can mess the order of installation:
(Note added: if 'gcc' is added to the list below, aptitude can be used to install. Aptitude can cause problems when you wish to deinstall the apache2 package by including too many dependencies)
gcc-3.3-base gettext-base gzip less libapr0 libattr1 libblkid1 libcache-cache-perl libcache-simple-timedexpiry-perl libcap1 libclass-container-perl libclass-data-inheritable-perl libclass-returnvalue-perl libcomerr2 libconsole libconvert-binhex-perl libdb1-compat libdb3 libdb4.2 libdbd-mysql-perl libdbi-perl libdevel-stacktrace-perl libdevel-symdump-perl libdigest-sha1-perl libdiscover1 liberror-perl libexception-class-perl libexpat1 libfont-afm-perl libfreezethaw-perl libgcc1 libgcrypt11 libgdbm3 libgnutls11 libgpg-error0 libhtml-format-perl libhtml-mason-perl libhtml-parser-perl libhtml-scrubber-perl libhtml-tagset-perl libhtml-tree-perl libhttp-server-simple-perl libinline-perl libio-stringy-perl libipc-sharelite-perl libldap2 liblocale-gettext-perl liblocale-maketext-fuzzy-perl liblocale-maketext-lexicon-perl liblockfile1 liblog-dispatch-perl liblzo1 libmagic1 libmailtools-perl libmime-perl libmldbm-perl libmodule-versions-report-perl libmysqlclient12 libmysqlclient14 libncurses5 libnet-daemon-perl libnewt0.51 libopencdk8 libpam-modules libpam-runtime libpam0g libparams-validate-perl libparse-recdescent-perl libpcap0.7 libpcap0.8 libpcre3 libperl5.8 libplrpc-perl libregexp-common-perl libsasl2 libsigc++-1.2-5c102 libss2 libssl0.9.7 libstdc++5 libtasn1-2 libterm-readkey-perl libtest-inline-perl libtext-autoformat-perl libtext-charwidth-perl libtext-iconv-perl libtext-quoted-perl libtext-reform-perl libtext-template-perl libtext-wrapi18n-perl libtext-wrapper-perl libtextwrap1 libtime-modules-perl libtimedate-perl libtree-simple-perl liburi-perl libusb-0.1-4 libuuid1 libwrap0 libwww-mechanize-perl libwww-perl libxml-libxml-perl libxml-namespacesupport-perl libxml-parser-perl libxml-rss-perl libxml-sax-perl libxml-simple-perl libxml2 make makedev man-db mime-support mysql-client-4.1 mysql-common-4.1 perl perl-base perl-modules ftp ncftp unzip gnupg lynx libclone-perl libwant-perl libcarp-assert-more-perl libcarp-assert-perl libtest-builder-tester-perl libtest-exception-perl libsub-uplevel-perl libdbd-sqlite3-perl libdbix-dbschema-perl libclass-accessor-perl postfix apache2-common apache2-mpm-worker apache2-threaded-dev apache2 libapache-sessionx-perl libgd-graph-perl libcalendar-simple-perl libcrypt-ssleay-perl traceroute gwhois mtr-tiny libset-intspan-perl libarchive-tar-perl libextutils-parsexs-perl libpopt0 libreadline4 libxml-libxml-common-perl perl mysql-server-4.1 libuniversal-exports-perl
you might for example put these lines into a file called packages and then use this command to perform the installation:
for i in $(cat packages); do packages="$packages $i"; done; apt-get install $packages
CPAN configuration
The following file can be copied into /etc/perl/CPAN/Config.pm to avoid manual configuration of CPAN. The config is however limited.
# This is CPAN.pm's systemwide configuration file. This file provides # defaults for users, and the values can be changed in a per-user # configuration file. The user-config file is being looked for as # ~/.cpan/CPAN/MyConfig.pm. $CPAN::Config = { 'build_cache' => q[10], 'build_dir' => q[/root/.cpan/build], 'cache_metadata' => q[1], 'cpan_home' => q[/root/.cpan], 'cpan_version_check' => q[1], 'dontload_hash' => { }, 'ftp' => q[/usr/bin/ftp], 'ftp_proxy' => q[], 'getcwd' => q[cwd], 'gpg' => q[/usr/bin/gpg], 'gzip' => q[/bin/gzip], 'histfile' => q[/root/.cpan/histfile], 'histsize' => q[100], 'http_proxy' => q[], 'inactivity_timeout' => q[0], 'index_expire' => q[1], 'inhibit_startup_message' => q[0], 'keep_source_where' => q[/root/.cpan/sources], 'lynx' => q[/usr/bin/lynx], 'make' => q[/usr/bin/make], 'make_arg' => q[], 'make_install_arg' => q[], 'makepl_arg' => q[INSTALLDIRS=site], 'ncftpget' => q[/usr/bin/ncftpget], 'no_proxy' => q[], 'pager' => q[/usr/bin/less], 'prerequisites_policy' => q[ask], 'scan_cache' => q[atstart], 'shell' => q[/bin/bash], 'tar' => q[/bin/tar], 'term_is_latin' => q[1], 'unzip' => q[/usr/bin/unzip], 'urllist' => [q[http://mirror.uni-c.dk/pub/CPAN/]], 'wget' => q[/usr/bin/wget], }; 1; __END__
CPAN Module Installation
Use the following command to open a shell in which to install CPAN Modules. Resolve CPAN dependencies by answering yes. Dependencies which are needed and are not avaiable in the debian apt-tree in the correct version:
perl -MCPAN -e shell
then within this shell:
install Bundle::CPAN (strictly speaking: this package is not needed for RT to work) install DBIx::SearchBuilder install Apache::Test install Test::WWW::Mechanize install Module::Refresh install Test::Expect install HTTP::Server::Simple::Mason install Text::WikiFormat exit
Apache::Test problems
The module Apache::Test requires Apache2 and Apache2-dev to compile. However we want to use the package Apache-ssl. Apache2 and mod_perl2 does not work for RT 3.4.5 on Debian Stable.
Remove Apache2:
apt-get remove --purge apache2-common apache2-mpm-worker apache2-threaded-dev apache2 apache2-dev
Install Apache-ssl
apt-get install apache-dev libapache-mod-perl libapache-dbi-perl libdbi-perl libapache-session-perl apache-ssl
3. RT Installation
The OS should be ready for you to install RT.
Initial configuration
Download RT-3.6.3:
wget http://download.bestpractical.com/pub/rt/release/rt-3.6.3.tar.gz
Create a working directory and untar, then configure RT:
./configure --prefix="/usr/local/rt3/"
See ./configure ---help for more options.
Install
Test for missing dependencies make testdeps. If you are using a newer version of RT, you may need to resolve a few missing dependencies.
Install RT on the server:
make install make initialize-database
RT Siteconfig
Edit */usr/local/rt3/etc/RT_SiteConfig.pm*:
Set($rtname, 'rt.foo.com'); Set($Organization , "foo.com"); Set($MinimumPasswordLength , "8"); Set($Timezone , 'Europe/Foo'); Set($DatabaseType , 'mysql'); Set($DatabasePassword , 'rt_pass'); Set($MaxAttachmentSize , 50000000); Set($CorrespondAddress , 'RT_CorrespondAddressNotSet'); Set($CommentAddress , 'RT_CommentAddressNotSet'); Set($WebBaseURL , 'https://rt.foo.com'); Set($WebPath , '/rt'); #Set($WebDefaultStylesheet, '3.4-compat'); Set($WebDefaultStylesheet, '3.5-default'); 1;
Apache-SSL Configuration
Add the following to /etc/apache-ssl/httpd.conf:
##### # Request Tracker ##### Alias /rt "/usr/local/rt3/share/html" PerlModule Apache::DBI PerlRequire /usr/local/rt3/bin/webmux.pl <Directory /usr/local/rt3/share/html> AllowOverride All Options ExecCGI +FollowSymLinks </Directory> <Location /rt> AddDefaultCharset UTF-8 SetHandler perl-script PerlHandler RT::Mason </Location> #####
Restart Apache:
apache-sslctl restart
4. Postfix Configuration
Configuring Postfix is straight forward:
add
rt: "|/usr/local/rt3/bin/rt-mailgate --queue 'General' --action correspond --url https://rt.foo.com/rt"
to /etc/aliases
Remember to run newaliases
Finally you need to login to rt and grant CreateTicket and ReplyToTicket to the group Everyone. This is done via Configuration - > Queues - > (queue name) - > Group Rights in the web interface while logged in as the RT user "root".
That's about it, RT should be up and running now.
Please contact me at 'rasmus.brogger AT uni-c.dk' for comments.
Minor notes added by dave good choice it
Updated to comply with RT-3.6.3 (rhb)