Request-Tracker est un outil de gestion des tickets d'incidents. Il est utilisé par de nombreuses sociétés et organisations telles que la NASA, le MIT et plusieurs universités américaines.
Ce dernier repose sur un serveur web, est codé en Perl et nécessite une adresse email dédiée pour être pleinement exploitable.
Du fait de la complexité pour mettre en oeuvre l'ensemble, ceci est plus une documentation rapide pour mettre en place cet outil.
Nous intéresserons donc uniquement à la mise en service de RT et non la configuration des différents serveurs nécessaires.
Nous partons du principe que l'installation du système est récente et que vous cherchez à installer RT sur une base MySQL, en utilisant mod_perl 2.xx qui est installé en standard avec Apache2.
Nous partons aussi du principe que vous ne voulez accéder à votre RT via
http://<votre serveur/nom de domaine>/rt/
Bien qu'il semblerait que le site puisse aussi être accessible par
http://rt.<<votre nom de domaine>>>/
Tapez dans un terminal
sudo apt-get install php5 mysql-server apache2 gcc
Ou cliquez simplement sur le lien suivant si vous êtes sur Ubuntu. apt://php5,mysql-server,apache2,phpmyadmin,gcc
Tapez dans un terminal
wget https://download.bestpractical.com/pub/rt/release/rt.tar.gz
Ou cliquez simplement sur le lien suivant pour télécharger avec votre navigateur https://download.bestpractical.com/pub/rt/release/rt.tar.gz
Dans sa configuration standard, RT s'installe dans le répertoire /opt/rt3/
Tapez dans un terminal
cd <répertoire où se trouve le fichier rt.tar.gz> tar -zxvf rt.tar.gz sudo mv rt-3.8.2 /tmp cd /tmp/rt-3.8.2/ sudo ./configure sudo make testdeps
Vous devriez normalement vous faire gentiment rappeler à l'ordre du fait qu'il manque de nombreuses dépendances et si votre installation est récente de la nécessité d'initialiser CPAN.
Pour se faire, tapez donc ceci
sudo perl -MCPAN -e shell
Vous devriez avoir tout un process de configuration, appuyez simplement sur la touche entrée pour valider toutes les demandes. Une fois que ceci est fait, pour sortir de CPAN, tapez
quit
Il manque toujours les dépendances de Perl. Pour y remédier, tapez
sudo make fixdeps
Attendez-vous à taper sur la touche Entrée de nombreuses fois avant la fin du processus d'installation ou utilisez la commande suivante qui répondra oui partout.
yes | sudo make fixdeps
Une fois fini, retapez
sudo make testdeps
Si vous avez un message indiquant qu'il manque des paquets refaites l'étape make fixdeps jusqu'à ce que tout soit installé.
Il peut arriver qu'un paquet ne s'installe pas de lui-même. Vérifiez les messages renvoyés par make fixdeps, ceux-ci contiennent généralement la commande à taper pour corriger le souci.
Les dépendances sont réglées, tout devrait être en place. Il ne reste plus qu'à taper
sudo addgroup rt sudo newgrp rt sudo make install
Une fois que tout est fini
sudo make initialize-database
Si un problème survient, tapez simplement
make dropdb sudo make install sudo make initialize-database
Il faut maintenant penser à ajouter nos préférences dans le fichier de configuration de RT.
cd /opt/rt3/etc/ gksudo gedit RT_SiteConfig.pm
Et ajoutez juste avant la ligne contenant "1;"
Set($rtname, 'rt.<<votre nom de domaine>>'); Set($Organization , "<<votre nom de domaine>>"); Set($WebBaseURL , 'https://rt.<<votre nom de domaine>>'); Set($WebPath , '/rt');
Tapez
gksudo gedit /etc/apache2/sites-enabled/000-default
et ajoutez-y le code suivant juste avant la balise </VirtualHost>
#RT is out of DocumentRoot 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>
Il faut maintenant redémarrer Apache
sudo /etc/init.d/apache2 restart
En cas de problèmes avec PerlRequire il faut installer le module adéquat pour Apache.
sudo apt-get install libapache2-mod-perl2
Vous devriez maintenant avoir accès à RT.
L'utilisateur par défaut est "admin" et son mot de passe est "password".
Il reste néanmoins à configurer la gestion des emails, afin de permettre à RT d'accepter des tickets par email, ce qui peut s'avérer d'une très grande utilité.
Il faut savoir que RT est en mesure de gérer plusieurs files de tickets. Chacune pouvant être affiliée à une adresse email (un peu comme les mailing lists).
Nous voulons tout d'abord pouvoir récupérer nos emails.
Il suffit d'abord d'installer Fetchmail
sudo apt-get install fetchmail
ou cliquez sur:apt://fetchmail
Puis de le rendre actif en tant que Daemon. Pour cela, éditez le fichier /etc/default/fetchmailrc Et modifiez la ligne
Set START_DAEMON=no
en
Set START_DAEMON=yes
Editez maintenant le fichier /etc/fetchmailrc et ajoutez-y:
set daemon 60 # Vérifie toutes les 60s set invisible set no bouncemail set no syslog set logfile /var/log/fetchmail.log # Ecrit toutes les erreurs et messages dans le fichier /var/log/fetchmail.log # support@example.org pour la création de tickets poll pop.example.org protocol pop3 username "login-of-support-mailbox" password "verysecretpassword" mda "/opt/rt3/bin/rt-mailgate --queue <Nom de la queue voulue> --action correspond --url http://support.example.org/rt/" no keep # support-comment@example.org pour les commentaires poll pop.example.org protocol pop3 username "login-of-supportcomment-mailbox" password "verysecretpassword" mda "/opt/rt3/bin/rt-mailgate --queue <Nom de la queue voulue> --action comment --url http://support.example.org/rt/" no keep
On crée maitenant le fichier qui va recevoir les erreurs et autres avertissements de Fetchmail
sudo touch /var/log/fetchmail.log sudo chown fetchmail /var/log/fetchmail.log
openssl s_client -ign_eof -connect imap.gmail.com:993 > imap.cert openssl x509 -fingerprint -md5 -in imap.cert | grep MD5
Copiez la suite de caractères quelque part, elle va nous servir dans le fetchmailrc.
poll "imap.gmail.com" with protocol IMAP user "user account" password "account password" nofetchall nokeep ssl sslfingerprint "la suite de caractères que vous avez récupéré plus haut" mda "/opt/rt3/bin/rt-mailgate --url http://<l'adresse de votre RT>/ --queue General --action correspond"
Voilà ! Il ne reste plus qu'à vérifier que RT reçoit bien les courriels qui lui sont adressés.
Envoyez donc un courriel à l'adresse email à tester.
Puis tapez dans un terminal afin de voir ce que fait fetchmail:
tail -f /var/log/fetchmail.log
Et dans un autre terminal
sudo /etc/init.d/fetchmail start
Vous devriez voir plusieurs messages indiquant que fetchmail trouve votre email envoyé précédement, et l'ajoute à RT dans la queue que vous avez choisi.
Afin de vous assurer que le ticket correspondant a bien été créé, allez donc faire un tour sur votre installation de RT. Ce nouveau ticket devrait être visible dans le dashboard.
Google Apps requiert de la part de votre serveur postfix d'être muni d'un certificat d'autentification afin d'accepter les courriers envoyés par votre serveur au nom de Google. Heureusement pour nous, Canonical a pensé à nous !
Pour cela, il suffit d'éditer le fichier /etc/postfix/main.cf Et de coller, à la place de la ligne
relayhost =
Le texte suivant:
# GMail as relayhost relayhost = [smtp.gmail.com]:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_tls_CAfile = /etc/postfix/cacert.pem smtp_use_tls = yes
Une fois ceci fait, il faut créer le fichier sasl_passwd.
sudo touch /etc/postfix/sasl_passwd
Editez enfin celui-ci
sudo nano /etc/postfix/sasl_passwd
Et indiquez dedans votre identifiant pour Google Apps de cette façon:
[smtp.gmail.com]:587 user.name@gmail.com:<votre mot de passe>
Ceci fonctionne pour un compte Google, vous pouvez en ajouter autant que vous voulez à condition d'en mettre un par ligne.
Une fois ceci fait, il faut convertir ce dernier afin qu'il soit lisible par postfix.
sudo chmod 400 /etc/postfix/sasl_passwd sudo postmap /etc/postfix/sasl_passwd
Il ne reste plus qu'à ajouter les certificats et relancer postfix.
cat /etc/ssl/certs/Thawte_Premium_Server_CA.pem | sudo tee -a /etc/postfix/cacert.pem sudo /etc/init.d/postfix reload