Dans ce tutoriel, nous allons effectuer une installation pas-Ă -pas de GLPI 10 sur une machine Debian 12, en mettant en place Apache2, PHP 8.2 (PHP-FPM) et MariaDB Server.
GLPI est un logiciel libre de gestion de parc informatique permettant d’avoir une solution de ticketing gratuite pour le support informatique, de gĂ©rer l’inventaire des Ă©quipements, notamment les ordinateurs et les tĂ©lĂ©phones, de gĂ©rer ses contrats, ses licences, ses consommables, ses baies serveurs, etc…. Créé en 2003, GLPI est une solution populaire utilisĂ©e par des milliers d’entreprises.
Bien que son Ă©diteur Teclib propose une version payante et hĂ©bergĂ©e en mode SaaS, GLPI est toujours gratuit et vous pouvez l’hĂ©berger sur votre serveur, que ce soit pour vos besoins internes ou pour vos clients, notamment pour la gestion des tickets de support.
www.it-connect.fr
Source : https://www.it-connect.fr/installation-pas-a-pas-de-glpi-10-sur-debian-12/

Prérequis :
Avant d’Ă©voquer l’installation, parlons des prĂ©requis. GLPI a besoin d’un serveur Web, de PHP et d’une base de donnĂ©es pour fonctionner. Sous Linux, ceci correspond Ă un socle LAMP. Il supporte plusieurs serveurs Web : Apache2, Nginx, lighttpd et IIS.
Pour le reste, voici ce que vous devez savoir :
- Version de PHP
- Minimum : PHP 7.4 (plus supportée !)
- Maximum : PHP 8.2
- Base de données
- MySQL 5.1 minimum
- MariaDB 10.2 minimum
Il y aura également plusieurs extensions PHP à installer pour que GLPI puisse fonctionner.
La derniĂšre version de GLPI Ă l’heure oĂč j’Ă©cris ces lignes, Ă savoir GLPI 10.0.10, ajoute le support de PHP 8.3 (future version stable) et MySQL 8.1, en plus de corriger de nombreuses vulnĂ©rabilitĂ©s critiques.
Pour cette démonstration, nous allons utiliser une machine sous Debian 12 et nous allons installer dessus Apache2, PHP 8.3 ainsi que MariaDB.
Si vous avez besoin de précisions supplémentaires, vous pouvez consulter la documentation officielle :
https://glpi-install.readthedocs.io/en/latest/prerequisites.html
Préparer le serveur pour installer GLPI
Commençons par l’installation par une mise Ă jour des paquets sur la machine Debian 12. Pensez Ă©galement Ă lui attribuer une adresse IP et Ă effectuer la configuration du systĂšme.
sudo apt-get update && sudo apt-get upgrade
La premiÚre grande étape consiste à installer les paquets du socle LAMP : Linux Apache2 MariaDB PHP. Sous Debian 12, qui est la derniÚre version stable de Debian, PHP 8.2 est distribué par défaut dans les dépÎts officiels.
Commençons par installer ces trois paquets :
sudo apt-get install apache2 php mariadb-server
Puis, nous allons installer toutes les extensions nécessaires au bon fonctionnement de 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
Ces commandes vont permettre de récupérer les versions de ces extensions pour PHP 8.2.
Si vous envisagez d’associer GLPI avec un annuaire LDAP comme l’Active Directory, vous devez installer l’extension LDAP de PHP. Sinon, ce n’est pas nĂ©cessaire et vous pouvez le faire par la suite, si besoin.
sudo apt-get install php-ldap
Nous venons d’installer Apache2, MariaDB, PHP et un ensemble d’extensions.
Préparer une base de données pour GLPI
Nous allons prĂ©parer MariaDB pour qu’il puisse hĂ©berger la base de donnĂ©es de GLPI. La premiĂšre action Ă effectuer, c’est d’exĂ©cuter la commande ci-dessous pour effectuer le minimum syndical en matiĂšre de sĂ©curisation de MariaDB.
sudo mysql_secure_installation
Vous serez invitĂ© Ă changer le mot de passe root, mais aussi Ă supprimer les utilisateurs anonymes, dĂ©sactiver l’accĂšs root Ă distance, etc… Tout est bien expliquĂ©. Voici un exemple sur mon serveur pour vous guider :

