A quoi sert cette page ?
Il s'agit d'installer sur un PC vièrge de toute configuration Request Tracker.
La configuration Apache sera complêtement revue, il faudra installer des modules perls ...
Mais qu'est ce donc Request-Tracker... RT est un outil de gestion de requettes (traduction littérale).
Il peut être utilisé dans un contexte de demande de changement (évolution), ou rapports d'anomalies...
Chaque anomalise ou demande de changement est identifiées par un ticket avec des champs personnalisables
contenant des informations permettant de préciser l'environnement
RT permet 3 modes de soumission de tickets :
- Interface Web
- Par mail
- ligne de commandes : pour automatisation ou liaison avec d'autres outils
RT est totalement personnalisable : il est codé en Perl Objet, basé sur le moteur template MASON, et une couche d'abstraction logiciel pour la connexion avec la base de donnée
RT offre une fonctionnalité de notification, afin de prévenir les personnes en rapport avec le Ticket d'une éventuelle évolution de ce dernier.
Plus d'info sur bestpractical.com
Prérequis
Il nous faut..
- Une machine avec Debian Etch (stable) d'installé dessus.. installation de base
- Une connection à Internet
- De bonnes connaissances dans la configuration d'apache et de postfix, afin de personnaliser l'exemple qui marche à vos besoins
- De la patience
Remarque : Les locales de ma machine sont en Anglais pour des raisons historiques.
Installation via aptitude
Je part du principe que votre système de mail est opérationel ici.
A partir de Debian ETCH, il est recommandé d'utiliser aptitude en lieu et place de apt-get.
Mettre sa distribution à jour
aptitude update
aptitude dist-upgrade
On install la version 3.6 de RT
aptitude install apache2 libapache2-mod-perl2 request-tracker3.6 rt3.6-apache2
rt3.6-clients mysql-server-5.0 php5 phpmyadmin postfix
Il fraudra répondre yes 2 fois..
la première fois pour dire à Aptitude qu'on est d'accord d'installer des paquage qui peuvent présenter un risque pour le serveur
la deuxième fois pour indiquer à Aptitude qu'on est d'accord pour installer tous les paquages + dépedances.
Ne pas installer RTFM (RT FaQ Manager) via debian, mais à la main, car Debian install RT3.4 comme dépendance.
php5 et phpmyadmin.. pour une manipulation plus aisée de la base de donnée.
postfix remplacera exim4 installé de base sur Debian.
Pendant tout le cycle d'installation une interface ncurse (du texte avec des fenêtres sur fond bleu) proposera de configurer Postfix. Si vous aviez déjà postfix de configuré.. vous n'aurez pas cette fenêtre.
- Type de configuration postfix = Local Only (car on va la personnaliser après)
- Utilisateur à destination des mails de root : jcrochet (en gros l'utilisateur habituel de la machine) .. ça peut aussi être une autre adresse
- Le nom du serveur de mail.. par défaut, c'est le nom de la machine, on peut le garder ou mêttre smtp.votrenomdedomaine smtp.test.com (il faut vérifier qu'il exite)
- liste des domaines pour lesquel on accepte de recevoir du courrier : smtp.test.com, localhost.test.com, test.com, localhost
- Synchroniser le système de fichier à chaque mise à jour de la file d'attente postfix (Queue): No
- Machine appartenant au reseau local : 127.0.0.0/8 (voir en fonction de votre environnement. mais vaudra mieux partir sur une solution TLS/SASL)
- Utiliser Procmail pour la livraison du courier local : Yes
- Taille de la boite aux lettre : 0 = illimité (A voir.. pour une utilisation RT en dédié.. il n'y aura jamais d'encombrement de boite aux lettre les adresse à déstination de RT sont des alias)
- Local Extension : + (en fait, je ne me souviens plus pourquoi mais c'est dans la RFC, on laisse)
- Protocol d'écoute : IPv4 (à vous de voir.. mais bon vu que le monde est en v4)
Le programme d'install s'arrête là.. et postfix est opérationnel
On peut modifier le fichier de config de postfix
Modifier l'interface d'écoute, et au besoin de relay SMTP à utiliser pour l'envoi de mail
#inet_interfaces = loopback-only
inet_interfaces = all
relayhost= [smtp.yourFAI.com]
Les crochets permettent de ne pas réaliser la résolution de nom
Et là on s'apperçoi que le nom de l'admin à changé ? Pas de problème la personne resonsable du serveur change : il suffit de modifier /etc/aliases
root:jcrochet
enroot:autre@adresse.com
Puis lancer la commande :
postalias /etc/aliases
Cette configuration marche, mais elle n'est pas forcément adaptée à vos besoins : il faudra l'adapter.
Apache2.2 est normalement autorisé à démarrer au lancement de la machine, si ce n'est pas le cas :
il faut autoriser le démarrage : dans le fichier /etc/default/apache2
# 0 = start on boot; 1 = don't start on boot
NO_START=0
Préparation
Pour être sûr de son coup, étudier en détail les docs livrées avec le packet !
dpkg -L request-tracker3.6 | grep doc
Il faudra peut-être ungziper des fichiers.. en particulier /usr/share/doc/request-tracker3.6/NOTES.debian
Editer le fichier /etc/request-tracker3.6/RT_SiteConfig.pm, ne pas éditer RT_Config.pm, mais s'en inspirer...
# RT_SiteConfig.pm
#
# These are the bits you absolutely *must* edit.
#
# To find out how, please read
# /usr/share/doc/request-tracker3.6/NOTES.Debian
# THE BASICS:
Set($rtname, 'testrt.test.com');
Set($Organization, 'TEST');
Set($CorrespondAddress , 'rt@test.com');
Set($CommentAddress , 'rt-comment@test.com');
Set($Timezone , 'Europe/Paris'); # obviously choose what suits you
# THE DATABASE:
Set($DatabaseType, 'mysql'); # e.g. Pg or mysql
# These are the settings we used above when creating the RT database,
# you MUST set these to what you chose in the section above.
Set($DatabaseUser , 'rtuser');
Set($DatabasePassword , 'wibble');
Set($DatabaseName , 'rtdb');
# THE WEBSERVER:
Set($WebPath , "/rt");
Set($WebBaseURL , "http://testrt.test.com");
1;
Remarque : Le "1;" est important à la fin du fichier de configuration
Une configuration alternative :
Set($WebPath , "");
Permet d'accèder à RT directement à la racine du site web.. nous reviendrons sur cette particularité de configuration à d'autres endroits dans cette documentation.
La base de donnée
MySQL a été fraichement installé, il faut mettre un mot de passe root (qui peut être différent du mot de passe root systême)
mysqladmin password <un_mot_de_passe>
Si on veut modifier ce mot de passe, il faudra tapper la commande :
mysqladmin -p password <un_mot_de_passe>
Et rentrer le mot de passe courant
On accède à MySQL via la commande
mysql -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 21
Server version: 5.0.32-Debian_7etch1-log Debian etch distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
On peut lancer la commande suivante pour créer l'utilisateur (déjà configuré dan ns le fichier de config.. on pourra adapter le mot de passe pour plus de sécurité) :
GRANT ALL PRIVILEGES ON rtdb.* TO rtuser@localhost IDENTIFIED BY 'wibble';
quit;
On peut créer et initialiser la base de donnée avec des données RT.
NB : le mot de passe demandé est celui de la base rt (ie : wibble)
/usr/sbin/rt-setup-database-3.6 --action init --dba rtuser --prompt-for-dba-password
In order to create or update your RT database,this script needs to connect to your mysql
instance on localhost as rtuser.
Please specify that user's database password below. If the user has no database
password, just press return.
Password:
Now creating a database for RT.
Creating mysql database rtdb.
Now populating database schema.
Creating database schema.
readline() on closed filehandle SCHEMA_LOCAL at /usr/sbin/rt-setup-database-3.6 line 223.
Done setting up database schema.
Now inserting database ACLs
Done setting up database ACLs.
Now inserting RT core system objects
Checking for existing system user...not found. This appears to be a new installation.
Creating system user...done.
Now inserting RT data
Creating Superuser ACL...done.
Creating groups...3.4.5.6.7.8.9.done.
Creating users...10.12.done.
Creating queues...1.2.done.
Creating ACL...2.3.done.
Creating ScripActions...1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.done.
Creating ScripConditions...1.2.3.4.5.6.7.8.9.10.done.
Creating templates...1.2.3.4.5.6.7.8.9.10.11.12.done.
Creating scrips...1.2.3.4.5.6.7.8.9.10.11.12.13.14.done.
Creating predefined searches...1.2.3.done.
Done setting up database content.
Configuration d'Apache
Je suis parti sur une solution Apache 2.2 + Modperl 2.. je vais donc récupérer le fichier recommandé pour Apache /etc/request-tracker3.6/
On doit d'abord activer les modules apache2 suivant.. mod_rewrite mod_actions..
a2enmod rewrite
Module rewrite installed; run /etc/init.d/apache2 force-reload to enable.
a2enmod actions
Module actions installed; run /etc/init.d/apache2 force-reload to enable.
/etc/init.d/apache2 force-reload
Ou :
apache2ctl restart
Nous avons 3 solutions pour configurer RT
Serveur Dédié à RT, config RT dans le virtual host Default
Il faut aussi modifier le fichier de configuration du serveur pour démarrer RT en même temps que apache /etc/apache2/sites-enabled/000-Default
Alias /rt /usr/share/request-tracker3.6/html
Include "/etc/request-tracker3.6/apache2-modperl2.conf"
Serveur Dédié à RT, config RT dans la config mère de Apache
Une alternative de configuration (en cas d'utilisation dédié à RT)
echo "Alias /rt /usr/share/request-tracker3.6/html" >> /etc/apache2/conf.d/rt
echo "Include /etc/request-tracker3.6/apache2-modperl2.conf" >> /etc/apache2/conf.d/rt
Serveur Non dédié à une seule tâche, config RT dans le virtual host RT
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/rt
Editer le fichier avec votre éditeur favori /etc/apache2/sites-available/rt
# NameVirtualHost *
<VirtualHost *>
ServerAdmin root@test.com
ServerName rt.test.com
ServerAlias rt
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www>
Options FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error-rt.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access-rt.log combined
ServerSignature Off
Include "/etc/request-tracker3.6/apache2-modperl2.conf"
</VirtualHost>
Dans le cas où rt devra être accessible directement sous la racine, il faut modifier quelques lignes
DocumentRoot /usr/share/request-traquer3.6/html
Modifier aussi les droits relatifs à /var/www pour qu'ils portent sur le nouveau DocumentRoot
<Directory /usr/share/request-traquer3.6/html>
Il faudra aussi modifier /etc/request-tracker3.6/apache2-modperl2.conf, en commentant certaines lignes
Mettre en commentaire :
#RewriteRule ^/rt$ /rt/
Et modifier la ligne suivante :
#RewriteRule ^/rt/(.*)$ /usr/share/request-tracker3.6/html/$1
RewriteRule ^/(.*)$ /usr/share/request-tracker3.6/html/$1
Il ne reste plus que le serveur de mail à configurer...
Configuration de Postfix
Installez postfix..
Modifier /etc/aliases
rt: "|/usr/bin/rt-mailgate --queue General --action correspond --url http://rt.test.com/rt"
comment: "|/usr/bin/rt-mailgate --queue General --action comment --url http://rt.test.com/rt"
Le pipe "|" est important au début de la commande
Rafraichir la config de postfix concernant les alias :
postalias /etc/aliases
Le reste de la configuration
Se fait en ligne sur http://rt.test.com/rt
Login : root,
mot de passe : password qu'il est conseillé de remplacer tout de suite
http://rt.bestpractical.com/view/ItsFinallyInstalledNowWhat(en anglais)
Je rajouterais à la liste des amélioration de la doc.. un quick start dans quelques temps
Remerciements
Merci à Johan, et François, certains de mes lecteurs de m'avoir fait des commentaires constructifs afin de faire évoluer cette documentation.
En savoir plus sur RT
Voici des documents qui m'ont servis lors de la mise en place de RT
ATTENTION : RT n'est pas installé sur ce serveur, inutile d'essayer de vous y connecter
Toute tentative de piratage donnera lieu à des poursuites..
Il y a 1 commentaire.
.: Dernière mise à jour le 19/07/2008

Afficher le commentaire


Uptime :