Skip navigation

Let’s face it – there isn’t alot of helpful documentation out there when it comes to installing request-tracker. Hopefully this guide can answer some questions.

For those of you who don’t know what request-tracker is, it’s a rather extensive open source ticket and request management system.

I’m making the assumption that you do not have apache2, mysql and a few other bits and pieces installed.
If you do, you may need to approach some of the steps differently.

Become root:
sudo -s

Ensure your system is up to date:
apt-get update
apt-get upgrade

Install build-essential and unzip:
apt-get install build-essential unzip

Update cpan configuration:
cpan
o conf init
o conf prerequisites_policy follow
o conf commit
exit

Install apache2/libapache2/mysql/postfix (if you haven’t already):
apt-get install apache2 libapache2-mod-perl2 mysql-server postfix

Download request-tracker 3.8.2:
wget http://download.bestpractical.com/pub/rt/release/rt-3.8.2.tar.gz

Untar the archive:
tar zxvf rt-3.8.2.tar.gz
cd rt-3.8.2

Configure:
./configure

Check if you have the required dependencies (chances are you need to install them):
make testdeps

If you are warned that you have missing dependencies, escape and perform the following. Otherwise, skip to make install (below).

Install YAML:
perl -MCPAN -e 'install +YAML'

Download and install the required dependencies (select yes at all prompts):
make fixdeps

You might find a dependency or two may fail, try (select yes at all prompts):
RT_FIX_DEPS_CMD='/usr/bin/perl -MCPAN -e"install %s"'
perl -MCPAN -e 'install Bundle::LWP'
make fixdeps

Now let’s make sure that all the dependencies have been installed:
make testdeps

If successful, we should be prompted with:
All dependencies have been found.

We can now install request-tracker 3.8.2:
make install

This will install request-tracker to /opt/rt3

Create a copy of request-tracker’s main configuration file (incase things go wrong):
cp /opt/rt3/etc/RT_SiteConfig.pm /opt/rt3/etc/RT_SiteConfig.pm.old

Open RT_SiteConfig.pm for editing:
pico /opt/rt3/etc/RT_SiteConfig.pm

Replace the contents of the existing file with the following:

# RT_SiteConfig.pm
#
# These are the bits you absolutely *must* edit.
#
# To find out how, please read
# /usr/share/doc/request-tracker3.6/NOTES.Debian


# THE BASICS:

Set($rtname, 'support.example.org');
Set($Organization, 'example.org');
Set($CorrespondAddress , 'support@example.org');
Set($CommentAddress , 'support-comment@example.org');

Set($Timezone , ‘GMT’); # obviously choose what suits you

# THE DATABASE:


Set($DatabaseType, 'mysql'); # e.g. Pg or mysql

# These are the settings we used above when creating the RT database,
# you MUST set these to what you chose in the section above.

Set($DatabaseUser , 'rtuser');
Set($DatabasePassword , 'wibble');
Set($DatabaseName , 'rt3'); # Ensure this is set to rt3!

# THE WEBSERVER:

Set($WebPath , "/rt");
Set($WebBaseURL , "http://host.example.org");
1;

Administer mysql as root:
mysql -u root -p

Create the rt3 database and grant the appropriate permissions:
GRANT ALL PRIVILEGES ON rt3.* TO 'rtuser'@'localhost' IDENTIFIED BY 'wibble'; FLUSH PRIVILEGES;

Exit mysql administration:
exit

Populate the rt3 database:
make initialize-database

Make a copy of httpd.conf:
cp /etc/apache2/httpd.conf /etc/apache2/httpd.conf.old

Edit httpd.conf:
pico /etc/apache2/httpd.conf

Replace the contents of this file with the following:

<VirtualHost *:80>
ServerName http://www.example.com
ServerAdmin Email.Address@example.com

# config for your main content
DocumentRoot /var/www
<Directory /var/www>
# here and in other places goes config
# of your main host
</Directory>
# as RT is out of document root then we want alias
# and should define directory access

Alias /rt/ /opt/rt3/share/html/
<Directory /opt/rt3/share/html/>
Order allow,deny
Allow from all
</Directory>

PerlRequire /opt/rt3/bin/webmux.pl
<Location /rt/>
AddDefaultCharset UTF-8
SetHandler perl-script
PerlHandler RT::Mason
</Location>
</VirtualHost>

Restart apache2:
/etc/init.d/apache2 restart

Browse to:
http://yourbox/rt/

Update:
The default username and password for the request-tracker portal is root/password.

Bingo!

I understand that request-tracker has the ability to amend incoming e-mail to a specific request queue, however, I am having difficulty getting postfix to play nice with my Exchange server.

This guide will be updated when I figure it out!

Advertisements