Ensuite, nous allons crĂ©er une base de donnĂ©es dĂ©diĂ©e pour GLPI et celle-ci sera accessible par un utilisateur dĂ©diĂ©. Hors de question d’utiliser le compte root de MariaDB : une base de donnĂ©es = un utilisateur.
Connectez-vous Ă votre instance MariaDB :
sudo mysql -u root -p
Saisissez le mot de passe root de MariaDB, que vous venez de dĂ©finir Ă l’Ă©tape prĂ©cĂ©dente.
Puis, nous allons exĂ©cuter les requĂȘtes SQL ci-dessous pour crĂ©er la base de donnĂ©es « db23_glpi » ainsi que l’utilisateur « glpi_adm » avec le mot de passe « MotDePasseRobuste » (que vous changez, bien sĂ»r). Cet utilisateur aura tous les droits sur cette base de donnĂ©es (et uniquement sur celle-ci).
CREATE DATABASE db23_glpi;
GRANT ALL PRIVILEGES ON db23_glpi.* TO glpi_adm@localhost IDENTIFIED BY "MotDePasseRobuste";
FLUSH PRIVILEGES;
EXIT
Ce qui donne :

VoilĂ , la base de donnĂ©es prĂȘte.
Télécharger GLPI et préparer son installation
La prochaine Ă©tape consiste Ă tĂ©lĂ©charger l’archive « .tgz » qui contient les sources d’installation de GLPI. A partir du GitHub de GLPI, rĂ©cupĂ©rez le lien vers la derniĂšre version. Ici, c’est la version GLPI 10.0.10 qui est installĂ©e.
https://github.com/glpi-project/glpi/releases/
L’archive sera tĂ©lĂ©chargĂ©e dans le rĂ©pertoire « /tmp » :
cd /tmp wget https://github.com/glpi-project/glpi/releases/download/10.0.10/glpi-10.0.10.tgz
Puis, nous allons exĂ©cuter la commande ci-dessous pour dĂ©compresser l’archive .tgz dans le rĂ©pertoire « /var/www/ », ce qui donnera le chemin d’accĂšs « /var/www/glpi » pour GLPI.
sudo tar -xzvf glpi-10.0.10.tgz -C /var/www/
Nous allons dĂ©finir l’utilisateur « www-data » correspondant Ă Apache2, en tant que propriĂ©taire sur les fichiers GLPI.
sudo chown www-data /var/www/glpi/ -R
Ensuite, nous allons devoir crĂ©er plusieurs dossiers et sortir des donnĂ©es de la racine Web (/var/www/glpi) de maniĂšre Ă les stocker dans les nouveaux dossiers que nous allons crĂ©er. Ceci va permettre de faire une installation sĂ©curisĂ©e de GLPI, qui suit les recommandations de l’Ă©diteur.
- Le répertoire /etc/glpi
Commencez par créer le répertoire « /etc/glpi » qui va recevoir les fichiers de configuration de GLPI. Nous donnons des autorisations à www-data sur ce répertoire car il a besoin de pouvoir y accéder.
sudo mkdir /etc/glpi sudo chown www-data /etc/glpi/
Dans lequel nous déplaçons également le dossier « files » qui contient la majorité des fichiers de GLPI : CSS, plugins, etc.
sudo mv /var/www/glpi/files /var/lib/glpi
- Le répertoire /var/log/glpi
Terminons par la crĂ©ation du rĂ©pertoire « /var/log/glpi » destinĂ© Ă stocker les journaux de GLPI. Toujours sur le mĂȘme principe :
sudo mkdir /var/log/glpi sudo chown www-data /var/log/glpi
Nous n’avons rien Ă dĂ©placer dans ce rĂ©pertoire.
- Créer les fichiers de configuration
Nous devons configurer GLPI pour qu’il sache oĂč aller chercher les donnĂ©es. Autrement dit, nous allons dĂ©clarer les nouveaux rĂ©pertoires fraichement créés.
Nous allons créer ce premier fichier :
sudo nano /var/www/glpi/inc/downstream.php
Afin d’ajouter le contenu ci-dessous qui indique le chemin vers le rĂ©pertoire de configuration :
<?php
define('GLPI_CONFIG_DIR', '/etc/glpi/');
if (file_exists(GLPI_CONFIG_DIR . '/local_define.php')) {
require_once GLPI_CONFIG_DIR . '/local_define.php';
}
Ensuite, nous allons créer ce second fichier :
sudo nano /etc/glpi/local_define.php
Afin d’ajouter le contenu ci-dessous permettant de dĂ©clarer deux variables permettant de prĂ©ciser les chemins vers les rĂ©pertoires « files » et « log » que l’on a prĂ©parĂ© prĂ©cĂ©demment.
<?php
define('GLPI_VAR_DIR', '/var/lib/glpi/files');
define('GLPI_LOG_DIR', '/var/log/glpi');
Voilà , cette étape est terminée.
Préparer la configuration Apache2
Passons Ă la configuration du serveur web Apache2. Nous allons crĂ©er un nouveau fichier de configuration qui va permettre de configurer le VirtualHost dĂ©diĂ© Ă GLPI. Dans mon cas, le fichier s’appelle « support.it-connect.tech.conf » en rĂ©fĂ©rence au nom de domaine choisi pour accĂ©der Ă GLPI : support.it-connect.tech. L’idĂ©al Ă©tant d’avoir un nom de domaine (mĂȘme interne) pour accĂ©der Ă GLPI afin de pouvoir positionner un certificat SSL par la suite.
sudo nano /etc/apache2/sites-available/support.it-connect.tech.conf
Ce qui donne la configuration suivante (selon le modĂšle officiel de la documentation) :
<VirtualHost *:80>
ServerName support.it-connect.tech
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>

Quand la configuration est prĂȘte, enregistrez le fichier.
Puis, nous allons activer ce nouveau site dans Apache2 :
sudo a2ensite support.it-connect.tech.conf
Nous en profitons également pour désactiver le site par défaut car il est inutile :
sudo a2dissite 000-default.conf
Nous allons aussi activer le module « rewrite » (pour les rĂšgles de réécriture) car on l’a utilisĂ© dans le fichier de configuration du VirtualHost (RewriteCond / RewriteRule).
sudo a2enmod rewrite
Il ne reste plus qu’Ă redĂ©marrer le service Apache2 :
sudo systemctl restart apache2
Utilisation de PHP8.2-FPM avec Apache2
Pour utiliser PHP en tant que moteur de scripts avec Apache2, il y a deux possibilités : utiliser le module PHP pour Apache2 (libapache2-mod-php8.2) ou utiliser PHP-FPM.
Il est recommandĂ© d’utiliser PHP-FPM car il est plus performant et se prĂ©sente comme un service indĂ©pendant. Dans l’autre mode, chaque processus Apache2 exĂ©cute son propre moteur de scripts PHP.
Si vous souhaitez utiliser PHP-FPM, suivez les Ă©tapes ci-dessous. Sinon, passez Ă la suite mais veillez Ă configurer l’option « session.cookie_httponly » Ă©voquĂ©e ci-dessous.
Nous allons commencer par installer PHP8.2-FPM avec la commande suivante :
sudo apt-get install php8.2-fpm
Puis, nous allons activer deux modules dans Apache et la configuration de PHP-FPM, avant de recharger Apache2 :
sudo a2enmod proxy_fcgi setenvif sudo a2enconf php8.2-fpm sudo systemctl reload apache2
Pour configurer PHP-FPM pour Apache2, nous n’allons pas Ă©diter le fichier « /etc/php/8.2/apache2/php.ini » mais plutĂŽt ce fichier :
sudo nano /etc/php/8.2/fpm/php.ini
Dans ce fichier, recherchez l’option « session.cookie_httponly » et indiquez la valeur « on » pour l’activer, afin de protĂ©ger les cookies de GLPI.
; Whether or not to add the httpOnly flag to the cookie, which makes it
; inaccessible to browser scripting languages such as JavaScript.
; https://php.net/session.cookie-httponly
session.cookie_httponly = on
Enregistrez le fichier quand c’est fait. Par la suite, vous pourriez ĂȘtre amenĂ© Ă effectuer d’autres modifications, notamment pour augmenter la taille des uploads sur GLPI, etc.
Pour appliquer les modifications, nous devons redémarrer PHP-FPM :
sudo systemctl restart php8.2-fpm.service
Pour finir, nous devons modifier notre VirtualHost pour prĂ©ciser Ă Apache2 que PHP-FPM doit ĂȘtre utilisĂ© pour les fichiers PHP :
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost/"
</FilesMatch>
Voici un exemple :

