FedoraCore2InstallGuide

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.

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.


Fedora Core 2 + RT 3.2.x Install Guide

-- General note: All commands should be carried out as the root user unless otherwise stated.

IMPORTANT: As this document covers RT-3.2.2 installation and that time there was only mod_perl 1.99_XX available which is not supported any more in new RT versions, see also ManualRequirements.

1) On a new Fedora Core 2 install, at the "Package Group Selection" stage, inside the "Web Server" package Group, verify that mod_perl is selected (selected by default).

2) Go into the "SQL Database Server" group and select the "mysql-server" package (not selected by default) - The Fedora stock MySQL version is old, an upgrade will follow, but the packages are required in order to have the various dependencies installed.

3) Download the latest MySQL packages to satisfy RT's requirement for MySQL.

IMPORTANT: RT 3.2.x Requires MySQL >4.0.13.

MySQL 4.1.x versions should work just fine with current releases of RT.

Latest stable version can be obtained from www.mysql.com download section. You can find the RPMs in the "Linux x86 RPM downloads" section. You should Download the following packages:

  • MySQL-client ("Client Programs")
  • MySQL-server ("Server")
  • MySQL-shared-compat ("Dynamic client libraries (including 3.23.x libraries)")
  • MySQL-devel ("Libraries and Header Files")

4) Remove the old MySQL 3.x packages that were supplied by Fedora:

# rpm -e mysql-server mysql perl-DBD-MySQL

5) Install the newer MySQL RPM packages:

# rpm -Uvh ./MySQL-*

6) Once done go into services and select httpd and mysqld to start on boot up. or at the command line as root:

# chkconfig httpd on # chkconfig mysqld on

7) Start the mysql daemon:

# service mysqld start

8) At a shell set the mysql root password via

mysqladmin -uroot password "new password" (without quotes)

9) Download RT3 and untar it.

10) Follow the RT docs and run ./configure with the flags you want, something like the following should do (be sure to change the db-rt-pass):

# ./configure --with-web-user=apache --with-web-group=apache \ --prefix=/usr/local/rt3 --with-db-rt-pass=password

Then run CPAN once in order setup CPAN initial configuration:

# perl -MCPAN -e'shell'

When done with CPAN configuration (at the /cpan>/ prompt) type /exit/. Then run:

# perl sbin/rt-test-dependencies --with-mysql --with-modperl2 --install

NOTE: The above command is different than make fixdeps. make fixdeps does not test for modperl2 dependencies such as Apache::DBI (which is required). Therefore you'll end up with a broken installation. Be sure to use the above command instead of make fixdeps.

Also Note: Depending on your initial OS install, the above command may fail when it tries to compile and install some Perl modules. This is due to the fact that CPAN cannot resolve dependancies that are outside of Perl's control (for example, if gcc or zlib-devel are missing). Carefully note the details of any errors produced by CPAN, and install dependancies as necessary.

This will install everything except Log::Dispatch (see below). Run :

# perl sbin/rt-test-dependencies --with-mysql --with-modperl2 | grep MISSING

and make sure that all dependencies are satisfied.

11) Once done you can cd into root.cpan and install and Log::Dispatch. Alternativly just do it through CPAN:

# perl -MCPAN -e'install Log::Dispatch'

12) Verify that the RT's Makefile "web user" and "group" are set to "apache", also verify the "rt_user" password

13) At a shell add the rt group:

# groupadd rt

14) Install RT3 and initialize the database:

# make install # make initialize-database

NOTE that If you use MySql > 4.1 an error message saying "Client does not support authentication protocol" will appear on the "make initialize-database" stage. If you get such an error please see the comment below.

15) cd to RT3 etc directory and copy over pertinent site info from RT_Config.pm to RT_SiteConfig.pm

# cd /usr/local/rt3/etc # cp RT_Config.pm RT_SiteConfig.pm

16) Edit RT_SiteConfig.pm and change the relevant parameters.

17) Add the following virtualhost info into /etc/httpd/conf.d/rt3.conf:

