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
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.
This is a guide on how to install the current "yum" version of RT 3.x on a Fedora Core 7 server using Sendmail as a mail server.
Note: Specifics may differ from system to system. As of July 17 2007, the current version of RT installed via "yum install rt3" is rt3-3.6.3-1
This installation procedure is being tested on a system with the following software already installed:
* Fedora Core 7 * Apache2 httpd-2.2.4-4.1 * MySQL 5.0.37-2 * Perl 5.8.8-18
Portions of this document were shamelesssly copied from the original ManualInstallation guide and the FedoraCore5InstallGuide. Thanks are due to the authors of those documents. This document is by no means close to being complete... as I learn what needs to be done, I'll keep adding info until I have a working install :-)
1. OS Installation
Install Fedora Core 7 and install mysql and apache. Also, you will probably need to disable SELinux, or visit that page for details on configuration. If you can access the database with the mysql command, but trying to view the RT page gets you a database error in error_log, SELinux may be the problem, see messages or audit.log for more information.
It's probably a good idea to update your installation with the latest patches:
* yum update
Make sure httpd and mysql services are running:
* service mysqld start * service httpd start
Note: To start the httpd and mysqld service automatically at startup (after reboot):
chkconfig httpd on
chkconfig mysqld on
2. RT Installation
With the OS correctly installed and apache & mysql running, we can now proceed with the RT stuff.
A version of RT3 can be easily installed using Fedora's "yum" installation utility:
* yum install rt3
The above command will prompt you for the installation of RT3, as well as any other required packages for RT3 which are not yet installed on your machine. After installation completes, all the necessary components for RT3 should now be present on your machine.
2.1 Installation Locations
* /etc/rt3 - RT3 configuration files * /etc/httpd/conf.d/rt3.conf - RT3 configuration file for apache * /usr/sbin/rt3-* - RT3 "helper" applications * /usr/share/doc/rt3 - documentation * /usr/share/rt3/html - installed files for RT3 to be accessed via the web interface
2.2. Fedora-specific configuration of RT3
See the file /usr/share/doc/rt3-3.6.3/README.fedora for details of configuration of RT3 for FC7. Follow the instructions as indicated.
2.3. Web server configuration
Obviously, you need to set the DocumentRoot to /usr/share/rt3/html or symlink /var/www/html to /usr/share/rt3/html
* yum install mod_fcgid
Obtain perl-FCGI from http://dag.wieers.com/rpm/packages/perl-FCGI/ and install
Add to /etc/httpd/conf.d/rt3.conf:
LoadModule fcgid_module mod_fcgid.so # Use FastCGI to process .fcg .fcgi & .fpl scripts # Don't do this if mod_fastcgi is present, as it will try to do the same thing <IfModule !mod_fastcgi.c> AddHandler fcgid-script fcg fcgi fpl </IfModule> # Sane place to put sockets and shared memory file SocketPath run/mod_fcgid SharememPath run/fcgid_shm # Main instance Alias /rt/NoAuth/images/ /usr/share/rt3/html/NoAuth/images/ ScriptAlias /rt /usr/sbin/mason_handler.fcgi Alias /rt "/usr/share/rt3/html"
So far, I have been unable to make RT work with mod_fcgid
- yum install perl-Apache-DBI
- yum install mod_perl
LoadModule perl_module mod_perl.so Alias /rt "/usr/share/rt3/html" PerlModule Apache::DBI PerlRequire /usr/sbin/webmux.pl <Directory /usr/share/rt3/html> AllowOverride All Options ExecCGI FollowSymLinks <IfModule mod_access.c> Order allow,deny Allow from all </IfModule> </Directory> <Location /rt> RewriteEngine On RedirectMatch permanent (.*)/$ $1/index.html AddDefaultCharset UTF-8 SetHandler perl-script PerlHandler RT::Mason </Location> <VirtualHost your.ip.address> ServerName your.rt.server.hostname DocumentRoot /usr/share/rt3/html AddDefaultCharset UTF-8 PerlModule Apache2 Apache2::compat PerlModule Apache::DBI PerlRequire /usr/sbin/webmux.pl <Location /> SetHandler perl-script PerlHandler RT::Mason </Location> </VirtualHost>
Alias /rt3 /usr/share/rt3/html/
to the VirtualHost for RT.
* /sbin/service httpd restart
2.4. Database configuration
Edit /etc/rt3/RT_SiteConfig.pm to meet your site needs.
* mysqladmin -u root password <mysql-root-password> * /usr/sbin/rt-setup-database --action init --prompt-for-dba-password
NOTE: My database is on a separate server, and /usr/sbin/rt-setup-database wasn't working for me. At the mysql> prompt, run:
GRANT ALL ON *.* to 'root'@'ip.of.rt3.host' IDENTIFIED BY '<PASSWORD>' WITH GRANT OPTION
2.5. Helpful utilitilies
* /usr/sbin/rt-crontool * /usr/sbin/rt-dump-database * /usr/sbin/rt-mailgate * /usr/sbin/rt-setup-database
3. Setting up RT to talk to your mail gateway
3.1. Documentation for setting up the mail gateway can be found by typing:
* man rt-mailgate
3.2. You need to tell your Mail Transfer Agent (ex. sendmail, postfix, or qmail) how to forward messages to RT's mail gateway. To do this, create an aliases in your system's mail aliases file. Here's an example, which routes mail to the mailbox [=email@example.com] (and [=firstname.lastname@example.org]) into new tickets in the RT queue named General. Note that the queue name is case-insensitive.
Add the following lines to /etc/aliases (or your local equivalent such as /etc/mail/aliases):
NOTES: When you add each line above they should be all one line; make sure you include the quotes. Replace general with the name of your queue and rt with the email address you wish people to send their messages to. You might, for example, have messages to support go into the service queue, and abuse go into the ops queue. You can have more than one set of aliases point to the same queue, if, for example, you wanted mail to both abuse and security both go to the ops queue.
The queue name may have spaces. rt-mailgate works as well with them, do not forget to escape these spaces by enclosing the queue name in single quote:
my-queue: "|/usr/sbin/rt-mailgate --queue 'My Queue' --action correspond --url http://localhost/"
If you are using the default sendmail you may need need to cp rt-mailgate to /etc/smrsh or create a symbolic link and change /usr/sbin above to /etc/smrsh or sendmail will complain. These sendmail's will only execute programs as alias targets which have been blessed by placing them in a special directory.
You'll choose from "--action correspond" and "--action comment" depending on whether the mail should be resent to the requestor. If you want the requestor to see it, choose correspond; if you want to keep it from the requestor, choose comment. The URL will be the URL for RT's web interface; whatever is the root of your RT install.
(If you're using sendmail be sure to install the sendmail-cf package to facilitate the changes that follow. You may find your installation defaults to not accepting external mail. If this is the case, to accept mail from other sources you need to remove the loopback restriction directive from the sendmail configuation. To do this, modify the following in sendmail.mc:
and remove the localhost restriction:
The update the sendmail.cf file with make:
make -C /etc/mail
3.3. Stop and start your mail server, so it picks up your configuration changes. (Postfix just requires you execute `newaliases`, probably via sudo.)
3.4. Change the password. The default root password for the web interface is password, as installed. Changing this should be the first thing you do after installation.
Until you configure RT, RT will not be able to send or receive email, nor will it be more than marginally functional. This is not an optional step. RT has many configuration options, and you should read Chapter 4: Adminning RT for a broader view, but here's a quick guide to things you should probably look at.
4. Creating users
In its default configuration, RT uses an internal users database to keep track of who can access RT and who has which rights within the system. One of your first tasks should be to create users for anyone who will need to work with tickets within RT.
click Configuration -> click Users -> click New user
For more details, see 'Users: Creating a user' in ManualAdministration.
5. Granting User Rights
RT provides a rich access control system that allows rights to be granted to groups, individual users and users in specific roles.
To allow arbitrary remote users to submit tickets into a given queue by email, grant the system group Everyone the rights See Queue, Create Ticket, Reply To Ticket, and Comment On Ticket for that queue.
If you intend to let ticket requestors use the requestor-mode web interface, you should grant the role of Requestor the right Show Ticket.
To make sure your staff can work with tickets, you should grant them all the following additional rights:
* !ShowTicket * !ShowTicketComments * Watch * !WatchAsAdminCc * !OwnTicket * !ModifyTicket
For more details, see Users: Granting user rights in ManualAdministration.
6. Creating queues
By default, RT has one queue called 'general'. You might want to change the values for this.
click Configuration -> click Queues -> click general
To create a new queue:
click Configuration -> click Queues -> click New queue
For more details, see Queues in ManualAdministration. 7. Setting up scrips
The default global Scrips installed with RT 3 are:
* On Create, Autoreply to Requestors with Global Template: Autoreply * On Create, Notify AdminCcs with Global Template: Transaction * On Correspond, Notify AdminCcs with Global Template: Admin Correspondence * On Correspond, Notify Requestors and Ccs with Global Template: Correspondence * On Correspond, Notify Other Recipients with Global Template: Correspondence * On Comment, Notify AdminCcs as Comment with Global Template: Admin Comment * On Comment, Notify Other Recipients as Comment with Global Template: Correspondence * On Resolve, Notify Requestors with Global Template: Resolved * On Correspond, Open Ticket with Global Template: Blank (this scrip replaces old built-in behavior that would automatically open tickets if privileged users replied to a new ticket or if anyone replied to a stalled or closed ticket.)