Quand c’est fait, relancer Apache2 :
sudo systemctl restart apache2
VoilĂ , tout est prĂȘt ! Il ne reste plus qu’Ă installer GLPI !
Installation de GLPI
Pour effectuer l’installation de GLPI, nous devons utiliser un navigateur Web afin d’accĂ©der Ă l’adresse du GLPI. Il s’agit de l’adresse dĂ©clarĂ©e dans le fichier de configuration Apache2 (ServerName).
Si vous avez suivi toutes les étapes correctement, vous devriez arriver sur cette page. Nous allons commencer par choisir la langue.

Puisqu’il s’agit d’une nouvelle installation, nous cliquons sur « Installer« .

Etape importante : GLPI vérifie la configuration de notre serveur pour déterminer si tous les prérequis sont respectés. Tout est bon, donc nous pouvons continuer.

A l’Ă©tape suivante, nous devons renseigner les informations pour se connecter Ă la base de donnĂ©es. Nous indiquons « localhost » en tant que serveur SQL puisque MariaDB est installĂ© en local, sur le mĂȘme serveur que GLPI. Puis, nous indiquons notre utilisateur « glpi_adm » et le mot de passe associĂ©.

AprÚs avoir cliqué sur « Continuer« , nous devons choisir la base de données « db23_glpi » créée précédemment.

AprÚs avoir cliqué sur « Continuer« , nous devons choisir la base de données « db23_glpi » créée précédemment.

Suivez les derniĂšres Ă©tapes qui n’ont pas de rĂ©el impact. Le plus dur est fait !

FĂ©licitations, vous venez d’installer GLPI ! Comme le prĂ©cise la derniĂšre Ă©tape, le compte administrateur par dĂ©faut est « glpi/glpi » !

Nous allons donc nous connecter avec le compte « glpi » et le mot de passe « glpi ».

Bienvenue sur votre nouveau serveur GLPI !

MĂȘme si l’installation est terminĂ©e, nous avons encore quelques actions Ă rĂ©aliser pour la finaliser :
- Changer le mot de passe de tous les comptes par dĂ©faut (cliquez sur les liens situĂ©s dans l’encadrĂ© orange)
- Supprimer le fichier « install.php » puisqu’il n’est plus nĂ©cessaire et reprĂ©sente un risque (relancer l’installation)
sudo rm /var/www/glpi/install/install.php
VoilĂ , c’est fait. DĂ©sormais, votre GLPI est prĂȘt Ă ĂȘtre utilisĂ© et configurĂ© (crĂ©ation d’utilisateurs, de catĂ©gories, de tickets, etc…).
GLPI en HTTPS
Dans ce tutoriel, nous allons voir comment ajouter un certificat SSL Let’s Encrypt sur un serveur GLPI de maniĂšre Ă avoir une connexion HTTPS sĂ©curisĂ©e associĂ©e Ă un certificat valide. Nous verrons Ă©galement comment configurer Apache pour rendre accessible GLPI en HTTPS plutĂŽt qu’en HTTP.
Pour obtenir un certificat SSL/TLS, il y a plusieurs possibilités :
- Certificat autosigné (déconseillé)
- Certificat Ă©mit via une autoritĂ© de certification interne telle qu’ADCS (pertinent si votre GLPI est accessible uniquement en interne)
- Certificat Let’s Encrypt (gratuit, recommandĂ© pour cet usage)
- Certificat payant provenant de GeoTrust, DigiCert, GlobalSign, Sectigo, etc…
Pour un serveur GLPI, le certificat Let’s Encrypt me semble une bonne option, sauf si vous disposez dĂ©jĂ d’un certificat wildcard pour votre nom de domaine. Dans ce cas, il pourrait s’avĂ©rer intĂ©ressant de l’utiliser. Sinon, Let’s Encrypt reprĂ©sente une solution fiable et gratuite pour obtenir un certificat en quelques minutes. Ce certificat est valide 90 jours, mais nous allons configurer le serveur pour qu’il soit renouvelĂ© automatiquement.
Activer le module SSL sur Apache2
Nous allons effectuer le gros de la configuration directement avec Certbot, l’utilitaire permettant de demander un certificat Let’s Encrypt. Toutefois, vous devez ĂȘtre sĂ»r que le module SSL soit bien activĂ© sur votre serveur Apache2.
Exécutez simplement cette commande :
sudo a2enmod ssl
Demander un certificat Let’s Encrypt pour GLPI
Nous allons installer Certbot sur le serveur GLPI afin de pouvoir demander un certificat Let’s Encrypt. Commencez par mettre Ă jour les paquets puis procĂ©dez Ă l’installation des paquets nĂ©cessaires :
sudo apt-get update sudo apt-get upgrade sudo apt-get install certbot python3-certbot-apache
Pour obtenir un certificat SSL/TLS, il y a plusieurs possibilités :
- Certificat autosigné (déconseillé)
- Certificat Ă©mit via une autoritĂ© de certification interne telle qu’ADCS (pertinent si votre GLPI est accessible uniquement en interne)
- Certificat Let’s Encrypt (gratuit, recommandĂ© pour cet usage)
- Certificat payant provenant de GeoTrust, DigiCert, GlobalSign, Sectigo, etc…
Pour un serveur GLPI, le certificat Let’s Encrypt me semble une bonne option, sauf si vous disposez dĂ©jĂ d’un certificat wildcard pour votre nom de domaine. Dans ce cas, il pourrait s’avĂ©rer intĂ©ressant de l’utiliser. Sinon, Let’s Encrypt reprĂ©sente une solution fiable et gratuite pour obtenir un certificat en quelques minutes. Ce certificat est valide 90 jours, mais nous allons configurer le serveur pour qu’il soit renouvelĂ© automatiquement.
Le serveur précédemment installé me sert de base pour ce tutoriel. Actuellement, GLPI est accessible en HTTP depuis Internet, via le nom de domaine support.it-connect.tech.
Nous allons effectuer le gros de la configuration directement avec Certbot, l’utilitaire permettant de demander un certificat Let’s Encrypt. Toutefois, vous devez ĂȘtre sĂ»r que le module SSL soit bien activĂ© sur votre serveur Apache2.
Pour utiliser Certbot, il y a plusieurs possibilitĂ©s, dont le mode certonly pour demander le certificat sans l’installer et un mode pour demander le certificat et l’installer Ă notre place. Ceci va permettre de configurer le VirtualHost Apache. Nous allons choisir cette seconde option.
Pour demander un certificat pour le domaine « support.it-connect.tech« , cela donne :
sudo certbot --apache --agree-tos --redirect --hsts -d support.it-connect.tech --email email@it-connect.tech
Quelques précisions sur les options utilisées :
- –apache : nous prĂ©cisons qu’il s’agit d’un serveur Web Apache
- –agree-tos : accepter les conditions d’utilisation du service Let’s Encrypt
- –redirect : configurer le VirtualHost Apache pour rediriger les requĂȘtes HTTP vers HTTPS (rĂšgle de réécriture)
- –hsts : configurer le HSTS pour des raisons de sĂ©curitĂ©
- -d : le nom de domaine pour lequel obtenir un certificat Let’s Encrypt
- –email : l’adresse e-mail du contact, notamment pour recevoir une notification s’il y a un problĂšme de renouvellement du certificat
Vous pouvez ajouter d’autres options… La liste complĂšte est visible dans la documentation de Certbot.
Suite Ă l’exĂ©cution de commande, l’assistant commence par vous demander si votre e-mail peut ĂȘtre utilisĂ© Ă©galement pour vous contacter au sujet des nouveautĂ©s du projet, ou pour vous expliquer comment faire un don. Choisissez entre oui et non en rĂ©pondant par yes ou no.

