EN COURS d'édition
Lien du serveur RT de test :
http://testlm.u-strasbg.fr/rt/
login : root password : password
Deux possibilités d'installation :
via apt-get
ou via téléchargement du zip sur sur site de RT.
Pré-requis :
Un gestionnaire de base de données ( Mysql, Postgresql ), Perl, un serveur apache
à noter que pour le serveur de test, on n'avait pas réussi à installer postfix, l'on a donc installé esmtp puis on a "redirigé" sendmail vers esmtp ;
ln -sf /usr/bin/esmtp /usr/sbin/sendmail
Ayant testé l'installation via le zip sur mon pc et ayant connu certaines difficultés pour installer RT ( c'était une installation sommaire et non fonctionnelle ), j'ai choisi d'installer RT sur le serveur via Apt-Get ;
sudo apt-get install rt4-apache2 rt4-clients rt4-db-mysql request-tracker4 rt4-extension-assettracker fetchmail
Configurer request tracker Le fichier de config : /etc/request-tracker4/RT_SiteConfig.pm
Exemple dans le cas du serveur de test :
my $zone = "UTC";
$zone=`/bin/cat /etc/timezone`
if -f "/etc/timezone";
chomp $zone;
Set($Timezone, $zone);
Set($rtname, 'rt.testlm.u-strasbg.fr');
Set($Organization, 'testlm.u-strasbg.fr');
Set($SendmailPath, "/usr/bin/sendmail");
Set($CorrespondAddress , 'squad67test@gmail.com');
Set($CommentAddress , 'squad67test@gmail.com');
# THE WEBSERVER:
Set($WebPath , "/rt");
Set($WebBaseURL , "http://testlm.u-strasbg.fr");
# THE DATABASE:
# map from dbconfig-common database types to their names as known by RT
my %typemap = (
mysql => 'mysql',
pgsql => 'Pg',
sqlite3 => 'SQLite',
);
Set($DatabaseType, $typemap{mysql} || "UNKNOWN");
Set($DatabaseHost, 'localhost');
Set($DatabasePort, '');
Set($DatabaseUser , 'rtuser');
Set($DatabasePassword , '2505');
# SQLite needs a special case, since $DatabaseName must be a full pathname
my $dbc_dbname = 'rtdb'; if ( "mysql" eq "sqlite3" ) { Set ($DatabaseName, '' . '/' . $dbc_dbname); } else { Set ($DatabaseName, $dbc_dbname); }
# end /etc/request-tracker4/RT_SiteConfig.d/51-dbconfig-common
1;
Une fois le fichier modifié :
sudo update-rt-siteconfig
Puis j'ai inclu dans etc/apache2/sites-available le lien du fichier conf, dans la partie "virtualhost" que j'avais au préalable configuré pour Osticket ( Avant avant dernière ligne ):
<VirtualHost 130.79.129.69:*>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
Include "/var/www/twiki/twiki_httpd_conf"
alias /osticket/ "/var/www/osticket/"
<Directory /osticket/>
Options +Indexes
AllowOverride None
Order allow,deny
Allow from all
AllowOverride None
</Directory>
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/pub>
Options Indexes 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.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
Include /etc/request-tracker4/apache2-modperl2.conf
RedirectMatch ^/$ /rt
</VirtualHost>
Configurer Fetchmail :
Il faut créer un fichier .fetchmailrc
contenant :
set postmaster "miguel"
#User mail box setting
poll imap.gmail.com protocol IMAP;
user "squad67test@gmail.com" there with password "password" nofetchall keep
ssl
mda "/opt/rt4/bin/rt-mailgate --url http://130.79.129.69/rt
--queue General --action correspond"
Le --queue correspond au nom de la file de ticket ( ça peut être Aladin, Vizier dans le cas du CDS )
Puis modifier ses droits : chmod 600 /.fetchmailrc
Ce script reste manuel : il faut lancer la commande "fetchmail" à chaque fois qu'on veut vérifier les nouveaux emails. Pour l'automatiser, on peut lancer la commande avec "fetchmail -d 60", ce qui va vérifier les mails toutes les 60 secondes. On peut aussi placer "Set daemon 60" au début du script.
Le mieux reste de le placer à l'intérieur du script et de lancer le script au démarrage du serveur de façon automatique.
Pour que Fetchmail ai le droit de créer des tickets dans RT, il faut configurer les droits sur le site RT :
Outil, configuration, global, droits de groupe, puis selectionner "tout le monde" et donner les droits de créer des tickets, de répondre aux tickets, de commenter.
Pour la création de ticket, l'intégration via mail est effective, et il suffit de mettre en place des filtres via les options pour définir où on veut placer les tickets ( dans quelle file ).
Pour la création via formulaire web, je n'ai pu faire que la recherche et non la mise en place. Normalement cette form devrait fonctionner :
<form method="POST"
action="https://support.<myservernamehere>.com/REST/1.0/ticket/new/">
User: <input type="text" name="user" size="20">
Pass: <input type="text" name="pass" size="20">
Content: <textarea rows="10" name="content" cols="30">id: new
Text: This is the ticket text
Subject: This is my ticket
Queue: General</textarea>
<p><input type="submit" value="Submit" name="B1"><input type="reset"
value="Reset" name="B2"></p>
</form>
( il faudra sans doute remplacer le début de l'url aussi, le "https" et le "support" ) En tout cas, l'interface REST est présente pour nous aider à alimenter RT via une webform.
Il y'a des extensions qui peuvent être intéressantes pour RT à cette adresse :
http://www.bestpractical.com/rt/extensions.html