Chapitre 6 - Maintenance et dépannage

Mises à jour, supervision, diagnostic et fiche mémo.

Mise à jour de GLPI

Au 27 juillet 2026, la version stable courante est GLPI 11.0.8. Les versions récentes ont inclus plusieurs corrections de sécurité : les mises à jour ne doivent pas être considérées comme purement esthétiques.

12.1 Avant la mise à jour

  1. lire les notes de version ;
  2. vérifier la compatibilité des plugins ;
  3. réaliser une sauvegarde complète ;
  4. tester la restauration si la mise à jour est importante ;
  5. contrôler le schéma ;
  6. activer la maintenance.
cd /var/www/glpi
sudo -u www-data php bin/console db:check_schema_integrity
sudo -u www-data php bin/console glpi:maintenance:enable

12.2 Télécharger la nouvelle version

cd /tmp
NEW_GLPI_VERSION="VERSION_CIBLE"
wget "https://github.com/glpi-project/glpi/releases/download/${NEW_GLPI_VERSION}/glpi-${NEW_GLPI_VERSION}.tgz"
tar -xzf "glpi-${NEW_GLPI_VERSION}.tgz"

Remplacer VERSION_CIBLE par la version réellement publiée. Ne jamais deviner un numéro de version : le vérifier sur le site officiel.

12.3 Remplacer le code

La documentation officielle déconseille de copier la nouvelle version par-dessus l’ancienne.

Conserver downstream.php, puis permuter les dossiers :

sudo cp \
  /var/www/glpi/inc/downstream.php \
  /tmp/downstream.php

sudo mv /var/www/glpi \
  "/var/www/glpi-old-$(date +%F_%H-%M-%S)"

sudo mv /tmp/glpi /var/www/glpi

sudo install \
  -o root -g root -m 0644 \
  /tmp/downstream.php \
  /var/www/glpi/inc/downstream.php

sudo chown -R root:root /var/www/glpi
sudo find /var/www/glpi -type d -exec chmod 0755 {} \;
sudo find /var/www/glpi -type f -exec chmod 0644 {} \;

Les données, la configuration et la Marketplace sont conservées dans /var/lib/glpi et /etc/glpi.

12.4 Migrer la base

cd /var/www/glpi
sudo -u www-data php bin/console glpi:system:check_requirements
sudo -u www-data php bin/console db:update

Pour une mise à jour majeure, vérifier les plugins puis reprendre leur exécution :

sudo -u www-data php bin/console plugin:resume_execution

Terminer :

sudo -u www-data php bin/console db:check_schema_integrity
sudo -u www-data php bin/console glpi:maintenance:disable
sudo apache2ctl configtest
sudo systemctl reload apache2

12.5 Contrôles après mise à jour

Conserver temporairement l’ancien répertoire source et la sauvegarde jusqu’à validation. Le retour arrière nécessite généralement de restaurer ensemble l’ancien code, la base et les fichiers correspondant à la même sauvegarde.



Documentation GLPI 11 — Debian 12, Apache, PHP 8.2 et MariaDB.

Supervision et entretien

Contrôle des services

systemctl status apache2 mariadb cron --no-pager

Contrôle HTTP

curl -I http://127.0.0.1
curl -I https://glpi.dreamsaphir.fr

Espace disque

df -h
sudo du -sh \
  /var/lib/glpi/files \
  /var/lib/glpi/marketplace \
  /var/log/glpi \
  /var/lib/mysql

Base de données

sudo mariadb -e \
  "SELECT table_schema AS base_name,
          ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS taille_Mo
   FROM information_schema.tables
   WHERE table_schema='glpi'
   GROUP BY table_schema;"

Vérification GLPI

cd /var/www/glpi
sudo -u www-data php bin/console glpi:system:check_requirements
sudo -u www-data php bin/console db:check_schema_integrity

Journaux

sudo tail -n 100 /var/log/apache2/glpi-error.log
sudo tail -n 100 /var/log/glpi/php-errors.log
sudo journalctl -u apache2 -n 100 --no-pager
sudo journalctl -u mariadb -n 100 --no-pager

Fréquence d’entretien conseillée

Fréquence Opérations
Quotidienne Vérifier les sauvegardes et les erreurs critiques
Hebdomadaire Vérifier cron, collecteurs, file de notifications et espace disque
Mensuelle Vérifier les mises à jour GLPI, plugins, Debian et certificats
Trimestrielle Tester une restauration et revoir les comptes privilégiés
Annuelle Revoir l’architecture, les SLA, les règles, la conservation et les droits


Documentation GLPI 11 — Debian 12, Apache, PHP 8.2 et MariaDB.

Dépannage du serveur Web et de la base

14.1 Page blanche ou erreur 500

sudo apache2ctl configtest
sudo tail -n 100 /var/log/apache2/glpi-error.log
sudo tail -n 100 /var/log/glpi/php-errors.log
php -v
php -m | sort

Puis :

cd /var/www/glpi
sudo -u www-data php bin/console glpi:system:check_requirements

14.2 Erreur de permissions

sudo chown -R www-data:www-data \
  /etc/glpi \
  /var/lib/glpi \
  /var/log/glpi

