DebianSqueezeInstallGuide

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.

The following guide describes the basic steps on how to install Request Tracker 4 (RT4) on Debian 6 (Squeeze).

This guide shows how to install RT4 using apt, this is done by using the squeeze-backports source in combination with the stable tree.

Or one can use the puppet-rt module to do this work. puppetforge | github_project | pull_request_supporting_debian. The Debian pull request linked here was written based on the recipe below, and as of this writing provides RT 4.0.19 (while BestPractical.com is currently offering version 4.2.7 in its latest source installation). I only a moment ago completed my first successful test of this procedure, but over the next day or so, intend to extend the day's work to provide me a working installation and home for my migrated RT 3.8.2 legacy installation. puppet-rt on the use of the puppet-rt module are included below.

Requirements

To begin, make sure that you have a base system installed.

The actual installation of the Debian OS is something that I'll leave to your imagination. I have my own preferences but someone else will have their own.

So, in general you just need a Debian Squeeze installation somewhere (desktop even, doesn't matter much for this guide).

This instructions also work for Debian 7.0 Stable (Wheezy)

Repositories

The first thing, after having a working Debian Squeeze installation, is to setup the repositories. The stable repository only has RT 3.8, but ther'es a nifty Debian repository which will allow you to install the latest RT version.

This is the backports repository; you can find specific information about the backports repo on this page: http://backports-master.debian.org. It's officially supported by Debian, so it's a nice and clean way for installing RT 4.

And in Debian Squeeze, when you install something from the backports it will also update other packages from the backports repository.

Below are the steps of adding the repository to your sources.lst:

(login as root, or use sudo with the below commands)

# nano -w /etc/apt/sources.list
...
# Squeeze Backports (add at the bottom)
deb http://backports.debian.org/debian-backports squeeze-backports main

Now update your repositories:

# aptitude update

That's all for the repositories, the next step is using the backports to install RT 4.

Install RT 4

Since we already have the repositories setup you can install RT 4 with the following commands.

First pick a database

To begin, make sure you install one of the three database choices. The first package installs the actual database, the second installs the client dependencies for RT.

PostgreSQL

aptitude install postgresql rt4-db-postgresql

MySQL

aptitude install mysql-server rt4-db-mysql

Sqlite

aptitude install sqlite rt4-db-sqlite

This will install both the client and server modules needed for the database.

After installation make sure that your database is running:

# service postgresql [status|start|stop|restart]
# service mysql [status|start|stop|restart]

This part is important for the next steps, the DB server needs to be up and running.

Secondly, install RT4

And now install RT 4 itself, at the moment of this writing this means that you'll be installing RT 4.0.4.

aptitude install rt4-apache2
aptitude install request-tracker4

During the installation you'll be asked a bunch of questions, follow the steps and you'll be ok :-) This will create the RT database, configure the DB + the basics for RT.

The last step is to setup apache2 for RT, there are sample configuration files located under /etc/request-tracker4/.

Pick your config and configure it under /etc/apache2/sites-available, from there make a symlink from that file to /etc/apach2/sites-enabled.

open apache2 configuration file.

 vi /etc/apache2/sites-available/default

At the end of this file :

 Include /etc/request-tracker4/apache2-modperl2.conf
 RedirectMatch ^/$ /rt
 </VirtualHost>

Then restart apache (service apache2 restart) and see if RT is up and running.

And voila, you've now installed RT 4 on Debian Squeeze using apt :-)

  • It might happen that aptitude complains about some perl dependencies being outdated. You can update those specific packets using the following command (these are the ones that were complaining on my end):
aptitude -t squeeze-backports install libdbix-searchbuilder-perl liblog-dispatch-perl libhtml-rewriteattributes-perl libplack-perl -y

This forces aptitude to update those packets using the backports repository.

Or just install the package 'request-tracker4' via synaptic and everything will be smooth sailing.

puppet-rt

Today I adapted the recipe in the above article (by another author) to extend the Suse supporting puppet-rt module to provide for an RT installation on a Debian server. Its use has been tested on an Ubuntu 14.04 LTS installation. /etc/debian_version reports: 'jessie/sid'. Presumably (and I say this without having tested this), this module should work on any Debian 6 or 7 installation as well as Ubuntu 10, 12 or 14.

As I write this, I have already pushed my changes to my fork on github. Over the next day or so, I expect to wrap up work on this project and submit a pull request to the upstream project. If accepted, presumably a future version will get pushed to the puppet forge where you can install the requisite module on which this recipe is dependent as follows:

puppet module install -i /etc/puppet/modules darin-rt

If you are not patient enough for that, feel free to clone my github repo for this project (linked in the preceding paragraph). A base installation has already passed trivial tests on a docker container in my environment, though I have not tried yet to use this module to install any of the external plugins, nor to configure any queues (which is outside of the requirements of my current migration; I expect those to be imported when I attach and upgrade my legacy database). I did update the rt::params module to reflect the package names available in the backports repository for external plugins. But I have not tested their use yet.

Once you have installed the puppet forge RT module, in your own puppet manifest, you want to add something like the following in a file called /etc/puppet/environments/<environment_name>/modules/my_rt/manifests/init.pp:

class my_rt { class { "rt": dbtype => "postgres", apt_backports => true  } }

And then you only need to add this to the manifest which builds your target node:

include my_rt

and run this on that node:

puppet agent -t

or simply wait for the next catalog compilation (which happens at thirty minute intervals by default if the puppet agent has been daemonized).

For my purposes, I have been testing this with postgresql. The backports repository includes packages which will presumably support mysql and sqlite3 as well. The code in the original puppet forge module which I have extended suggests that oracle is also supported under suse. For my purposes I am only testing the postgresql path.

Feel free to report issues if you encounter them, or better yet to fork the code (here if my own pull request is not accepted, or here if it is) and submit a pull request of your own, preferably with tests and documentation patches.

Configuring RT 4

In general your installation should be done, but you probably want to know the location of your configuration files under Debian. Below a list of the locations that I know of:

  • /etc/request-tracker4
  • /usr/share/request-tracker4

The first contains the basic configuration files, like RT_SiteConfig.pm. The latter contains the actual application.

Also be sure to configure Mailgate if you plan to be able to submit tickets via email.