15 Comments

  1. Hello Friend,

    First of all i must say thank you for such a specific and helpful article. I have installed successfully on my Ubuntu (8.10). I have followed the exact steps you have mentioned. but now i’m not able to log in to my local RT. i tried to rest password in mysql but still doesn’t work. Please give me some pointers on it.

    Thanks and Regards,
    Kunal

  2. Hi kunal,

    The default username/password for logging into the request-tracker portal is root/password.

    Trust this solves your problem.

  3. I have followed your instructions, with no errors. but, when i go to my site (http://mysite.mydomain.com/rt), i get a very weird looking login page with no graphics whatsoever. Any link on this page results in ‘page not found’ errors. Help!

  4. Hi mushu,

    Your missing a forward-slash on the end of your URL.

    It should be http://mysite.mydomain.com/rt/

    This has been set explicitly in httpd.conf (see the line beginning with ‘Alias’)

  5. http://mysite.mydomain.com
    http://mysite.mydomain.com/rt
    http://mysite.mydomain.com/rt/

    All result in the same login page displayed, without any graphics. I know the login root/password works, because that gets me to another page with a few links, once again, nothing more than a plain text layout and after that all links show: page not found.

    I wonder if its a permissions thing on /opt/rt3/share/html folder? I see all files/folders show as root:bin for permissions. Should apache’s www-data not be set for permission? Sorry, I am new to Linux, and thats all I can think of …

  6. Apologies. With all of the edits I had been doing, things got quite messed up in httpd.conf. I started from scratch (although it *:80 caused errors on apache start, I had to explicity state the IP address as . Anyway, it works!

    One question, since this server will not ever be used for anything other than rt, how do I get http://mysite.mydomain.com to directly go to rt, so users dont need a /rt/ at the end of the url? is it as simple as just changing document root?

  7. Hi mushu,

    Set DocumentRoot and Directory to /opt/rt3/share/html/

    Ensure the following is between the Directory tags:
    Order allow,deny
    Allow from all

    Set Location to /

    Add the following between the Location tags:
    AddDefaultCharset UTF-8
    SetHandler perl-script
    PerlHandler RT::Mason

    Ensure you include:
    PerlRequire /opt/rt3/bin/webmux.pl

    Remove any reference to the /rt/ alias.

    Make sure you restart apache 🙂

  8. Hi, I am not very familiar with perl, and am trying to install RT. When I run “sudo make fixdeps” I get this error:

    Install module HTTP::Server::Simple::Mason
    Going to read ‘~/.cpan/Metadata’
    Database was generated on Tue, 09 Jun 2009 23:26:57 GMT
    CPAN: YAML loaded ok (v0.68)
    Going to read 81 yaml files from ~/.cpan/build/
    ………………………..DONE
    Restored the state of 81 (in 0.9925 secs)
    HTTP::Server::Simple::Mason is up to date (0.11).

    SOME DEPENDENCIES WERE MISSING.
    STANDALONE missing dependencies:
    HTTP::Server::Simple::Mason >= 0.09…MISSING
    make: *** [fixdeps] Error 1

    Any idea why it says a dependency is missing? I can’t “make install” either because it chokes on the supposed missing dependency.

  9. Hi Erik,

    Try the following (as root):
    perl -MCPAN -e ‘install Bundle::LWP’
    make fixdeps

    I had a similar problem installing Mason dependencies, the above fixed it for me.

    Good luck, let me know if this solves your issue.

  10. Thank you for the guide, it’s been very useful.

    I’m failing when it comes to configuring Apache – trying to restart it after editing httpd.conf gives the following error:
    “Invalid command ‘PerlRequire’, perhaps misspelled or definded by a module not included in the server configuration”

    It’s been a while since I played with Apache, do you have any ideas?

  11. Hi smellystudent,

    Ensure you have libapache2-mod-perl2:

    sudo apt-get install libapache2-mod-perl2

    Should fix your problem 🙂

  12. Very nice and usefull tutorial, but I using the following Apache configuration in my ubuntu:

    DocumentRoot /opt/rt3/share/html
    ServerName rt.domain.hu
    ErrorLog /www/domain/log/error.log
    CustomLog /www/domain/log/access.log combined
    AddDefaultCharset UTF-8

    Order allow,deny
    Allow from all

    PerlRequire /opt/rt3/bin/webmux.pl
    AddDefaultCharset UTF-8
    SetHandler perl-script
    PerlHandler RT::Mason

    You can put it to a file in /etc/apache/sites-available and can use the a2ensite command.
    It has an own subdomain and working properly.

  13. These configs werent even close man, update please

    • This configuration works for me (and I’ve used it multiple times on the same box). You must not be following it correctly.

      Where exactly are you running into trouble? What distro/version of rt are you using?

  14. The grant all privileges part is giving me a ERROR 1064(42000) saying that i have an error in my syntax.

    and says something about checking the manual for the right syntax to use near ‘mysql -u root -p’.

    Any clues?


One Trackback/Pingback

  1. By Upgrading to request-tracker 3.8.3 « catcon on 09 Jun 2009 at 10:25 pm

    […] dependencies should be found. If not, you may have to download and install these through CPAN. See this blog post for more information on satisfying request-tracker […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: