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 :
root@server:/var/www# useradd -d /usr/local/otrs -c 'OTRS user' otrs root@server:/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 :
root@server:/usr/local/otrs# perl -cw /usr/local/otrs/bin/cgi-bin/index.pl /usr/local/otrs/bin/cgi-bin/index.pl syntax OK root@server:/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 :
root@server:/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 :
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
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 :
Livre d’administration d’OTRS (en anglais, mais plus que complet)