<VirtualHost your.ip.address> ServerName your.rt.server.hostname DocumentRoot /usr/local/rt3/share/html AddDefaultCharset UTF-8 <code><pre># these four lines apply to Apache2+mod_perl1.99 only: {{{ PerlModule Apache2 Apache::compat # }}} # these four lines apply to Apache2+mod_perl1.99 only: {{{ PerlSetVar MasonArgsMethod CGI RewriteEngine On RewriteRule ^(.*)/$ $1/index.html # }}} PerlModule Apache::DBI PerlRequire /usr/local/rt3/bin/webmux.pl &lt;Location /&gt; SetHandler perl-script PerlHandler RT::Mason &lt;/Location&gt; </pre></code> </VirtualHost>

NOTE: This guide talks about mod_perl 1.99_XX which was available when article had been writen, see also ManualRequirements.

18) Start Apache

# service httpd start

19) This will satisfy all dependencies and configure apache 2.0.49 to give you a working RT3 box. Continue configuring RT mail gateway as per RT's README file.

Note: some distros add, at instalation time, the hostname you specified to /etc/hosts as 127.0.0.1 like this:

127.0.0.1 yourhostname.domain.com yourhostname localhost.localdomain localhost

this could affect a lot on your system, at least rt-mailgate will be affected. Be sure that it is just:

127.0.0.1 localhost.localdomain localhost

Maayan Turner, !Qball Technologies Ltd. maayant![at]qballtech![dot]com

Note that If you use MySql > 4.1 an error message saying "Client does not support authentication protocol" will appear on the "make initialize-database" stage. do:

mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')

  -> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;

And add to mysql startup script (/etc/init.d/mysqld) the parameter : --old-passwords Please refer to : http://dev.mysql.com/doc/mysql/en/old-client.html for more information.

I added the [PT] "pass through" option to the RewriteRule in step 14. Strictly speaking, it's not necessary for the config as given, but if you later to decide to locate RT in a sub-directory on the server (e.g., /rt) and use an Alias and Location like this:

Daniely Yoav, !Qball Technologies Ltd. yoavd![at]qballtech![dot]net

Alias /rt "/usr/share/rt3/share/html"

<Location /rt>
    SetHandler perl-script
    PerlHandler RT::Mason
</Location>

then, the [PT] is required to make the Alias work.

Tab Bennedum, Codacon, LLC tab![at]codacon![dot]com

Make sure you issue the command:

ln -s /usr/local/rt3/bin/rt-mailgate /etc/smrsh/rt-mailgate

or you will not be able to use rt-mailgate with sendmail.

Tim McKee, SDN Global, tmckee < at > sdnglobal /dot/ com

If you have not installed the CPAN module DBD::mysql make sure you also install the rpm's:

MySQL-devel-4.0.22-0

MySQL-shared-4.0.22-0

These, in turn require zlib-devel and zlib itself. I fixed the DBD::mysql complaint about not finding zlib.[a|so] by making a symlink in my /usr/lib dir to zlib.so, e.g.

$ ln -s /usr/lib/libz.so.1.2.1.2 /usr/lib/libz.so

Also, a handy command to automatically install all CPAN dependencies for RT:

$ perl sbin/rt-test-dependencies --with-mysql --with-modperl2 | grep MISSING | \

  awk '{print $1}' | xargs -i -t perl -MCPAN -e'install {}'

That is all. I hope this helps someone.

Mr. Fantastic

Below are some of the steps I had to go through to get rt-3.2.2 installed on FC3 and apache2:

  • If you're using MySQL => 4.1.9 make sure you update DBD::MySQL via CPAN or RPM (try rpm.pbone.net).
  • Like FC2, Log::Dispatch failed to install without manual intervention because of dependencies. Module::Build was the toughest one, even after installing all of it's dependencies it was still failing during make. Workaround was to download Module-Build-0.2607 (from cpan.uwinnipeg.ca) and build by hand.
  • Multiple instances of rt was a requirement so fastcgi was necessary. Vanilla httpd install in FC3 does not include mod_fastcgi.so module. Make sure you install httpd src (or install a new copy of Apache) if you want to use APXS to install the module. Alternatively, one can build by hand.
  • Despite proper permissions, apache/fastcgi was still complaining about not being able to get to RT_*Config.pm files and writing to the defined tmp directory. I put the owner of apache processes into rt group.
HTH.

Are you write, that RT doesn`t support modperl2 (http://wiki.bestpractical.com/index.cgi?ManualRequirements), but here you write to setup it. Strange...