Installer OTRS sur Ubuntu

OTRS (Open source Ticket Request System) est une solution de gestion d’incidents orienté ITIL très complète et modulable.

Je ne l’ai jamais utilisé en production, mais les tests que j’en ai fait m’ont donné toute confiance en ce projet.

Si vous souhaitez plus d’information sur OTRS, je vous invite à lire la partie qui lui est consacré dans mon inventaire des solutions de gestion d’incidents libres et opensource ou alors d’aller simplement sur le site officiel et la page OTRS Help Desk

Revenons à l’idée de base de l’article qui est l’installation d’OTRS sur une distribution GNU / Linux Ubuntu.

Tout d’abord, il faut récupérer les sources :

cd /usr/local/
wget http://ftp.otrs.org/pub/otrs/otrs-3.0.11.tar.gz
tar -xvzf otrs-3.0.11.tar.gz
mv otrs-3.0.11 otrs

Ensuite il faut tester si les serveur dispose de toutes les dépendances nécessaires.

 

perl otrs/bin/otrs.CheckModules.pl
o CGI............................ok (v3.50)
o Crypt::PasswdMD5...............ok (v1.3)
o CSS::Minifier..................ok (v0.01)
o Date::Format...................ok (v2.23)
o Date::Pcalc....................ok (v1.2)
o DBI............................ok (v1.609)
o DBD::mysql.....................ok (v4.012)
o Digest::MD5....................ok (v2.39)
o Digest::SHA::PurePerl..........ok (v5.48)
o Encode::HanExtra...............Not installed! (Optional - Required to handle mails with several Chinese character sets.)
o GD.............................Not installed! (Optional - Required for stats)
o GD::Text....................Not installed! (Optional - Required for stats.)
o GD::Graph...................Not installed! (Optional - Required for stats.)
o GD::Graph::lines............Not installed! (Optional - Required for stats.)
o GD::Text::Align.............Not installed! (Optional - Required for stats.)
o IO::Scalar.....................ok (v2.110)
o IO::Wrap.......................ok (v2.110)
o JavaScript::Minifier...........ok (v1.05)
o JSON...........................ok (v2.50)
o JSON::PP....................ok (v2.27103)
o JSON::XS....................Not installed! (Optional - Install it for faster AJAX/JavaScript handling.)
o LWP::UserAgent.................ok (v5.834)
o Mail::Internet.................ok (v2.07)
o Mail::POP3Client...............ok (v2.18 )
o IO::Socket::SSL.............Not installed! (Optional - Required for POP3 SSL connections.)
o MIME::Base64...................ok (v3.08)
o MIME::Tools....................ok (v5.428)
o ModPerl::Util..................Not installed! (Optional - Improves Performance on Apache webservers dramatically.)
o Apache::DBI.................ok (v1.09)
o Apache2::Reload.............Not installed! (Optional - Should be installed on mod_perl based installations to automatically reload changed Perl files and configuration data.)
o Net::DNS.......................Not installed! (Required - use "perl -MCPAN -e shell;" - )
o Net::POP3......................ok (v2.29)
o Net::IMAP::Simple..............ok (v1.2017)
o Net::IMAP::Simple::SSL......Not installed! (Optional - Required for SSL connections.)
o Net::SMTP......................ok (v2.31)
o Authen::SASL................ok (v2.15)
o Net::SMTP::SSL..............Not installed! (Optional - Required for SSL/SMTPS connections.)
o Net::SMTP::TLS::ButMaintainedNot installed! (Optional - Required for TLS/SMTP connections.)libnet-ldap-perl
o Net::LDAP......................Not installed! (Optional - Required for directory authentication.)
o PDF::API2......................Not installed! (Optional - Required for PDF output.)libnet-ldap-perl
o Compress::Zlib..............ok (v2.02)
o SOAP::Lite.....................Not installed! (Optional - Required for the SOAP interface.)
o Text::CSV......................ok (v1.21)
o Text::CSV_PP................ok (v1.29)
o Text::CSV_XS................Not installed! (Optional - Optional, install it for faster CSV handling.)
o XML::Parser....................ok (v2.36)

Reste donc à installer les dépendances, pour moi, voici ce que j’ai installé :

aptitude install libjson-perl libgd-text-perl libgd-gd2-perl libgd-graph-perl libgd-graph3d-perl libio-socket-ssl-perl libapache2-mod-perl2 libnet-dns-perl libnet-ldap-perl libpdf-api2-perl libsoap-lite-perl libtext-csv-xs-perl

