
Dans ce tutoriel, je vais vous expliquer comment installer GLPI 11 sur Linux (Ubuntu 24.04) avec Apache2, PHP 8.3 en FPM et MariaDB.
GLPI 11 est une solution open source de gestion des services informatiques (ITSM) qui permet de gérer les équipements, les utilisateurs, les tickets d’incidents, et les demandes de service. Cette version apporte une interface modernisée, une meilleure ergonomie, et des performances améliorées. Elle intègre nativement des outils de gestion de projet, de base de connaissances, et d’inventaire. GLPI 11 renforce également la sécurité et facilite l’intégration avec d’autres systèmes via API REST.
Avertissement
Au moment de la rédaction du tutoriel, GLPI 11 est encore en version Beta.
Sommaire
Prérequis pour déployer GLPI
Pour fonctionner GLPI à besoin d’un serveur Web et de PHP, dans ce tutoriel, nous allons installer Apache2 et PHP directement sur le serveur en utilisant les dépôts PPA qui vont nous permettre d’avoir les versions plus récente d’Apache2 et de PHP.
Pour la partie serveur de base de données, nous allons déployer un serveur MariaDB 11 à l’aide de Docker.
En complément à la fin de ce tutoriel, je vous explique aussi comme configurer GLPI pour utiliser Redis comme système de cache.
Vous devez également prévoir un nom DNS du type glpi.domain.tld
.
Installer Docker et Docker compose
Pour commencer, vous allez devoir installer Docker et docker compose que nous allons utiliser pour le serveur de base de données et le serveur Redis, je vous invite à suivre ce tutoriel dans un premier temps : Ubuntu 24.04 : Installation de Docker et Docker compose
Installer Apache2
Pour commencer, nous allons installer le serveur web Apache2 depuis le dépôt PPA for Apache 2.
Commencer par entrer la commande suivante :
sudo add-apt-repository ppa:ondrej/apache2

Mettre à jour le cache des paquets :
sudo apt update

Sur la capture, on peut voir que le dépôt ondrej/apache2 a été interrogé.
Lancer l’installation d’Apache2
sudo apt install apache2 -y

Patienter pendant l’installation …


Apache2 est installé, entrer la commande suivante pour vérifier que le service est démarré :
sudo systemctl status apache2

