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.

This page 'MacOSXServerTiger' 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.

This section is currently a bit disjointed, because there are some issues surrounding which versions of the OS are being used. If you are going to contribute here, please be very explicit about where you're attempting this. --Justin Clayton

  • 10.4.8 Server -- I've added some notes at the bottom. There are some decided quirks. (Jeff Berry)
  • 10.3 Server: does not meet the prerequisites for perl and some other dependencies of RT, so you'll have to sandbox install them yourself. Having said that, it's not that difficult. Also, enabling mail services on Mac OS X Server on a site that otherwise doesn't do mail (or a site where you don't want to route RT mail through your main mail server system) is completely trivial. I had this running in hours, not days. --Justin Clayton
  • 10.4 Client: I've successfully installed RT 3.4.2 on OS X 10.4 (that's OS X client, not even server). I did not have to compile apache or perl (only the usual download/install perl modules). --Bryan Derman
    • The one caveat I'd add to this is that if the machine you're installing RT on has multiple roles, messing with the vendor-supplied perl/apache may negatively impact other services. --Justin Clayton
  • Detailed recipie (OSX 10.4 client with Xcode was used for this install. For some reason, the version I was using did not have ModPerl installed. Others have said their version had this. Mine did not. -- Scott Yoshinaga)

I spent a few days trying to get this to install and after a number of retries I actually got it to work. Here are my documented steps that may or may not work for you. So with that said YMMV:

1) Install Mysql from package

2) Follow these steps to install DBD::mysql

3) Download expat from this is needed to complete the cpan install for XML::RSS

4) Run CPAN for the first time open Terminal

% perl -MCPAN -eshell
cpan[1]> quit

5) Download rt from

6) Do:

% ./configure
% make testdeps
% make fixdeps

7) repeat

% make testdeps
% make fixdeps

until all dependencies are taken care of

8) Apache::TEST will not allow you to install as root. You MUST download this seperately and install it as a normal user (you can't be root to install this)

9) Download latest apache

10) Download latest modperl

11) download php5

12) Follow these steps to set up mod_perl with php in apache (what a bitch!)

% cd /usr/src
% lwp-download
% lwp-download
% tar -zvxf apache_1.3.20.tar.gz
% tar -zvxf mod_perl-1.26.tar.gz
% cd mod_perl-1.26

open Makefile.PL search for ./Configure and add --enable-module=so (in the version I used it was line 1042)

% perl Makefile.PL APACHE_SRC=../apache_1.3.20/src \
% make && make test && make install
% cd ../apache_1.3.20
% make install

13) Install php Instructions taken from here : web:

% ./configure --with-mysql=/usr/local/mysql --with-apxs=/usr/sbin/apxs
% make
% make install
% cp php.ini-dist /usr/local/lib/php.ini

Edit your httpd.conf to load the PHP module. The path on the right hand side of the LoadModule statement must point to the path of the PHP module on your system. The make install from above may have already added this for you, but be sure to check.

For PHP 4:

  LoadModule php4_module libexec/

For PHP 5:

  LoadModule php5_module libexec/

And in the AddModule section of httpd.conf, somewhere under the ClearModuleList, add this:

For PHP 4:

  AddModule mod_php4.c

For PHP 5:

  AddModule mod_php5.c

Tell Apache to parse certain extensions as PHP. For example, let's have Apache parse the .php extension as PHP. You could have any extension(s) parse as PHP by simply adding more, with each separated by a space. We'll add .phtml to demonstrate.

  AddType application/x-httpd-php .php .phtml

It's also common to setup the .phps extension to show highlighted PHP
source, this can be done with:

  AddType application/x-httpd-php-source .phps

14) test apache config

% apachectl configtest

15) restart apache

% apachectl start

16) download Apache::DBI and manually install it. NOTE: Don't try with cpan as one test will fail and you will need to force install

17) test apache config 18) start apache 19) Set up RT.

That's all. Hope this helps anyone who was as frustrated as I was trying to set this up.

--Scott Yoshinaga

10.4.8 Server

This assumes you've got ManualRequirements and ManualInstallation handy.

The Good

  • This version of the server comes with mysql 4.1.13
  • The mod_perl and php that come with the server all seem to work pretty well, too.

The Bad

RT requires a million perl modules. Using CPAN will help. I suggest that you install the Mac::Glue pretty early in the process. If stuff fails to install, don't force it. Get out of CPAN and do it manually. Since Mac tends to like you to do things via sudo (not a bad idea) you sometimes find yourself needing to either "sudo perl -MCPAN -e shell" or NOT doing it as sudo (for some of the Apache modules, for instance.) The RT included fixdeps didn't work for me at all.

The Ugly

  • XML modules are tricky. If you have trouble getting your "Default XML Parser" to work properly (and I certainly did) try looking at in your /Library/Perl/<version>/XML/SAX/parserDetails.ini
  • Getting DBD::mysql to install was a nightmare. The base problem seems to be that the flags passed in from mysql_config don't work. So you have to override them. I had luck with this:
sudo perl Makefile.PL --cflags="-I/usr/include/mysql" --libs="-L/usr/lib/mysql -lmysqlclient -lz -lm"

Hope this is useful ... Jeff Berry