FreeBSDInstallGuide

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.


Available Ports

www/rt36

www/rt38

Installing any of these involves:

cd /usr/ports/www/rtXXX

make install clean

You'll probably want to check out the Fresh Ports site for details on each of these:

http://www.freshports.org/www/rt36 currently shows www/rt36 is vulnerable http://www.freshports.org/www/rt38 this shows www/rt38 to be most current

BEWARE: THE RT38 PORT HAS A CUSTOMIZED CONFIG.LAYOUT WHICH BREAKS THE STANDARD RT MECHANISM FOR LOCAL CUSTOMIZATION. DO NOT USE THAT PORT IF YOU WANT THE FLEXIBILITY TO CUSTOMIZE RT CLEANLY.

Build Options

<strong>RT32</strong>
UPGRADE_RT30 Upgrading from a RT 3.0 installation
INITIAL_INSTALL Do initialize DB (for initial install only)

|WITH_FASTCGI|Use FastCGI instead of mod_perl|

WITH_APACHE2 Use Apache2 as the web server

|DB_TYPE=type|mysql, Oracle, Pg or SQLite (default: mysql)|

DB_HOST=hostname The database host (default: localhost)
DB_PORT=port The database port
DB_DATABASE=port The database name (default: rt3)
DB_DBA_USER=username Name of database administrator (root)
DB_DBA_PASSWORD=password Password of database administrator
DB_USER=username Name of database user for RT (default: rt_user)
DB_PASSWORD=password Name of database password for RT (default: rt_pass)
<strong>RT3</strong>
INITIAL_INSTALL Do initialize DB (for initial install only)

|WITH_FASTCGI|Use FastCGI instead of mod_perl|

WITH_APACHE2 Use Apache2 as the web server

|DB_TYPE=type|mysql, Oracle, Pg or SQLite (default: mysql)|

DB_HOST=hostname The database host (default: localhost)
DB_PORT=port The database port
DB_DATABASE=database The database name (default: rt3)
DB_DBA_USER=username Name of database administrator (root)
DB_DBA_PASSWORD=password Password of database administrator
DB_USER=username Name of database user for RT (default: rt_user)
DB_PASSWORD=password Name of database password for RT (default: rt_pass)

Getting Perl Installed

RT requires Perl-5.8.3 or greater.

For a fresh installation when no other ports of Perl have been installed:

cd /usr/ports/lang/perl5.8

make install clean

Upgrade 5.8.x to the current ports version:

portupgrade perl

Upgrade 5.6.1 to the current ports version:

portupgrade -o lang/perl5.8 perl-5.6.1

Now tell FreeBSD to use Perl-5.8.x instead of the 5.00x version included with the base install.

use.perl port

Which can be reversed with:

use.perl system

Note: if you already had some PERL-modules installed, you'll have to re-install them after you upgraded perl, or you might run into problems. See the UPGRADING-file in /usr/ports/. It should be pointed out that FreeBSD is probably one of the platforms RT is easiest to install on, if not the easiest. But this demands that the administrator has some familiarity with the OS and the way "things work" in FreeBSD land - consult the excellent handbook on the FreeBSD-website. The reward is an almost painless installation of RT with instant productivity gains.

make clean install

Configuration

Section 7 in ManualInstallation should get you started.

Upgrading

These are my notes from when I upgraded from 3.4.2 to 3.8.2 on FreeBSD: FreeBSDupgradeTo3_8_2

Problems and Workarounds

Strange Issue

After a fresh install on FreeBSD 5.4, port "rt34 3.4.2", I get the following error upon starting Apache:

Use of uninitialized value in numeric eq (==) at /usr/local/lib/perl5/site_perl/5.8.6/CGI/Cookie.pm line 26.

any ideas? Thanks

Same here

I get the same error overhere on a FreeBSD 5.3-RELEASE box, port www/rt34 also.

Workaround For Apache Error

I solved my problem with the Cookie.pm error;

Use of uninitialized value in numeric eq (==) at /usr/local/lib/perl5/site_perl/5.8.6/CGI/Cookie.pm line 26.

by modifying the Cookie.pm to look like the below:

Turn on special checking for Doug MacEachern's modperl my $MOD_PERL = 0; if (exists $ENV{MOD_PERL}) {

if (defined($ENV{MOD_PERL_API_VERSION}) &&

      $ENV{MOD_PERL_API_VERSION} == 2) {
    $MOD_PERL = 2;

Different Workaround For Apache Error

I use Debian, but it will work for you also Got through it by upgrading CGI.pm

  • cpan install CGI::Cookie

    Suddenly crash (nginx, fastcgi)

    In some cases RT crashes suddently without giving something in logs.

Reason is: RT receives SIGPIPE when trying to write to the socket, but nginx already closed connection. In this case perl immediately exits.

Workaround is: add to RT_SiteConfig.pm SIGPIPE handler:

$SIG{'PIPE'} = sub { 
        print STDERR "SIGPIPE @_\n";
};