MINI HOWTO: Setup RT on MacOS Panther

Sorry for the previous post in HTML format. This one is in text only
format and hopefully everyone can see it.

Panther is not well documented. So here is a 10-step guide to
the trials you will encounter and the things out outside of
the documentation that you need to know.

  1. DISABLE THE FIREWALL
    To make setup and debugging a whole lot easier you should
    make sure the firewall is NOT running. Open the firewall
    tab in the Sharing control panel and click Stop if it is
    running.

  2. REPAIR THE BUGGY PANTHER PERL
    Panther has a bug in it that prevents DBD::mysql from
    building! The patch is to edit the file:

/System/Library/Perl/5.8.1/darwin-thread-multi-2level/Config.pm

Locate this line:

    ld='MACOSX_DEPLOYMENT_TARGET=10.3 cc'
    
and replace it with:

    ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc'
  1. BUILD AN APACHE SERVER WITH STATIC MOD_PERL MODULE
    Apache must be built statically with mod_perl. I’ve
    tested the mod_perl that comes with Panther and had very
    bad results.

    a) Get the current mod_perl1 from http://perl.apache.org/
    b) Get Apache 1.3.29 from Download - The Apache HTTP Server Project
    c) For the most part you will use the mod_perl1
    instructions for building and installing your new web
    server. A few catches:
    a) Do NOT trust the quick and dirty guide for the
    impatient! It skips critical steps!
    b) to build the Makefile and configure for Panther’s
    existing httpd.conf you need to add some APACI_ARGS
    that configure Apache. This is done by using this
    command in place of the command provided in the
    mod_perl documentation (broken in to multiple lines
    just for e-mail formatting):

     % perl Makefile.PL APACHE_SRC=../apache_1.3.29/src \
            DO_HTTPD=1 USE_APACI=1 \
            APACI_ARGS="--enable-module=most \
            --enable-shared=max --with-layout=Darwin" \
            EVERYTHING=1
    
  2. REMOVE APPLE’S HFS AND RENDEZVOUS MODULES:
    Edit /etc/httpd/httpd.conf and comment out the lines that
    try to load hfs_apple_module and rendezvous_apple_module.
    There are 4 of them.

    There may be a way to get the hfs and rendezvous modules
    to work. However, this is not something I needed support
    for and spent no time on. I doubt it, but you may find
    help for these modules on http://www.opendarwin.org/. I
    believe they are Apple’s and unavailable as source.

  3. INSTALL MYSQL
    You need mysql before you can build all the Perl
    dependancies for RT. I suggest Complete MySQL from
    http://www.serverlogistics.com/ mysql.php. The Installer
    is a standard MacX install GUI. There are two things you
    must beware of:

     a) To install the Complete MySQL control panel.  Just 
        double-click it.  Don't drag it to the PrefPanes 
        folder.  This behavior was changed in Panther and 
        the documentation for Complete MySQL was not
        updated.
    
     b) DON'T SET A MYSQL ROOT PASSWORD.  A mysql root 
        password will prevent the Perl dependencies from 
        building with CPAN.  If you want to use this 
        feature set the password only after RT is up and 
        running. 
    
  4. INSTALL REQUEST TRACKER
    You should follow the directions provided with RT. A few
    of the perl modules required by RT must be forced to
    install because the tests want to run as user nobody. For
    these 3 or so perl modules just force the install. There
    is also one that has 3 failed tests (98% passed). You
    should force this one to install also as the failures do
    not affect RT. As of this writing, I have only gotten RT
    3.0.8 to work on Panther. 3.0.9 may or may not work.

    To force a perl module to install using CPAN start CPAN
    from the command prompt then use the force install command:

     % perl -MCPAN -e shell
         cpan> force install DBI::mysql
    

    Using DBI::mysql as an example.

  5. SETUP POSTFIX
    The postfix configuration on 10.3 is standard. Refer to
    the Postfix documentation. I cannot explain in detail how
    to configure it because e-mail is unique to your
    environment. However, the things you will need to do
    include enabling SMTP in /etc/postfix/master.cf to let
    your Panther machine get mail from outside hosts. You
    will also need to setup an aliases file to put the RT
    e-mail aliases in. In the postfix file look for
    alias_maps. Then set it up like so:

     alias_maps = hash:/etc/aliases
    

    You then can edit /etc/aliases, add the RT aliases, and
    you are set to go. One small oddity I found with Panther
    is that you have to run two commands to get the aliases to
    “really” take effect:

     # postalias /etc/aliases
     # newaliases
    
  6. SETUP THE FIREWALL AND START IT
    Not ever environment is concerned with security. If you
    are not, leave the firewall off. If you are, turn the
    firewall on but make sure to open ports for web hosting
    (port 80, WWW) and receiving e-mail (port 25, SMTP).

  7. HELP IS ON-LINE
    Check out the RT3 users list at bestpractical.com for any
    problems you bump in to. Google is also a great
    resource. Searching for an exact error message in Google
    groups often shows that someone already had the same
    problem. Once you’ve got it working, you should share
    your wisdom with others and help support free software for
    all.

  8. GO BACK TO STEP 9