Normalement, après tout ça, vous avez ce retour :

perl otrs/bin/otrs.CheckModules.pl
o CGI............................ok (v3.50)
o Crypt::PasswdMD5...............ok (v1.3)
o CSS::Minifier..................ok (v0.01)
o Date::Format...................ok (v2.23)
o Date::Pcalc....................ok (v1.2)
o DBI............................ok (v1.609)
o DBD::mysql.....................ok (v4.012)
o Digest::MD5....................ok (v2.39)
o Digest::SHA::PurePerl..........ok (v5.48)
o Encode::HanExtra...............Not installed! (Optional - Required to handle mails with several Chinese character sets.)
o GD.............................ok (v2.39)
o GD::Text....................ok (v0.86)
o GD::Graph...................ok (v1.44)
o GD::Graph::lines............ok (v1.15)
o GD::Text::Align.............ok (v1.18)
o IO::Scalar.....................ok (v2.110)
o IO::Wrap.......................ok (v2.110)
o JavaScript::Minifier...........ok (v1.05)
o JSON...........................ok (v2.50)
o JSON::PP....................ok (v2.27103)
o JSON::XS....................ok (v2.27)
o LWP::UserAgent.................ok (v5.834)
o Mail::Internet.................ok (v2.07)
o Mail::POP3Client...............ok (v2.18 )
o IO::Socket::SSL.............ok (v1.31)
o MIME::Base64...................ok (v3.08)
o MIME::Tools....................ok (v5.428)
o ModPerl::Util..................ok (v2.000004)
o Apache::DBI.................ok (v1.09)
o Apache2::Reload.............ok (v0.11)
o Net::DNS.......................ok (v0.65)
o Net::POP3......................ok (v2.29)
o Net::IMAP::Simple..............ok (v1.2017)
o Net::IMAP::Simple::SSL......ok (v1.3)
o Net::SMTP......................ok (v2.31)
o Authen::SASL................ok (v2.15)
o Net::SMTP::SSL..............ok (v1.01)
o Net::SMTP::TLS::ButMaintainedok (v0.17)
o Net::LDAP......................ok (v0.39)
o PDF::API2......................ok (v0.73)
o Compress::Zlib..............ok (v2.02)
o SOAP::Lite.....................ok (v0.710.10)
o Text::CSV......................ok (v1.21)
o Text::CSV_PP................ok (v1.29)
o Text::CSV_XS................ok (v0.70)
o XML::Parser....................ok (v2.36)

Je n’ai pas mis la gestion des caratères chinois, mais c’est un choix personnel…

Ensuite création de l’utilisateur :

[email protected]:/var/www# useradd -d /usr/local/otrs -c 'OTRS user' otrs
[email protected]:/var/www# usermod -G www-data otrs

Puis il faut préparer les fichiers de configuration :

cp Kernel/Config.pm.dist Kernel/Config.pm
cp Kernel/Config/GenericAgent.pm.dist Kernel/Config/GenericAgent.pm

 

Vérifiez que tous les modules Perl sont OK :

[email protected]:/usr/local/otrs# perl -cw /usr/local/otrs/bin/cgi-bin/index.pl
/usr/local/otrs/bin/cgi-bin/index.pl syntax OK

[email protected]:/usr/local/otrs# perl -cw /usr/local/otrs/bin/otrs.PostMaster.pl
/usr/local/otrs/bin/otrs.PostMaster.pl syntax OK

Configuration du serveur Web :