GLPI a besoin du module Rewrite pour fonctionner, nous allons l’activer dès maintenant, entrer la commande suivante :
sudo a2enmod rewrite
Redémarrer Apache2 la prise en compte du module Rewrite.
sudo systemctl restart apache2
Pour tester le bon fonctionnement du serveur Web Apache2, ouvrir un navigateur Internet, comme URL saisir l’adresse IP du serveur (http://a.b.c.d). Vous devriez avoir la page suivante :

Le serveur Apache2 est fonctionnel.
Installation de PHP-FPM pour GLPI
PHP est le langage utiliser coté serveur, pour la génération dynamique des pages mais aussi pour traiter toutes la partie inventaire et différentes tâches automatiques à l’aide des CRON.
Pour des raisons de « performances » et de séparation des services au niveau du serveur Web Apache2, nous allons installer PHP-FPM.
PHP-FPM (FastCGI Process Manager) est une méthode performante pour exécuter du code PHP sur un serveur web. Il permet de mieux gérer les processus PHP, d’améliorer la vitesse d’exécution et de réduire la charge serveur. PHP-FPM offre aussi une plus grande stabilité, notamment en cas de trafic important, et permet une configuration fine (par site ou application). C’est aujourd’hui la méthode recommandée avec Nginx et aussi très utilisée avec Apache.
Comme pour Apache2, nous allons utiliser le dépôt ppa:ondrej/php qui nous permet d’avoir la version la plus à jour de PHP 8.3 sur Ubuntu.
Commencer par ajouter le dépôt avec la commande suivante :
sudo add-apt-repository ppa:ondrej/php

Le dépôt ajouté, entrer la commande suivante :
sudo apt update
Maintenant, on installe PHP 8.3, entrer la commande suivante :
sudo apt install php8.3-fpm -y



Installer les modules complémentaires de PHP pour GLPI 11 :
sudo apt install php8.3-curl php8.3-gd php8.3-intl php8.3-mysql php8.3-bz2 php8.3-zip php8.3-apcu php8.3-cli php8.3-imap php8.3-mbstring php8.3-dom php8.3-simplexml php8.3-xmlreader php8.3-xmlwriter php8.3-bcmath php8.3-redis -y
Si vous prévoyez une liaison LDAP à un annuaire Active Directory, il faut également installer le module ldap de PHP :
sudo apt install php8.3-ldap -y
PHP est installé, on va commencer par activer les modules nécessaires à l’utilisation de PHP-FPM dans Apache2, pour cela entrer la commande suivante :
sudo a2enmod proxy_fcgi setenvif
Redémarrer le service Apache2 :
sudo systemctl restart apache2
Maintenant, il existe plusieurs façon pour faire communiquer Apache2 avec PHP-FPM, le serveur étant dédié à GLPI avec une seule version de PHP, on va activer la configuration directement disponible dans Apache2, entrer la commande suivante :
sudo a2enconf php8.3-fpm
Redémarrer de nouveau le service Apache2 :
sudo systemctl restart apache2
On va tester l’installation de PHP, pour cela on va créer un fichier PHP avec le fonction phpinfo();
qui va nous retourner les informations de l’installation de PHP.
Créer le fichier :
sudo nano /var/www/html/phpinfo.php
Dans le fichier ajouter les lignes suivantes :
<?php
phpinfo();
?>
Ensuite depuis un navigateur appelé la page phpinfo.php
(http://a.b.c.d/phpinfo.php
), vous devriez avoir cela :

Comme on peut le voir sur la Server API, PHP est exécuté en mode FPM/FastCGI.
Configuration du conteneur MariaDB
Dernier élément de notre serveur nécessaire pour faire fonctionner GLPI 11 est la base de données, comme expliquer au début de ce tutoriel, nous allons utiliser Docker pour faire fonctionner la base de données MariaDB pour GLPI.
L’utilisation de Docker va nous permettre de nous affranchir des dépôts Ubuntu pour notre base de données, ce qui permet là aussi d’avoir les mises à jour plus rapidement. Il y a d’autres avantages, mais ce n’est pas l’objet du tutoriel.
Créer le dossier pour le stockage du conteneur :
sudo mkdir /containers/mariadb-glpi
Aller dans le dossier de le dossier :
cd /containers/mariadb-glpi
Cloner le dépôt suivant qui contient les fichiers de configuration du conteneur pour mariadb :
sudo git clone https://git.rdr-it.com/docker/mariadb-or-mysql-container.git .
Si vous souhaitez plus d’information sur le déploiement de MariaDB avec Docker : Docker : créer un conteneur MariaDB ou MySQL
Editer le fichier .env
sudo nano .env
Voici le contenu que vous devez mettre (générer des mots de passe) :

Télécharger l’image du conteneur :
sudo docker compose pull

Démarrer le conteneur :
sudo docker compose up -d

Le serveur de base de données est prêt.
Télécharger GLPI 11
On va passer au téléchargement de GLPI.
Avant de commencer, créer le dossier qui va servir à héberger les fichiers de GLPI :
sudo mkdir -p /var/www/glpi
Aller dans le dossier home de votre utilisateur :
cd
Sur le page : https://github.com/glpi-project/glpi/releases copier l’url de l’archive (fichier tgz) de la dernière release disponible de GLPI 11.
Télécharger l’archive :
wget https://github.com/glpi-project/glpi/releases/download/11.0.0-beta5/glpi-11.0.0-beta5.tgz
Le fichier télécharger décompresser l’archive :
tar -xvzf glpi-11.0.0-beta5.tgz
Déplacer les fichiers de GLPI 11 dans le dossier prévu pour Apache2 :
sudo mv glpi/* /var/www/glpi
Dernière étape, changer le propriétaire du dossier /var/www/glpi :
sudo chown www-data:www-data /var/www/glpi/ -R
Configuration du virtualhost pour GLPI 11 dans Apache2
Dernière étape avec les lignes de commandes 😉 On va configurer le virtualhost dans Apache2 pour GLPI 11.
Aller dans le dossier /etc/apache2/sites-available/
cd /etc/apache2/sites-available/
Copier le fichier du virtualhost par défaut :
sudo cp 000-default.conf glpi.conf
Editer le fichier :
nano glpi.conf
Voici le fichier du virtualhost pour GLPI 11, adapter le ServerName avec l’enregistrement DNS que vous avez choisi.
Activer le virtualhost :
sudo a2ensite glpi
Recharger la configuration Apache2
sudo systemctl reload apache2
La configuration au niveau du serveur est terminée.
Installer GLPI 11
Depuis un navigateur Internet, entrer l’url que vous avez choisi pour GLPI, sur la page qui s’affiche, cliquer sur Go to install page 1.

Commencer par sélectionner la langue 1 et cliquer sur le bouton OK 2.

Accepter la licence en cliquant sur Continuer 1.

Ici, nous allons faire une nouvelle installation de GLPI 11, cliquer sur le bouton Installer 1.

Vérifier que les prérequis de l’environnement soient respectés, cliquer ensuite sur le bouton Continuer 1 en bas de la page.


Configurer les informations de connexion à la base de données 1 (Serveur, utilisateur et mot de passe) et cliquer sur le bouton Continuer 2.

La connexion au serveur MariaDB qui est en conteneur est fonctionnelle, sélectionner la base glpi 1 et cliquer sur le bouton Continuer 2.

Patienter pendant l’initialisation de la base de données ….

La base de données pour GLPI 11 a été initialisée, l’ensemble des tables et données par défaut ont été injecté. Cliquer sur le bouton Continuer 1.

Configurer la collecte de données 1 si vous le souhaitez, puis cliquer sur le bouton Continuer 2.

Passe l’étape 5, cliquer sur Continuer 1.

L’installation de GLPI est terminée, cliquer sur le bouton Utiliser GLPI 1.

Vous êtes redirigé vers la page de connexion à GLPI 11.

Connexion à GLPI 11 et découverte
Pour la première connexion, utiliser l’identifiant glpi 1 et le mot de passe glpi 2 et cliquer sur Se connecter 3.

Après la connexion, on arrive sur le page d’accueil de GLPI qui regroupe plusieurs tableau de bords avec des statiques.

Comment vous pouvez le voir, les statistiques ne sont pas à 0, c’est normale, par défaut GLPI 11 affiche des données de démo, il est possible de les « supprimer » en cliquant sur Disable demonstration.
Vérifier les données d’environnements
Depuis le menu Configuration 1, cliquer sur Générale 2, vous allez retrouver ici les différentes informations de l’environnement applicatif de GLPI 11.



Configurer le cache Redis
Par défaut GLPI utilise un système de cache basé sur les fichiers, sur des environnements ou GLPI est fortement sollicité, on peut utiliser Redis comme système de cache qui permet d’améliorer les performances.
Redis est une base de données NoSQL en mémoire, open source, principalement utilisée comme cache, file d’attente, ou magasin clé-valeur ultra-rapide. Elle stocke les données directement en RAM, ce qui permet des temps de réponse extrêmement courts (en millisecondes). Redis prend en charge des structures de données avancées comme les listes, sets, hashes, sorted sets, ou encore bitmaps. Elle est souvent utilisée pour améliorer les performances des applications web, gérer les sessions, ou faire du pub/sub. Redis peut également être persistante, en écrivant périodiquement les données sur disque. Elle est compatible avec la haute disponibilité grâce à des mécanismes comme Redis Sentinel ou Redis Cluster.
Dans la partie Performance 1, vous avez les informations sur le cache de GLPI, comme on peut le voir sur la capture ci-dessous, par défaut, nous sommes sur « filesystem ».

Pour faciliter l' »installation » de Redis, nous allons déployer le service en conteneur avec Docker, comme on l’a fait pour base de données MariaDB.
De retour en SSH sur le serveur, aller dans le dossier /containers/
et créer le dossier pour le conteneur Redis.
cd /containers
sudo mkdir redis-glpi
cd redis-glpi
Créer le fichier docker-compose.yml
.
sudo nano docker-compose.yml
Copier le contenu suivante dans le fichier docker-compose.yml
:
Télécharger l’image du conteneur Redis :
sudo docker compose pull
Démarrer le conteneur :
sudo docker compose up -d
Aller ensuite dans le dossier d’installation de GLPI 11 :
cd /var/www/glpi
Entrer la commande suivante pour configurer le cache Redis dans GLPI 11 :
sudo php bin/console cache:configure --context core --dsn redis://127.0.0.1:6379/1

En fonction de l’utilisateur utilisé en SSH, il faut confirmer l’exécution de la commande.
De retour sur la page Performance de GLPI 11, actualiser la page et vous devriez voir que Redis est configuré.

Continuer dans la configuration de GLPI 11
Ce tutoriel touche à sa fin, d’autres vont arriver sur GLPI 11, ce que vous pouvez dès à présent faire :
- Supprimer le dossier install de GLPI
- Changer le mot de passe du compte glpi
- Désactiver ou supprimer les autres utilisateurs.
Si vous êtes habitué à GLPI 10, on peut voir que les deux versions sont similaires dans l’interface et la configuration des autres éléments comme la connexion LDAP, SMTP ….
Conclusion
A travers ce tutoriel, vous avez vu comment configurer un environnement LAMP spécifique pour GLPI sur Ubuntu 24.04, en configurant Apache2, PHP-FPM et des services avec Docker (MariaDB et Redis).
Il existe une multitude d’environnement pour installer GLPI et ici nous avons vu UNE des possibilité.
Si vous avez des questions, poser les dans les commentaires.