Découvrons dans ce tutoriel comment installer un serveur GLPI sous Debian 10. GLPI est un logiciel de gestion de parc vous permettant de suivre l’état de votre parc informatique et l’avancée des tickets au sein de votre entreprise. Coupler avec OCS inventory pour la remontée d’informations de vos équipements (inventaire) vous aurez à disposition un véritable bijou 🙂
Prérequis
Pour pouvoir installer notre serveur GLPI, nous aurons besoin d’un serveur Debian à jour. Au besoin, allez voir mon tutoriel sur comment installer Debian en cliquant ici. N’hésitez pas à prendre la dernière version de Debian, pour ce tutoriel j’ai utilisé la version 10.8.0.
Ensuite, pensez à mettre à jour votre serveur, voici les dépôts que j’ai utilisés dans mon fichier « sources.list » situé dans /etc/apt/ :
deb http://deb.debian.org/debian buster main contrib non-free deb-src http://deb.debian.org/debian buster main contrib non-free deb http://deb.debian.org/debian-security/ buster/updates main contrib non-free deb-src http://deb.debian.org/debian-security/ buster/updates main contrib non-free deb http://deb.debian.org/debian buster-updates main contrib non-free deb-src http://deb.debian.org/debian buster-updates main contrib non-free
Une fois vos dépôts modifiés, mettez à jour votre serveur :
apt-get update
apt-get upgrade
Installation de MariaDB
GLPI et OCS inventory ont besoin chacun d’une base de données pour fonctionner, voici les différentes étapes à réaliser pour en installer une :
On commence par installer MariaDB :
apt-get install mariadb-server
Une fois MariaDB installé, il faut le configurer. Pour ce faire, utilisons la commande mysql_secure_installation pour configurer les paramètres de bases avec le compte root de notre base de données. Il ne devrait pas y avoir de mot de passe donc appuyez une fois sur « Entrée » :
mysql_secure_installation
Ensuite, nous pouvons changer le mot de passe de root, appuyez sur « Y » puis validez :
Entrez deux fois le mot de passe souhaité et validez. Choisissez un mot de passe complexe pour sécuriser au maximum votre système de base de données.
Il nous est demandé si l’on souhaite supprimer l’utilisateur anonyme. Celui-ci est un utilisateur qui a le droit de se connecter à votre base de données sans mot de passe. Par mesure de sécurité, il vaut mieux le supprimer donc écrivez « Y » et validez :
Mettez « Y » puis validez pour supprimez l’accès du compte root à distance afin d’éviter de vous faire intercepter votre mot de passe à travers le réseau.
Ensuite, supprimons une base de données qui a été créée par défaut lors de l’installation de MariaDB et qui ne sert à rien. « Y » puis validez :
Validons la configuration que nous avons effectuée en pressant « Y » puis validez :
Et voilà, notre système de base de données est installé et préconfiguré, il ne nous reste plus qu’à créer la base de données pour GLPI et la base de données de OCS inventory.
Pour créer nos bases de données, nous devons nous connecter à MariaDB en utilisant la commande suivante qui utilise le compte root avec le mot de passe précédemment créé :
mysql -u root -p
Commençons par créer notre base de données pour GLPI où « glpibdd » est le nom que vous souhaitez lui donner :
CREATE DATABASE glpibdd;
Même chose pour créer notre base de données pour OCS inventory où « glpiocs » est le nom que vous souhaitez lui donner :
CREATE DATABASE ocsbdd;
Vous devriez voir ceci :
Il faut créer l’utilisateur qui pourra accéder à la base de données de GLPI et lui donner un mot de passe. Dans la commande ci-dessous il faut modifier à votre convenance :
- « glpibdd » = nom base de données
- « userglpi » = nom utilisateur
- « mdpglpi » = mot de passe de l’utilisateur
Il faut créer l’utilisateur qui pourra accéder à la base de données de OCS inventory et lui donner un mot de passe. Dans la commande ci-dessous il faut modifier à votre convenance :
- « ocsbdd » = nom base de donnée
- « userocs » = nom utilisateur
- « mdpocs » = mot de passe de l’utilisateur
GRANT ALL PRIVILEGES ON ocsbdd.* TO « userocs« @ »localhost » IDENTIFIED BY « mdpocs« ;
Vous devriez voir ceci :
Installation PHP
Nous allons récupérer la dernière version de PHP qui est à la rédaction de ce tutoriel la version 7.4. Pour ce faire, nous devons récupérer les « sources list » de sury. Tout d’abord, téléchargeons les clés GPG via les deux commandes suivantes :
apt-get -y install lsb-release apt-transport-https ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
Ensuite, nous pouvons ajouter les « sources list » contenant php7.4 avec la commande :
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list
On met à jour la liste des dépôts disponibles via la commande :
apt-get update
On installe php7.4 et toutes les dépendances nécessaires au bon fonctionnement de GLPI et OCS inventory:
apt-get -y install php7.4 php7.4-ldap php7.4-imap php7.4-apcu php7.4-xmlrpc php7.4-mysql php7.4-mbstring php7.4-curl php7.4-gd php7.4-xml php7.4-bz2 php7.4-intl php7.4-zip php7.4-soap php-cas php-pclzip
Installation Apache2 + Perl
On installe Apache2 pour accéder aux interfaces web de GLPI et OCS inventory. Nous sommes obligé d’utiliser Apache2 car OCS inventory n’est pas compatible avec Nginx 🙁 :
apt-get -y install apache2
On installe perl nécessaire à GLPI et OCS inventory:
apt-get -y install perl
Installation et configuration GLPI
Installation
On arrive à l’installation de GLPI. Placez-vous dans le dossier « /var/www » :
cd /var/www/
On récupère la dernière version de GLPI depuis le site de ce dernier ici, pour récupérer le lien pour le téléchargement faites un clic droit sur « Télécharger » puis « Copier l’adresse du lien » :
Une fois le lien récupéré, faites la commande suivante en remplaçant le lien http par celui que vous venez de récupérer :
wget https://github.com/glpi-project/glpi/releases/download/9.5.4/glpi-9.5.4.tgz
Le fichier téléchargé a l’extension tgz, nous devons donc extraire son contenu via la commande ci-dessous (attention le nom du fichier peut changer en fonction de la version que vous avez téléchargée) :
tar xzf glpi-9.5.4.tgz
On supprime le fichier téléchargé tgz :
rm glpi-9.5.4.tgz
On met les bons droits sur le dossier de GLPI pour que notre serveur web apache2 puisse l’utiliser :
chown -R root.www-data glpi/
chmod -R 775 glpi/
On modifie le fichier de configuration par défaut de notre GLPI afin de pointer par défaut vers l’interface web de celui-ci :
nano /etc/apache2/sites-available/000-default.conf
Dans le fichier de configuration, trouvez la ligne « Document-Root » et modifiez là comme ci-dessous :
Document-Root /var/www/glpi
On redémarre Apache2 :
/etc/init.d/apache2 restart
Configuration
À partir d’ici, vous pouvez vous connecter directement à votre interface web de GLPI en rentrant simplement l’IP de votre serveur dans votre navigateur. Sur la première page choisissez votre langue et cliquez sur « OK » :
Sélectionnez « J’ai lu et ACCEPTE les termes de la licence énoncés ci-dessus » et cliquez sur « Continuer » :
Cliquez sur « Installer » pour lancer l’installation de votre serveur GLPI :
Normalement si vous avez suivi le tutoriel depuis le début, vous devriez avoir seulement une erreur GLPI par rapport à l’accès web au répertoire des fichiers. Pas d’inquiétude, cliquez sur « Continuer » :
Rentrez les informations concernant votre base de données installée en amont. Si vous avez suivi mon tutoriel, la base de données est en local avec ces informations :
- serveur SQL = localhost
- utilisateur SQL = userglpi
- mot de SQL = mdpglpi
Il doit détecter automatiquement la base de données que vous avez créée (glpibdd). Sélectionnez celle-ci et cliquez sur « Continuer » :
La base de données va être créée avec les objets de GLPI, patientez et cliquez sur « Continuer » :
Choisissez si vous souhaitez envoyer des données d’utilisations à GLPI ou non et cliquez sur « Continuer » :
Si vous souhaitez soutenir le projet en faisant un don vous pouvez le faire à cette étape, sinon cliquez sur « Continuer » :
À cette étape vous aurez un descriptif des comptes qui ont été créés par défaut qui vont vous permettre de vous connecter à l’interface web. Gardez les identifiants de côté et cliquez sur « Utiliser GLPI » :
Vous arrivez à la connexion, utilisez un des comptes créés par défaut :
Voici l’interface de GLPI sur laquelle vous devriez arriver avec le compte « glpi ». À vous de jouer maintenant 😉 :
Je vous conseille de tout de suite réaliser plusieurs actions :
- Création d’un compte « Super Admin » personnalisé
- Suppression des comptes par défaut (attention réalisez la première étape d’abord)
- Suppression du fichier « install.php » de votre dossier glpi
GLPI étant installé, nous pouvons passer à l’installation de OCS inventory.
Installation/configuration OCS inventory
Installation
Pour fonctionner, OCS inventory a besoin de nombreuses dépendances. Ces dépendances sont tirées directement de la documentation de l’outil ici.
apt-get -y install apache2-dev libmariadbclient-dev php-soap
À partir d’ici vous pouvez répondre « yes » ou appuyer sur « Entrée » à chaque question :
cpan install –force CPAN
cpan install YAML
Cette prochaine étape est relativement longue, mais pas de panique 😉 soyez patient !
cpan install Mojolicious::Lite Switch Plack::Handler XML::Simple Compress::Zlib DBI DBD::mysql Apache::DBI Net::IP Archive::Zip XML::Entities
apt-get -y install libxml-simple-perl libdbi-perl libdbd-mysql-perl libapache-dbi-perl libnet-ip-perl libsoap-lite-perl libarchive-zip-perl make build-essential
cpan install Apache2::SOAP
Maintenant toutes les dépendances installées, nous pouvons télécharger OCS inventory. Pour ce faire, vous allez devoir rentrer quelques informations pour recevoir un mail contenant un lien pour le télécharger. Cliquez sur le lien ici, vous arriverez sur le site de OCS inventory où vous pouvez choisir « OCS INVENTORY SERVEUR UNIX/LINUX » :
Remplissez les informations suivantes afin de recevoir le lien de téléchargement pas mail :
Une fois le mail reçu, faites un clic droit sur « Serveur pour Linux/Unix 2.8 » (votre numéro de version peut être différent) puis cliquez sur « Copier l’adresse du lien » :
Placez-vous dans le dossier /tmp/ puis télécharger OCS inventory avec le lien que vous aviez récupéré :
cd /tmp/
wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/2.8/OCSNG_UNIX_SERVER_2.8.tar.gz
Une fois téléchargé, il faut extraire le contenu du fichier archive via la commande suivante :
tar xzvf OCSNG_UNIX_SERVER_2.8.tar.gz
On se déplace ensuite dans le dossier que nous venons d’extraire. Attention, encore une fois si vous téléchargez une autre version il faut bien adapter la commande 😉 :
cd OCSNG_UNIX_SERVER_2.8
On exécute le script d’installation fourni par l’application :
sh setup.sh
Vous devriez arriver sur cette fenêtre, cliquez sur « Entrée » :
Validez que votre base de données est en local en cliquant sur « Entrée » :
Confirmer que votre base de données écoute sur le port 3306 en cliquant sur « Entrée » :
Renseignez le chemin vers le fichier du daemon de Apache2 qui est « /usr/sbin/apache2ctl » :
Renseigner le chemin du fichier de configuration de apache2 soit « /etc/apache2/apache2.conf » :
Renseigner le compte « www-data » qui exécute apache2 :
Renseigner le groupe « www-data » qui exécute apache2 :
Renseigner le chemin vers le dossier de apache2 contenant les configurations des sites disponibles (/etc/apache2/conf-available) :
Renseigner le chemin vers le fichier du daemon (/usr/bin/perl) :
Mettez « y » pour continuer :
Donnez le chemin vers le fichier de log de OCS inventory :
Renseignez le chemin vers le dossier des plugins de OCS inventory :
Validez ou renseignez le chemin vers le dossier des plugins perl de OCS inventory :
Approuvez le configuration des API :
Renseignez le chemin du stockage de l’API de OCS inventory (/usr/local/share/perl/5.28.1) :
On valide la création du fichier de configuration de OCS inventory :
Validez que vous souhaitez configurer le serveur d’administration de OCS inventory :
Appuyez sur « y » pour valider l’installation du serveur d’administration de OCS inventory :
Mettez le chemin des fichiers PHP du serveur d’administration de OCS inventory :
Donnez le chemin des fichiers de log, de IPDiscover et SNMP (/var/lib/ocsinventory-reports):
Et voilà, vous êtes au bout de l’installation, tout s’est déroulé à merveille. Bien joué 🙂 !
Configuration
Il nous faut renseigner la base de données pour OCS inventory. Pour ce faire, nous allons modifier 2 fichiers. Lancez la commande suivante :
nano /etc/apache2/conf-available/z-ocsinventory-server.conf
Dans ce fichier, trouvez les 4 lignes suivantes (respectivement ligne 26, 27, 29 et 31) en reprenant les informations que vous avez configurées à la création de votre base de données puis sauvegardez :
PerlSetEnv OCS_DB_NAME ocsbdd
PerlSetEnv OCS_DB_LOCAL ocsbdd
PerlSetEnv OCS_DB_USER userocs
PerlSetVar OCS_DB_PWD mdpocs
Il nous faut renseigner la base de données pour le deuxième fichier de OCS inventory. Lancez la commande suivante :
nano /etc/apache2/conf-available/zz-ocsinventory-restapi.conf
Dans ce fichier, trouvez les 3 lignes suivantes (respectivement ligne 9, 10, et 11) en reprenant les informations que vous avez configurées à la création de votre base de données puis sauvegardez :
$ENV{OCS_DB_LOCAL} = 'ocsbdd';
$ENV{OCS_DB_USER} = 'userocs';
$ENV{OCS_DB_PWD} = 'mdpocs';
On met les bons droits sur le dossier de OCS inventory :
chown root.www-data /var/lib/ocsinventory-reports
chmod 755 /var/lib/ocsinventory-reports
On active les 3 fichiers de configuration de apache2 :
a2enconf z-ocsinventory-server
a2enconf ocsinventory-reports
a2enconf zz-ocsinventory-restapi
On applique en redémarrant Apache2 :
/etc/init.d/apache2 restart
À partir de maintenance, vous devriez pouvoir accéder à OCS inventory en mettant votre IP suivis de /ocsreports. Rentrez les informations de connexion à votre base de données :
- MySQL login = userocs
- MySQL password = mdpocs
- Name of Database = ocsbdd
- MySQL HostName = localhost
- MySQL Port = 3306
- Enable SSL = NO
L’installation se déroule et OCS inventory vous donne les identifiants admin pour pouvoir vous connecter à l’outil (login = admin / password = admin). CLiquez sur « Click here to enter OCS-NG GUI » :
La version est vérifiée, faites la mise à jour si nécessaire :
Et voilà, vous pouvez vous connecter à OCS inventory avec le compte admin 🙂
Une fois connecté à OCS inventory vous devriez voir cette fenêtre :
Nous voilà donc à la fin de ce tutoriel d’installation de GLPI et OCS inventory, dans un prochain article nous testerons cette infrastructure et nous ferons une liaison entre les deux outils ! En attendant, pour me soutenir et soutenir le site, n’hésitez pas à partager autour de vous et à me suivre sur les réseaux 😉
Bravo pour ce tutoriel !!! Sans doute le meilleur sur le sujet.
Juste une petite remarque : l’exécution de la commande a2enconf renvoie commande introuvable. La solution est de taper avant la commande suivante :
export PATH=$PATH:/usr/sbin
J’ai vraiment hâte de trouver l’article suivant sur la mise en oeuvre 😉
Merci et bonne journée.
Bonjour,
Merci pour votre message 😉
Vous avez raison, j’ai oublié de préciser. Pour ma part par habitude j’utilise la commande « su – » qui permet de charger la variable PATH au passage en root !
L’article suivant est en cours d’écriture, prévu pour fin mai/début juin !
Bonne journée,
Bonjour,
j’ai un soucis sur l’accès au site « adresse ip/ocsreports ». En effete en mettant l’ip du serveur et le reste j’ai un beau :
Forbidden
you dont have permission to access this ressource.
apache/2.4.38 (debian) server at « address IP » port 80
impeccable merci beaucoup !
Super tuto ! !
Pour les novices, peut-être rajouter le chemin d’accès de souces.list
Bonne idée, c’est ajouté 🙂
bonjour et merci pour ce tuto génial. je veus savoir si la suite est déjà disponible .je parle des tests avec les machines clientes. aussi pour faire du déploiement de package notre server doit contenir le ssl activer devrais-je l activer a cette première page ou ultérieurement?
Bonjour,
La suite n’est pas encore disponible, ça ne devrait plus trop tarder 🙂
Pour le SSL vous pouvez l’activer ultérieurement.
bonsoir monsieur . je voudrais savoir si vous avez dejas implémenté le ssl sur votre server . j ai essayer avec d autres site mais apparemment seul vos informations marche sur mon pc. merci bien
Excellent tuto 🙂 Si vous souhaitez étoffer ce dernier, ce ne serai pas du luxe que d’y inclure un volet « sécurisation » du serveur (passage en https, durcissements minimaux, journalisation, …).
Merci pour votre excellent travail !
Bonjour,
je reste bloqué sur la fenêtre après avoir rentré les informations de connexion,
il ne me donne en aucun cas la suite ave le login et mot de passe admin
OCS-NG inventory installation
WARNING: You will not be able to build any deployment package with size greater than 2MB
You must raise both post_max_size and upload_max_filesize in your vhost configuration to increase this limit.
WARNING: If you change default database name (ocsweb) or user (ocs), don’t forget to update the file ‘z-ocsinventory-server.conf’ in your Apache configuration directory
Super tuto vraiment… complet clair et tout se passe niquel de mon côté !
Keep going