sudo find /etc/glpi /var/lib/glpi /var/log/glpi \
  -type d -exec chmod 0750 {} \;

sudo find /etc/glpi /var/lib/glpi /var/log/glpi \
  -type f -exec chmod 0640 {} \;

Ne pas appliquer chmod -R 777.


14.3 Connexion à la base impossible

systemctl status mariadb --no-pager
mariadb -u glpi -p glpi
sudo ss -lntp | grep 3306

Contrôler le fichier :

/etc/glpi/config_db.php

14.4 Mauvaise racine Web

Le VirtualHost doit contenir :

DocumentRoot /var/www/glpi/public

et non :

DocumentRoot /var/www/glpi

14.5 L’URL renvoie la page Apache par défaut

sudo a2dissite 000-default.conf
sudo a2ensite glpi.conf
sudo apache2ctl configtest
sudo systemctl reload apache2
apache2ctl -S

Documentation GLPI 11 — Debian 12, Apache, PHP 8.2 et MariaDB.

Dépannage de cron, SMTP et de l’inventaire

14.6 Les actions automatiques ne se lancent pas

systemctl status cron --no-pager
sudo -u www-data php /var/www/glpi/front/cron.php
sudo journalctl -u cron -n 100 --no-pager

Vérifier également que les actions sont en mode CLI dans GLPI.


14.7 Les courriels ne partent pas

Vérifier :

openssl s_client -starttls smtp -connect smtp.example.fr:587

14.8 Les dates ou fuseaux horaires sont incorrects

timedatectl
php -i | grep date.timezone
sudo mariadb mysql -e \
  "SELECT Name FROM time_zone_name WHERE Name='Europe/Paris';"

14.9 L’inventaire arrive mais le poste n’apparaît pas

Contrôler :


14.10 Diagnostic complet à fournir

En cas de demande d’assistance, collecter :

cat /etc/os-release
php -v
mariadb --version
apache2 -v
apache2ctl -S
systemctl status apache2 mariadb cron --no-pager
cd /var/www/glpi
sudo -u www-data php bin/console glpi:system:check_requirements
sudo tail -n 100 /var/log/apache2/glpi-error.log
sudo tail -n 100 /var/log/glpi/php-errors.log

Supprimer les mots de passe, secrets OAuth, cookies, jetons API et données personnelles avant de partager les résultats.



Documentation GLPI 11 — Debian 12, Apache, PHP 8.2 et MariaDB.

Checklist de mise en production

Installation

Sécurité

Exploitation

Sauvegardes



Documentation GLPI 11 — Debian 12, Apache, PHP 8.2 et MariaDB.

Fiche mémo des principales commandes GLPI

Vérification générale

systemctl status apache2 mariadb cron --no-pager
cd /var/www/glpi
sudo -u www-data php bin/console glpi:system:check_requirements
sudo -u www-data php bin/console db:check_schema_integrity

Ces commandes contrôlent les services, les prérequis GLPI et l’intégrité du schéma de base de données.

Apache

sudo apache2ctl configtest
apache2ctl -S
sudo systemctl reload apache2
sudo tail -n 100 /var/log/apache2/glpi-error.log

Elles vérifient la configuration du VirtualHost, affichent les sites actifs et consultent les dernières erreurs.

MariaDB

systemctl status mariadb --no-pager
mariadb -u glpi -p glpi
sudo mariadb-dump --single-transaction --quick glpi > glpi.sql

Ces commandes testent la base et produisent une sauvegarde SQL simple.

Actions automatiques

sudo -u www-data php /var/www/glpi/front/cron.php
sudo journalctl -u cron -n 100 --no-pager

Elles forcent les actions automatiques puis affichent les journaux cron.

Maintenance

cd /var/www/glpi
sudo -u www-data php bin/console glpi:maintenance:enable
sudo -u www-data php bin/console db:update
sudo -u www-data php bin/console glpi:maintenance:disable

À utiliser lors d’une mise à jour, uniquement après une sauvegarde complète.

LDAP et LDAPS

getent hosts dc1.snts.local
nc -vz dc1.snts.local 636
openssl s_client -connect dc1.snts.local:636 -showcerts

Ces commandes vérifient le DNS, le port LDAPS et le certificat du contrôleur de domaine.

GLPI Agent

"C:\Program Files\GLPI-Agent\glpi-agent.bat" --force
sudo glpi-agent --force
sudo journalctl -u glpi-agent -n 100 --no-pager

Ces commandes forcent un inventaire sous Windows ou Linux.

Journaux principaux

/var/log/apache2/glpi-error.log
/var/log/apache2/glpi-access.log
/var/log/glpi/php-errors.log
C:\Program Files\GLPI-Agent\logs\glpi-agent.log

Documentation GLPI 11 — Debian 12, Apache, PHP 8.2 et MariaDB.

Sources officielles


Rappel important : avant toute modification importante, mise à jour ou ajout de plugin, sauvegarder la base, les documents, la configuration et les clés de chiffrement. Une sauvegarde non restaurée au moins une fois reste une sauvegarde non vérifiée.


Documentation GLPI 11 — Debian 12, Apache, PHP 8.2 et MariaDB.