GLPI (Gestionnaire Libre de Parc Informatique) est une application open source permettant de gérer
l’ensemble des problématiques de gestion de parc informatique, allant de la gestion de l’inventaire
des composantes matérielles ou logicielles (alimenté par OCS Inventory NG) d’un parc informatique à
la gestion de l’assistance aux utilisateurs.
La fonctionnalité de gestion d'assistance ou helpdesk fournit aux utilisateurs un service leur
permettant de signaler des incidents ou de créer des demandes par la création d'un ticket d’assistance,
généralement appeler « helpdesk » qui remonte vers le service informatique.
Cette solution open source est éditée en langage PHP sous licence GPL4.
Vu que le logiciel est open source, toute personne peut exécuter, modifier ou développer le code
source car il est libre d’accès.
Du coup, les contributeurs et les développeurs peuvent participer à l’évolution du logiciel en
soumettant des modules supplémentaires libres et open source, sur GitHub par exemple (qui est un
site d’hébergement).
Autre point fort du projet GLPI, c’est la possibilité de pouvoir lui ajouter des add-ons (plugins) afin
d’apporter de nouvelles fonctionnalités. De plus, GLPI supporte l’intégration de certains projets
complémentaires pour l’inventaire automatique :
Il permet notamment d’inventorier les composants matériels et logiciels automatiquement grâce à des
agents installés sur des serveurs.
Avant de commencer l'installation même de GLPI, il nous faut mettre en place une stack LAMP :
L'installation se fera sur une Debian 11.
On commence par mettre à jour le serveur avec la commande suivante :
apt update -y && apt upgrade -y
On va installer less applications nécessaires, à savoir apache2 pour les services web, mariadb pour la base de données et php pour le language de programmation (le serveur devient donc un serveur "LAMP").
apt install apache2 mariadb-server php-mysqlnd python3-pymysql php -y
Ensuite, nous allons installer toutes les dépendances dont pourrait avoir besoin GLPI (elles ne sont pas toutes obligatoires/utiles mais pour éviter les problèmes par la suite, nous installons tout d’un coup cool).
apt install php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-mysqli php-simplexml php-intl php-bz2 php-xmlrpc php-soap php-intl php-ldap php-imap php-apcu php-cas -y
Voilà qui est fait. Nous allons maintenant sécuriser l’accès au service de base de données. Lancez la commande suivante :
mysql_secure_installation
Le mot de passe de l’utilisateur root est demandé. Il ne s’agit pas ici du mot de passe de l’utilisateur root sur la machine elle-même mais de l’utilisateur SQL (base de données). A ce stade, aucun mot de passe ne lui a été configuré, c’est donc ce que nous allons faire. Appuyez simplement sur Entrée.
A la question suivante, tapez la lettre Y pour répondre Yes et appuyez sur Entrée.
A la question suivante, on vous demande justement si vous voulez attribuer un mot de passe au compte root. Tapez la lettre Y pour répondre Yes et appuyez sur Entrée.
Saisissez 2 fois le mot de passe que vous voulez donner au compte SQL root pour. Attention, aucun symbole ne va s’afficher pendant la saisie, soyez vigilant à votre frappe !
Vous pourrez par la suite répondre Yes à toutes les autres questions posées.
Maintenant que l’accès aux bases de données est sécurisé, nous allons pouvoir nous y connecter avec le compte root et le mot de passe que nous venons de lui définir :
mysql -u root -p
Il faut créer la base de données qui sera utilisée par GLPI et un utilisateur de base de données qui aura les pleins pouvoirs sur celle-ci. Voici les 3 commandes à saisir pour cela (les ; sont nécessaires) :
create database glpi_db;
grant all privileges on glpi_db.* to glpi_user@localhost identified by "MDP";
exit
Quelques explications rapides sur ces commandes :
La 1ère va créer une base de données appelée « glpi_db », à vous de donner le nom qu’il vous plaira.
La 2nde va à la fois créer un utilisateur ici nommé « glpi_user », lui attribuer le mot de passe « MDP » et lui donner tous les privilèges (une sorte de « contrôle total » sur la base de données « glpi_db »). Une fois encore, à vous de définir les noms que vous souhaitez.
La commande exit (ou quit) sert simplement à quitter le service SQL et revenir dans le terminal.
Avant se de lancer dans l’installation même de GLPI, une dernière manipulation facultative mais utile : sécuriser l’accès au répertoire qui va convenir GLPI sur la machine. On va en fait refuser l’indexation des fichiers de configuration de GLPI dans un navigateur web.
Pour cela, modifiez le fichier de configuration du site web par défaut d’apache :
nano /etc/apache2/sites-available/000-default.conf
Sous la ligne « DocumentRoot », ajoutez les lignes suivantes en respectant l’indentation :
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Vous aurez un fichier qui ressemblera à ceci :
Info + : Le paramètre « Directory » correspond au futur emplacement de stockage de GLPI sur ma machine, à adapter à votre configuration bien entendu. Il n’est pas rare de placer GLPI dans un dossier à part entière plutôt qu’à la racine du service web, dans ce cas il sera dans /var/www/html/glpi, il faudra donc mettre ce fichier à jour. L’URL du site deviendra http://adresse_ip/glpi
Pour appliquer toutes les modifications, il reste à redémarrer le service apache :
systemctl restart apache2
On en profitera aussi pour faire en sorte que le service apache démarre lors d'un reboot du serveur :
systemctl enable apache2
Nous allons maintenant passer à l’installation de GLPI ! Placez vous dans un répertoire temporaire et téléchargez la dernière version disponible de GLPI sur Github disponible ici :
cd /tmp
wget https://github.com/glpi-project/glpi/releases/download/10.0.0-beta/glpi-10.0.0-beta.tgz
Décompressez l’archive de GLPI :
tar -xvzf glpi-10.0.0-beta.tgz
Copiez le contenu du dossier décompressé nommé « glpi » dans /var/www/html (vous pouvez aussi le déplacer directement mais j’aime bien conserver temporairement une copie propre de ce que j’installe sous Linux… vieille habitude ^^). Voici les commandes à saisir (la 1ère permet la copie des fichiers dits “cachés” dont le nom commence par un “.”, la seconde va supprimer le fichier index.html qui est la page d’accueil par défaut d’Apache dont je n’ai pas besoin, et la dernière va copier le tout dans la destination) :
shopt -s dotglob
rm /var/www/html/index.html
cp -r glpi/* /var/www/html/
Rendez l’utilisateur des services web (nommé www-data) propriétaire de ces nouveaux fichiers :
chown -R www-data /var/www/html
Les fichiers pour GLPI sont prêts, l’installation va se poursuivre directement via une interface web. Si votre machine possède une interface graphique avec un navigateur internet, rendez-vous sur http://IP_DU_SERVEUR
Info ++ : Si vous tombez sur une page web d’Apache par défaut, vous pouvez supprimer le fichier index.html avec la commande suivante et rafraichir la page, vous sera alors bien sur le setup d’installation de GLPI : rm /var/www/html/index.html
Commencer par choisir la langue et cliquer sur le bouton OK
.
Accepter les termes de la licence et cliquer sur Continuer
.
Choisir le type d’installation, ici on va installer un nouveau GLPI, cliquer sur le bouton Installer .
Une série de test sera lancée par le setup pour s’assurer que tous les prérequis nécessaires au bon fonctionnement de GLPI sont remplis.
Si vous avez correctement suivi ce tuto, il ne devrait y avoir que des coches vertes. Cliquez sur Continuer .
Il reste à saisir les** informations sur la base de données destinées à GLPI** que nous avons précédemment créée. Saisissez 127.0.0.1:3306 pour spécifier que la machine actuelle héberge à la fois le site web de GLPI et la base de données (si la base de données est stockée sur une autre machine, saisissez son adresse IP). Rentrez ensuite le nom de l’utilisateur
qui a tous les privilèges sur cette base de données et son mot de passe
et cliquer sur Continuer
.
Sélectionner la base de données et cliquer sur Continuer
.
Un message de confirmation s’affiche indiquant que la base de données a été installé, cliquer sur Continuer .
Configurer la télémétrie et cliquer sur le bouton Continuer
.
Passer l’étape 5 et cliquer sur Continuer .
L’installation est désormais terminée. Notez bien les identifiants par défaut qui permettront de rentrer dans l’interface web de GLPI.
Ils seront à changer par la suite. Cliquez sur Utiliser GLPI .
Vous pouvez dès maintenant supprimer le dossier install du repertoire GLPI.
rm -fr /tmp/glpi
rm /tmp/glpi-10.0.0-beta.tgz
Maintenant que nous avons installé GLPI 10, nous allons faire nos premiers pas dedans.
On arrive sur le formulaire d’authentification, on peut voir que la page a eu droit également à une nouvelle présentation un peu plus dans l’air du temps.
Entrer identifiant (glpi) et le mot de passe (glpi)
puis cliquer sur Se connecter
.
Vous voilà maintenant connecté au tableau de bord de votre outil GLPI !
Un message d’avertissement vous informe que par sécurité il faudra changer les mots de passe par défaut des 4 utilisateurs créés automatiquement et supprimer le fichier « install.php ».
Si vous cliquez sur le nom de l’un des utilisateurs, vous arriverez directement dans ses configurations. Vous pourrez alors lui attribuer un nouveau mot de passe.
Pour supprimer le fichier install.php, la commande est la suivante :
rm /var/www/html/install/install.php
Info + : La localisation du fichier install.php dépend de l’emplacement où se trouvent les fichiers de GLPI sur la machine.
Les différents menus à gauche vous permettront par exemples de gérer votre parc, vos tickets d’incidents, de centraliser vos contrats, fournisseurs ou autres, de gérer les projets du SI et d’administrer GLPI.
Pour l'installation avec docker, il faut au préalable avoir installé docker et docker-compose sur votre serveur.
Vous retrouvez la procédure pour l'installer ici.
Crée un dossier apps à la racine de votre serveur :
mkdir apps
Puis rendez vous dans celui-ci, créez un dossier glpi.
cd /apps/
mkdir glpi
Une fois cela fais, créer un fichier docker-compose.yml avec le contenu suivant :
version: "3.8"
services:
#MariaDB Container
mariadb:
image: mariadb:10.7
container_name: mariadb
hostname: mariadb
volumes:
- /var/lib/mysql:/var/lib/mysql
environment:
- MARIADB_ROOT_PASSWORD="Password_Root"
- MARIADB_DATABASE=glpi_db
- MARIADB_USER=glpi_user
- MARIADB_PASSWORD="Password_Glpi_User"
restart: always
networks:
- glpi-network
#GLPI Container
glpi:
image: diouxx/glpi:latest
container_name : glpi
hostname: glpi
ports:
- "80:80"
volumes:
- /apps/glpi/timezone:/etc/timezone:ro
- /apps/glpi/localtime:/etc/localtime:ro
- /apps/web/:/var/www/html/glpi
environment:
- TIMEZONE=Europe/Paris
restart: always
networks:
- glpi-network
networks:
glpi-network:
Maintenant vous pouvez lancer la stack avec la commande suivante :
docker-compose up -d