Difference between revisions of "DebianSqueezeInstallGuide"

From Request Tracker Wiki
Jump to navigation Jump to search
(Created page with "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 usi...")
 
m (21 revisions imported)
 
(20 intermediate revisions by 12 users not shown)
Line 1: Line 1:
{{UnofficialInstallGuide}}
The following guide describes the basic steps on how to install Request Tracker 4 (RT4) on Debian 6 (Squeeze).
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.
This guide shows how to install RT4 using apt, this is done by using the squeeze-backports source in combination with the stable tree.
==Requirements==
 
Or one can use the puppet-rt module to do this work.  [https://forge.puppetlabs.com/darin/rt puppetforge] | [https://github.com/deadpoint/puppet-rt github_project] | [https://github.com/hesco/puppet-rt 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 [http://www.bestpractical.com/ BestPractical.com] is currently offering version 4.2.7 in its [http://download.bestpractical.com/pub/rt/release/rt.tar.gz 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|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.
To begin, make sure that you have a base system installed.


The actual installation of de Debian OS is something that I'll leave to your imagination. I have my own preferense but someone else will have their own.
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)


So, in general you just need a Debian Squeeze installation somewhere (desktop even, deosn't matter much for this guide).
==Repositories==
==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.
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 repostiroy, 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.
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 packets from the backports repository.
And in Debian Squeeze, when you install something from the backports it will also update other packages from the backports repository.


Below the steps of adding the repository to your sources.lst:
Below are the steps of adding the repository to your sources.lst:
  (login as root, or use sudo with the below commands)
  (login as root, or use sudo with the below commands)
   
   
Line 25: Line 32:
  # aptitude update
  # aptitude update
That's all for the repositories, the next step is using the backports to install RT 4.
That's all for the repositories, the next step is using the backports to install RT 4.
==Install RT 4==
==Install RT 4==
Since we already have the repositories setup you can install RT 4 with the following commands.
Since we already have the repositories setup you can install RT 4 with the following commands.
===First pick a database===
===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 dependensies for RT.
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
PostgreSQL
Line 42: Line 50:
  # service mysql [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.
This part is important for the next steps, the DB server needs to be up and running.
===Secondly, install RT4===
===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.
And now install RT 4 itself, at the moment of this writing this means that you'll be installing RT 4.0.4.
Line 52: Line 61:
Pick your config and configure it under /etc/apache2/sites-available, from there make a symlink from that file to /etc/apach2/sites-enabled.
Pick your config and configure it under /etc/apache2/sites-available, from there make a symlink from that file to /etc/apach2/sites-enabled.


Then restart apache (service apache2 restart) and see of RT is up and running.
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 :-)
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):
* 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):
  ptitude -t squeeze-backports install libdbix-searchbuilder-perl liblog-dispatch-perl libhtml-rewriteattributes-perl libplack-perl -y
  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 backporst repository.
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|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 [https://github.com/hesco/puppet-rt 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 [https://github.com/deadpoint/puppet-rt upstream project].  If accepted, presumably a future version will get pushed to the [https://forge.puppetlabs.com/darin/rt 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 ([https://github.com/hesco/puppet-rt/fork here] if my own pull request is not accepted, or [https://github.com/deadpoint/puppet-rt/fork here] if it is)  and submit a pull request of your own, preferably with tests and documentation patches. 
==Configuring RT 4==
==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:
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:
Line 65: Line 105:
The first contains the basic configuration files, like RT_SiteConfig.pm. The latter contains the actual application.
The first contains the basic configuration files, like RT_SiteConfig.pm. The latter contains the actual application.


Hope this helps some of you :-) Enjoy.
Also be sure to configure [[EmailInterface#RT.27s_mail_gate|Mailgate]] if you plan to be able to submit tickets via email.
[[Category:Installation]]
[[Category:UnofficialInstallGuide]]

Latest revision as of 16:08, 6 April 2016

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
 

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