VoilĂ , nous venons d’obtenir un certificat et en plus, Apache doit ĂȘtre prĂ©configurĂ© par Certbot.
VĂ©rifier la configuration d’Apache2 (HTTPS)
MĂȘme si Certbot a effectuĂ© le travail de configuration Ă notre place, c’est bien de savoir ce qu’il a fait. Le rĂ©pertoire « /etc/apache2/sites-available/ » de notre serveur contenait dĂ©jĂ le fichier de configuration « support.it-connect.tech.conf« . DĂ©sormais, il y en a un second qui contient la version « HTTPS » du vHost Apache : « support.it-connect.tech-le-ssl.conf« . Certbot a créé ce fichier en reprenant l’autre fichier comme base.
Dans le fichier d’origine, Certbot a ajoutĂ© une rĂšgle de réécriture pour que les requĂȘtes en HTTP soient redirigĂ©es en HTTPS. Il s’agit d’une redirection permanente. D’ailleurs, si les rĂšgles ajoutĂ©es (RewriteCond et RewriteRule) ne donnent pas satisfaction, ajoutez celle-ci Ă la suite (en adaptant) :
Redirect permanent / https://support.it-connect.tech
Pour le vérifier, éditez le fichier de configuration :
sudo nano /etc/apache2/sites-available/support.it-connect.tech.conf
Vous verrez ces deux lignes :

Quant au second fichier, Ă savoir « support.it-connect.tech-le-ssl.conf« , il contient des directives supplĂ©mentaires pour prĂ©ciser les chemins vers le certificat et sa clĂ© privĂ©e. Il contient aussi une option pour le HSTS (grĂące Ă l’option –hsts spĂ©cifiĂ©e dans certbot). Il intĂšgre aussi les options contenues dans le fichier « /etc/letsencrypt/options-ssl-apache.conf« , ce qui active le SSL, autorise certains protocoles, etc… Afin d’avoir une configuration adĂ©quate.
SSLCertificateFile /etc/letsencrypt/live/support.it-connect.tech/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/support.it-connect.tech/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
Header always set Strict-Transport-Security "max-age=31536000"

Pour finir, redémarrez Apache2 afin que cette nouvelle configuration soit activée :
sudo systemctl restart apache2
Tester l’accĂšs en HTTPS
DĂ©sormais, vous pouvez tester l’accĂšs Ă votre GLPI en HTTPS (ou HTTP pour tester la redirection). Le certificat est bien valide et dans les dĂ©tails, nous pouvons voir qu’il a Ă©tĂ© Ă©mis par Let’s Encrypt et qu’il est valide 90 jours.
Un bon moyen de vĂ©rifier la configuration du SSL/TLS sur son serveur Web pour un domaine prĂ©cis, c’est de lancer une analyse depuis le site SSL Labs. Ceci peut mettre en Ă©vidence des problĂšmes de configuration. Dans notre cas, le score obtenu est trĂšs bon :

Renouvellement automatique du certificat Let’s Encrypt
Pour finir, nous devons configurer le renouvellement automatique du certificat Let’s Encrypt. Commençons par exĂ©cuter la commande ci-dessous pour s’assurer que Certbot sera capable de renouveler le certificat : l’option –dry-run permet de faire une simulation.
sudo certbot renew --dry-run

Tout est bon puisque le message « Congratulations, all simulated renewals succeeded » s’affiche.
Il ne reste plus qu’Ă Ă©diter la crontab pour crĂ©er une tĂąche planifiĂ©e de renouvellement.
sudo crontab -e
Ajoutez la ligne ci-dessous, en adaptant si besoin la frĂ©quence de la tĂąche. Dans cet exemple, il y aura une tentative effectuĂ©e tous les jours Ă 5h00 du matin. L’option –quiet permet d’effectuer l’action silencieusement.
0 5 * * * /usr/bin/certbot renew --quiet
Ce qui donne :

Enregistrez et fermez.
Apache VirtualHost sécurisation

Lien vers la documentation officiel GLPI : https://glpi-install.readthedocs.io/en/latest/prerequisites.html
Exemple de configuration pour HTTPS sur Débian 12 utilisant Apache :
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName glpi.votre-site.xyz
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>
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost/"
</FilesMatch>
SSLCertificateFile /etc/letsencrypt/live/glpi.votre-site.xyz/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/glpi.votre-site.xyz/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
Header always set Strict-Transport-Security "max-age=31536000"
</VirtualHost>
</IfModule>