[email protected]:/usr/local/otrs# bin/otrs.SetPermissions.pl --otrs-user=otrs --web-user=www-data --otrs-group=otrs --web-group=www-data /usr/local/otrs
bin/otrs.SetPermissions.pl
<1.4> - set OTRS file permissions
Copyright (C) 2001-2010 OTRS AG, http://otrs.org/
Setting permissions on /usr/local/otrs
Setting permissions on /usr/local/otrs/var
Setting permissions on /usr/local/otrs/bin/*
Setting permissions on /usr/local/otrs/scripts/*.pl
Setting permissions on /usr/local/otrs/scripts/tools/*.pl
Setting permissions on Kernel/Config.pm
Setting owner rw and group ro permissions on /usr/local/otrs/

Ajouter ces paramètres à votre vhost :

# agent, admin and customer frontend
ScriptAlias /otrs/ "/usr/local/otrs/bin/cgi-bin/"
Alias /otrs-web/ "/usr/local/otrs/var/httpd/htdocs/"

# load all otrs modules
Perlrequire /usr/local/otrs/scripts/apache2-perl-startup.pl

# Apache::Reload - Reload Perl Modules when Changed on Disk
PerlModule Apache2::Reload
PerlInitHandler Apache2::Reload
PerlModule Apache2::RequestRec

# set mod_perl2 options
<Location /otrs>
#        ErrorDocument 403 /otrs/customer.pl
ErrorDocument 403 /otrs/index.pl
SetHandler  perl-script
PerlResponseHandler ModPerl::Registry
Options +ExecCGI
PerlOptions +ParseHeaders
PerlOptions +SetupEnv
Order allow,deny
Allow from all
</Location>

Créer votre base de données :

CREATE USER 'otrs'@'localhost' IDENTIFIED BY 'Mot-de-Passe';
GRANT USAGE ON * . * TO 'otrs'@'localhost' IDENTIFIED BY 'OtR5AwS' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
CREATE DATABASE IF NOT EXISTS `otrs` ;
GRANT ALL PRIVILEGES ON `otrs` . * TO 'otrs'@'localhost';

Maintenant il faut paramétrer les accès à la base de données :

Décommenter :

use Apache::DBI ();
Apache::DBI->connect_on_init('DBI:mysql:otrs', 'otrs', 'some-pass');

Adapter le mot de passe.

Décommenter :

use DBD::mysql ();
use Kernel::System::DB::mysql;

Là il faut désactiver le blocage de l’utilisation du web-installer en rajoutant ce bloc encore dans le fichier Kernel/Config.pm

# SecureMode
# Disables the use of web-installer (installer.pl). Also disables if not
# active, the GenericAgent, PackageManager and SQL Box, since it's possible
# to use it for destructive write queries such as DROP DATABASE, and also to
# steal user passwords.
$Self->{SecureMode} = 0;

Ensuite, il suffit d’aller à la page http://127.0.0.1/otrs/installer.pl

Voici l’installation via l’interface web :

 

install otrs licence

otrs install check database

otrs install create database

otrs install create database successfully

otrs install config otrs

 

Niveau paramétrage, personnellement, je préfère que les logs soient au bon endroit, soit dans /var/log
J’ai donc créé un répertoire /var/log/otrs/ et paramétré /var/log/otrs/otrs.log
Il faut bien sur penser à mettre le logrotate

 

install config otrs mail

install config otrs ok

install login otrs

install dashboard otrs

Une fois l’installation terminée, penser à mettre la valeur ci-dessous à 1 pour bloquer l’utilisation de l’installer qui permet de supprimer une base de données :
$Self->{SecureMode} = 1;

OTRS nécessite un paramétrage d’actions périodiques via la crontab.

cd /usr/local/otrs/var/cron
for foo in *.dist; do cp $foo `basename $foo .dist`; done

Ensuite, il faut lancer le script ci-dessous qui va paramétrer à des périodes pré-définies les actions propres au bon fonctionnement d’OTRS.

cd /usr/local/otrs
bin/Cron.sh start otrs

Pour vérifier, il suffit de consulter la crontab de l’utilisateur :

crontab -l -u otrs

Voilà, OTRS est installé, le plus long reste à faire, il s’agit du paramétrage de la solution OTRS.

Là il faut prendre un peu de recul et essayer de penser au mieux à l’utilisation de la bête 😉

Si des gens ont des retours sur une utilisation en production, que ce soit à l’utilisation au jour le jour ou à la mise en place, je suis preneur.

 

Liens utiles :

Site Officiel d’OTRS

Livre d’administration d’OTRS (en anglais, mais plus que complet)

Author: Pierre-Yves Dubreucq

Passioné par les logiciels libres depuis 2001, je suis responsable d'Odiso (hébergeur web spécialiste des infrastructures haute disponibilité e-commerce et en gestion de pics de trafic & webperf) je tiens ce blog depuis 9 ans avec beaucoup moins d'assiduité malheureusement qu'à ses débuts, car j'écris aussi sur MonSiteEstLent.com blog d'Odiso dédié à la webperf

Share This Post On

15 Comments

  1. Pour ma part, je n’ai jamais réussi à utiliser OTRS correctement. Depuis, j’utilise TheBugGenie qui est vraiment prometteur 🙂 .

    Post a Reply
    • TheBugGenie est davantage orienté développement que support utilisateur.

      Post a Reply
  2. Les paquets Debian/Ubuntu existent pour otrs, autant les utiliser:
    http://packages.debian.org/sid/otrs2
    http://packages.ubuntu.com/oneiric/otrs2

    Cela facilite l’installation, et *surtout* apporte à pas cher un suivi et correction automatique des éventuels bugs graves et de sécurité.

    Sinon dans le même genre de logiciel, il y a RequestTracker, écrit en perl, disponible également en paquet, et qui est très personalisable.

    Post a Reply
  3. Merci pour ton billet, je ne connaissais pas cette solution open source orienté ITIL, elle a l’air prometteuse 🙂

    Post a Reply
  4. @Jeoffrey Bauvin Merci pour TheBugGenie je ne connaissais pas, je vais regarder ça de plus prêt.
    @Simon Merci pour l’info, je ne savais pas, pourtant je plébiscite toujours l’utilisation des paquets Debian par soucis de pérennité et stabilité…
    @Gabriel je pense aussi qu’elle est prometteuse 😉

    Post a Reply
  5. J’utilise OTRS depuis 2007 ou 2008 en production pour le suivi des demandes en IT et le service technique. En 2009 j’ai même utilisé une autre instance d’OTRS (sur le même serveur) pour gérer les réponses de mails à une grosse boite de contact. Les utilisateurs et les agents ne sont pas très à l’aise avec l’informatique, ce n’est pas leur métier, une vingtaine d’agents différents, tous spécialisés dans un domaine répondent aux demandes des utilisateurs. 150 à 200 mails / jours sont gérés en entrée. Au niveau des perfs c’est nickel (rien besoin de tuné de façon spécifique).
    OTRS on peut en faire ce que l’on veut, gestion des ventes, des courriels par +sieurs personnes, gestion des incidents, …
    C’est vraiment un excellent outil. La communauté est très réactive.
    Le seul bémol: l’interface n’est pas des plus sexy, mais la version 3 est censé résoudre cela. (Je n’ai pas encore migré).

    Voici pour mon retour (comme demandé)

    Post a Reply
  6. @ceooph Milles merci pour ce commentaire plus que constructif 🙂
    Je connais quelqu’un qui a fait la migration OTRS 2 vers 3 et qui en a été très agréablement surpris 😉

    Post a Reply
    • @Pierre-Yves: De rien ! Oui je pense qu’on peut être surpris en bien quand on est technophile (ou informaticien) mais aussi en moins bien quand on est une quiche derrière un clavier. Il faut accompagner le changement, et des fois ça se fait: en ne changeant pas (ou du moins pas de suite)! 😉

      Post a Reply
  7. Je reviens sur cet outil, je me demandais si l’on pouvait créer un fiche détaillée pour chaque client, avec le détail de tout son parc info.

    Post a Reply
  8. Bonjour,

    Etant, nouveau sur l’utilisation de Linux, Je suis votre tutoriel pour installer OTRS, et je suis bloqué au niveau de la configuration du vhost.

    Pouvez vous me dire ou ce trouve ce fichier ?

    BK

    Post a Reply
  9. Bonjour et merci pour ce joli blog .. OTRS oui je connais mais … non il est bien mais très lourd .. je cherche de la doc française pour la migration vers la 3.1.

    Post a Reply
  10. Bonjour
    dans l’ installation de OTRS Pour Decommenter les accès a la base de donnée :
    Use Apache::DBI(); …….
    cela se fait dans quel Ficher ; merci pour la reponse;

    Post a Reply
  11. Bonjour, j’essaye d’installer OTRS en suivant votre tuto, mais je n’arrive pas à le faire fonctionner. En effet, tout se déroule bien, sauf à la fin où il faut modifier le fichier Config.pm. Je ne sais pas où il faut mettre les lignes!

    Mais je ne sais pas si c’est cela qui bloque, car lorsque je fais: http://xxx.xxx.xxx.xxx/otrs/installer.pl, il n’y a rien!

    j’ai alors essayé de mettre mon dossier otrs dans /var/www mais ça ne fonctionne pas quand meme! Il me propose juste d’installer le fichier installer.pl

    Je voudrais mettre OTRS en place pour mon stage.

    Merci de votre réponse!

    Post a Reply

Trackbacks/Pingbacks

  1. Nono’s vrac 11 « m0le'o'blog - […] gestionnaire d'incident orienté ITIL (et libre) : OTRS, je connaissais pas, mais je vais regarder ca de plus […]

Submit a Comment

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.