DebianSargeInstallGuide

From Request Tracker Wiki
(Redirected from DebianStableInstallGuide)
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 '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)