FedoraCore7InstallGuide

From Request Tracker Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


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 'FedoraCore7InstallGuide' 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 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

Use fcgid:

* 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

Use mod_perl:

  • 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>

NOTE: All relative paths refer to rt3/ This breaks all images and Javascript. I fixed by adding:

Alias /rt3 /usr/share/rt3/html/

to the VirtualHost for RT.

* /sbin/service httpd restart
 
 

2.4. Database configuration

From /usr/share/doc/rt3-3.6.3/README.fedora:

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 [=rt@example.com] (and [=rt-comment@example.com]) 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):

rt: "|/usr/sbin/rt-mailgate --queue 'general' --action correspond --url http://localhost/" rt-comment: "|/usr/sbin/rt-mailgate --queue 'general' --action comment --url http://localhost/"

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:

DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

and remove the localhost restriction:

DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl

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.)
 
 

For more details, see Scrips in ManualAdministration and ManualScrips.