Date de dernière modification de l’article :
GLPI offre une plateforme intégrée permettant de centraliser et de suivre les incidents, les demandes de service, et les problèmes techniques. Grâce à ses fonctionnalités avancées de ticketing, de gestion des actifs, et de suivi des contrats, GLPI aide les équipes IT à répondre plus rapidement aux besoins des utilisateurs, à réduire les temps d’arrêt, et à améliorer la satisfaction globale des clients.
Dans ce tutoriel, nous allons vous guider à travers l’installation étape par étape de GLPI 10 sur une machine Debian 12, en configurant Apache2, PHP 8.2 (PHP-FPM) et MariaDB Server.
GLPI est un logiciel libre de gestion de parc informatique qui offre une solution de ticketing gratuite pour le support informatique. Il permet également de gérer l’inventaire des équipements tels que les ordinateurs et les téléphones, ainsi que les contrats, les licences, les consommables, les baies serveurs, et bien plus encore. Créé en 2003, GLPI est une solution populaire adoptée par des milliers d’entreprises.
Bien que Teclib, l’éditeur de GLPI, propose une version payante hébergée en mode SaaS, GLPI reste gratuit et peut être hébergé sur votre propre serveur. Que ce soit pour vos besoins internes ou pour vos clients, notamment pour la gestion des tickets de support, GLPI est une option flexible et puissante.
Pensez en amont à mettre à jour votre Système Debian :
sudo apt-get update && sudo apt-get upgrade -y
Section 1 : Préparation de notre serveur Debian 12 pour héberger notre GLPI :
A. Préparation de notre base LAMP :
Nous allons commencer par installer les 3 paquets essentiels pour donner vie à notre base de serveur LAMP :
sudo apt-get install apache2 php mariadb-server -y
Ensuite, installons toutes les dépendances nécéssaire au bon fonctionnement de notre GLPI :
sudo apt-get install php-xml php-common php-json php-mysql php-mbstring php-curl php-gd php-intl php-zip php-bz2 php-imap php-apcu -y
Si vous prévoyez d’intégrer GLPI avec un annuaire LDAP tel que l’Active Directory, il est nécessaire d’installer l’extension LDAP de PHP. Dans le cas contraire, cette installation n’est pas obligatoire et peut être réalisée ultérieurement si besoin :
sudo apt-get install php-ldap -y
Nous allons configurer MariaDB pour qu’il puisse accueillir la base de données de GLPI. La première étape consiste à exécuter la commande suivante afin de mettre en place les mesures de sécurité de base pour MariaDB. Il n’y a pas de mot de passe par défaut de configuré pour l’utilisateur root de MariaDB, il vous sera demandé de le modifier, puis tapez « y » à toutes les demandes du terminal :
sudo mysql_secure_installation
Ensuite, nous mettrons en place une base de données spécifique pour GLPI, accessible uniquement par un utilisateur dédié. Il est exclu d’utiliser le compte root de MariaDB : chaque base de données doit être associée à un utilisateur distinct.
Saisissez le mot de passe root de MariaDB, que vous venez de définir à l’étape précédente :
su -
sudo mysql -u root -p
Maintenant, nous exécuterons les requêtes SQL suivantes pour créer la base de données « glpi » ainsi que l’utilisateur « glpi » avec le mot de passe de votre choix. Cet utilisateur disposera de tous les droits sur cette base de données, et uniquement sur celle-ci :
CREATE DATABASE glpi;
GRANT ALL PRIVILEGES ON glpi.* TO glpi@localhost IDENTIFIED BY "votremotdepasse";
FLUSH PRIVILEGES;
EXIT
B. Téléchargement & Installation de GLPI :
L’étape suivante est de télécharger l’archive « .tgz » contenant les sources d’installation de GLPI. Pour ce faire, récupérez le lien vers la dernière version disponible sur le GitHub de GLPI : https://github.com/glpi-project/glpi/releases. Dans notre cas, la version la plus récente est la « 10.0.18 » qui sera installée.
Nous allons déposer l’archive de notre GLPi dans le dossier « /tmp » :
cd /tmp
wget https://github.com/glpi-project/glpi/releases/download/10.0.18/glpi-10.0.18.tgz
Ensuite, nous exécuterons la commande suivante pour décompresser l’archive « .tgz » dans le répertoire « /var/www/ », créant ainsi le chemin d’accès « /var/www/glpi » pour GLPI :
sudo tar -xzvf glpi-10.0.18.tgz -C /var/www/
Nous allons attribuer les permissions des fichiers GLPI à l’utilisateur « www-data », qui correspond à l’utilisateur par défaut de Apache :
sudo chown www-data /var/www/glpi/ -R
Ensuite, nous devrons créer plusieurs répertoires et déplacer des données hors de la racine Web (/var/www/glpi) pour les stocker dans ces nouveaux répertoires. Cela permettra de réaliser une installation sécurisée de GLPI, conforme aux recommandations de l’éditeur.
Commencez par créer le répertoire « /etc/glpi » pour y stocker les fichiers de configuration de GLPI. Accordez les autorisations nécessaires à l’utilisateur « www-data » sur ce répertoire, car il doit pouvoir y accéder (nous allons réitérer la manipluation également pour le répertoire « /var/lib/glpi » & « /var/log/glpi« ) :
sudo mkdir /etc/glpi
sudo chown www-data /etc/glpi/
sudo mv /var/www/glpi/config /etc/glpi
sudo mkdir /var/lib/glpi
sudo chown www-data /var/lib/glpi/
sudo mv /var/www/glpi/files /var/lib/glpi
sudo mkdir /var/log/glpi
sudo chown www-data /var/log/glpi
Nous devons configurer GLPI pour qu’il puisse localiser les données. En d’autres termes, nous allons indiquer les nouveaux chemins des répertoires récemment créés, pour ce faire, nous allons éditer les fichiers de configuration « downstream.php » & » local_define.php » :
sudo nano /var/www/glpi/inc/downstream.php
#ajoutez tout ce qui suit dans votre fichier de configuration "downstream.php"
<?php
define('GLPI_CONFIG_DIR', '/etc/glpi/');
if (file_exists(GLPI_CONFIG_DIR . '/local_define.php')) {
require_once GLPI_CONFIG_DIR . '/local_define.php';
}
sudo nano /etc/glpi/local_define.php
#ajoutez tout ce qui suit dans votre fichier de configuration "local_define.php"
<?php
define('GLPI_VAR_DIR', '/var/lib/glpi/files');
define('GLPI_LOG_DIR', '/var/log/glpi');
C. Gestion de la configuration de notre VirtualHost pour le service Apache :
Passons à la configuration du serveur web Apache2. Nous allons créer un nouveau fichier de configuration pour définir le VirtualHost dédié à GLPI. Dans mon cas, ce fichier s’intitule « glpi.steve-infra.local.conf », en référence au nom de domaine choisi pour accéder à GLPI : glpi.steve-infra.local. Il est idéal d’avoir un nom de domaine (même interne) pour accéder à GLPI, afin de pouvoir installer un certificat SSL par la suite.
sudo nano /etc/apache2/sites-available/glpi.steve-infra.local.conf
<VirtualHost *:80>
ServerName glpi.steve-infra.local
DocumentRoot /var/www/glpi/public
# If you want to place GLPI in a subfolder of your site (e.g. your virtual host is serving multiple applications),
# you can use an Alias directive. If you do this, the DocumentRoot directive MUST NOT target the GLPI directory itself.
# Alias "/glpi" "/var/www/glpi/public"
<Directory /var/www/glpi/public>
Require all granted
RewriteEngine On
# Redirect all requests to GLPI router, unless file exists.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</Directory>
</VirtualHost>
Activons maintenant le site que nous venons de créer pour Apache avec la commande suivante :
sudo a2ensite glpi.steve-infra.local.conf
#Désactivons le site par défaut car il ne sert plus à rien
sudo a2dissite 000-default.conf
#Activez le module "rewrite" (pour les règles de réécriture), car il est utilisé dans le fichier de configuration du VirtualHost (RewriteCond / RewriteRule).
sudo a2enmod rewrite
#Redémarrez le service Apache2 pour que les modifications prennent effet
sudo systemctl restart apache2
D. Configuration de PHP8.2-FPM avec Apache2
Pour intégrer PHP comme moteur de scripts avec Apache2, deux méthodes sont envisageables : le module PHP pour Apache2 (libapache2-mod-php8.2) ou PHP-FPM.
L’utilisation de PHP-FPM est conseillée pour ses performances supérieures et son fonctionnement autonome. L’autre approche implique que chaque processus Apache2 gère son propre moteur PHP.
Si vous choisissez PHP-FPM, suivez les instructions ci-dessous. Sinon, continuez, mais assurez-vous de configurer l’option « session.cookie_httponly » comme indiqué.
Nous allons débuter par l’installation de PHP8.2-FPM avec la commande suivante :
sudo apt install php8.2-fpm -y
Activons dorénavant deux modules dans Apache et la configuration de PHP-FPM, avant de recharger Apache2 avec les commandes suivantes :
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.2-fpm
sudo systemctl reload apache2
Pour configurer PHP-FPM avec Apache2, nous n’allons pas modifier le fichier « /etc/php/8.2/apache2/php.ini ». À la place, nous allons utiliser le fichier de configuration « php.ini/ » présent dans le répertoire « fpm » :
#Dans ce fichier de configuration, localisez l'option "session.cookie_httponly" avec CTRL+W et définissez-la sur "on" pour l'activer, ce qui sécurisera les cookies de GLPI.
sudo nano /etc/php/8.2/fpm/php.ini
session.cookie_httponly = on
#Redémarrez Apache-fpm pour que les modifications prennent effet
sudo systemctl restart php8.2-fpm.service
Terminons toute la configuration avant l’accès à l’interface WEB de notre GLPI en modifiant le VirtualHost pour préciser à Apache2 que PHP-FPM doit être utilisé pour les fichiers PHP :
sudo nano /etc/apache2/sites-available/glpi.steve-infra.local.conf
#Mettez les lignes suivantes en fin de fichier de conf juste avant "</VirtualHost>"
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost/"
</FilesMatch>
#Redémarrez Apache
sudo systemctl restart apache2
Veuillez vous référer à l’article suivant pour savoir comment réaliser un enregistrement DNS dans votre AD pour faire pointer le nom de domaine que vous avez défini dans le VirtualHost de votre GLPi vers l’adresse IP de la machine qui héberge vore GLPI :
E. Configuration de l’administration WEB de GLPI :
Rendez-vous sur le navigateur de votre choix, allez dans la barre de recherche URL et tapez soit le nom de domaine que vous avez attribué à votre GLPi, soit son adresse IP « http://votrenomdedomaineGLPI ou http://ladresseipdevotreGLPI »
vous devriez voir apparaître une fenêtre ayant pour titre « GLPI SETUP », il n’ya rien de particulier à faire mis à part sélectionner la langue sous laquelle sera traduite votre interface WEB GLPI et de cliquer sur « OK » :
GLPI vous informera sous quelle license il tourne, cliquez sur « Continuer » :
Choisissez d’installer GLPI, nous ne l’avons pas encore installé donc nous n’avons aucun besoin de le mettre à jour :
Les pré-requis d’installation de GLPI vous seront présentés, assurez-vous que tout soit coché :
En bas de page, cliquez sur « Continuer » :
Lors de l’étape suivante, nous devons fournir les informations nécessaires pour se connecter à la base de données. Nous spécifions « localhost » comme serveur SQL, car MariaDB est installé localement, sur le même serveur que GLPI. Ensuite, nous entrons l’utilisateur « glpi » ainsi que son mot de passe correspondant.
L’installeur GLPI vous informera que la connexion à votre base de données c’est bien déroulée, vous allez pouvoir choisir la base de données existante que vous avez créer en début de documentation :
Cliquez sur « Continuer » :
Si comme moi vous êtes frileux d’envoyer des informations télémétriques d’un service à un tier, décochez « Envoyer statistiques d’usage » et cliquez sur « Continuer » :
GLPI vous informera qu’un support est mis à disposition pour obtenir de l’aide à l’intégration de ce service dans votre SI, cliquez sur « Continuer » :
Nous avons terminé l’installation de GLPI, vous pouvez cliquer « Utiliser GLPI » :
le compte « glpi » et le mot de passe « glpi » sont les identifiants par défaut pour accéder à l’interface d’administration GLPI, rentrez ces champs par défaut et cliquez sur « Se connecter » :
Vous voilà à présent sur le tableau de bord d’administration de GLPI, veillez à prendre en considération les avertissements de sécurité qui vous sont affichés :
Pour changer le mot de passe par défaut, cliquez sur l’URL qui est affiché dans l’encadré orange et choisissez bien en bas à droite le bon responsable qui est l’utilisateur administrateur de votre GLPI, changez l’identifiant si besoin et definissez un mot de passe, puis une fois les champs modifiés, défilez tout en bas de la page et cliquez sur « Sauvegarder » , faites de même pour les tous les autres utilisateurs :
Pour supprimer le fichier « install/install.php, faites la commande suivante :
sudo rm /var/www/glpi/install/install.php
Vous pouvez maintenant créer vos propres tickets en cliquant sur « Assistance » dans le volet latéral gauche, une fois le volet « Assistance » déroulé, cliquez sur « Tickets et ensuite cliquez sur « Créer un ticket » :
Section 2 : configuration du plugin GLPI Inventory & installation de GLPI Agent sur votre poste client :
A. Configuration du plugin GLPI Inventory :
Tout d’abord, il est nécessaire de s’enregistrer sur le site GLPI Network pour pouvoir installer des plugins : https://services.glpi-network.com/
Cette opération nous permettra d’associer une clé d’enregistrement à notre site GLPI.
Une fois l’enregistrement effectué, la clé apparaît dans l’onglet « Enregistrement » du site GLPI Network. Copiez la.
Nous l’importons ensuite dans l’onglet Configuration > Générale > GLPI Network de notre interface d’administration Web GLPI.
Nous commencerons par activer l’inventaire dans l’onglet Administration > Inventaire, puis en cochant la case « Activer l’inventaire ». N’oubliez pas de défiler la page pour cliquer sur le bouton « Sauvegarder ».
Ensuite, nous procédons à l’installation du plugin GLPI Inventory. Une fois sur l’interface, il suffit de se rendre dans l’onglet Configuration > Plugins, puis de cliquer sur « Marketplace » en haut de la page.
Recherchez GLPI Inventory pour le télécharger :
Une fois l’avoir téléchargé, activez-le ou vérifiez qu’il est bien actif !
Un nouvel onglet est désormais disponible sous « Administration ». C’est à cet endroit que nous pourrons gérer, entre autres, les tâches de découverte des réseaux ou l’installation de paquets.
B. Installation de GLPI Agent sur votre poste client :
Veuillez vous rendre sur votre poste client pour effectuer l’installation de GLPI client et rendez vous sur le GitHub officiel de GLPI pour obtenir la dernière version .MSI de l’agent pour effectuer l’installation.
https://github.com/glpi-project/glpi-agent/releases
Lancez l’installeur .MSI faites « Next » plusieurs fois et lorsque vous atteindrez cette étape de l’installateur, choisissez une installation de l’agent en mode « Typical ».
Renseignez le nom de domaine ou l’adresse IP de votre serveur GLPI dans « Remote Target ». Puis cliquez sur « Next ».
Pour déclencher un inventaire instantané de l’appareil et obtenir une remontée immédiate dans GLPI, il suffit d’ouvrir l’URL suivante : http://localhost:62354/now et de sélectionner « Force an Inventory ».
L’agent est installé. Nous pouvons soit attendre l’exécution automatique de l’inventaire, soit lancer manuellement un inventaire immédiatement !
Il est possible de consulter les journaux pour vérifier que la transmission des informations a été réalisée avec succès. Ceux-ci se trouvent à l’emplacement suivant :
C:/Programmes/GLPI-Agent/logs/glpi-agent
Laisser un commentaire