Objectif
Mettre à jour GLPI vers une version plus récente en préservant les données, la configuration et les plugins. Procédure sécurisée avec sauvegardes préalables.
Prérequis
- GLPI actuellement installé et fonctionnel
- Accès root ou sudo
- Espace disque suffisant pour les sauvegardes
- Vérifier la compatibilité : Documentation GLPI
AVERTISSEMENT : Ne JAMAIS faire de mise à jour en production sans test préalable et sauvegarde complète !
Procédure Complète
Étape 1 : Vérification de la version actuelle
cat /var/www/html/glpi/version.txt
Ou via l'interface : Configuration → Générale → Vue d'ensemble
Étape 2 : Activation du mode maintenance
Configuration → Générale → Système
- Cocher "Activer le mode maintenance"
- Sauvegarder
Cela empêche les utilisateurs de se connecter pendant la mise à jour.
Étape 3 : Sauvegarde complète
A. Sauvegarde des fichiers GLPI
mkdir -p /root/backup_glpi cp -r /var/www/html/glpi /root/backup_glpi/glpi_$(date +%Y%m%d)
B. Sauvegarde de la base de données
mysqldump -u root -p glpi > /root/backup_glpi/glpi_$(date +%Y%m%d).sql
C. Vérification des sauvegardes
ls -lh /root/backup_glpi/
Sauvegardes créées : Vous devez voir le dossier glpi_AAAAMMJJ et le fichier .sql
Étape 4 : Téléchargement de la nouvelle version
cd /tmp wget https://github.com/glpi-project/glpi/releases/download/10.0.17/glpi-10.0.17.tgz
Note : Remplacer 10.0.17 par la version souhaitée. Consulter : GitHub GLPI Releases
Étape 5 : Extraction et remplacement
# Extraction tar -xzf glpi-10.0.17.tgz # Suppression de l'ancienne version (sauf config et files) rm -rf /var/www/html/glpi/* # Copie de la nouvelle version cp -r /tmp/glpi/* /var/www/html/glpi/ # Restauration de la configuration cp -r /root/backup_glpi/glpi_*/config/* /var/www/html/glpi/config/ cp -r /root/backup_glpi/glpi_*/files/* /var/www/html/glpi/files/ cp -r /root/backup_glpi/glpi_*/plugins/* /var/www/html/glpi/plugins/ # Permissions chown -R www-data:www-data /var/www/html/glpi chmod -R 755 /var/www/html/glpi
Étape 6 : Mise à jour de la base de données
Accéder à l'interface web : http://ADRESSE_IP/glpi
GLPI détecte automatiquement que la base doit être mise à jour et affiche l'assistant de migration.
- Se connecter avec un compte administrateur
- Suivre l'assistant de mise à jour
- Cliquer sur "Continuer" à chaque étape
- Attendre la fin de la migration de la base (peut prendre plusieurs minutes)
Mise à jour réussie : Le message "La mise à jour de la base de données est terminée" s'affiche
Étape 7 : Désactivation du mode maintenance
Configuration → Générale → Système
- Décocher "Mode maintenance"
- Sauvegarder
Étape 8 : Mise à jour des plugins
Configuration → Plugins
- Vérifier la compatibilité des plugins avec la nouvelle version
- Mettre à jour les plugins si nécessaire
- Désactiver/Supprimer les plugins incompatibles
Vérifications Post-Migration
Vérification de la version
Configuration → Générale → Vue d'ensemble : vérifier le numéro de version
Tests fonctionnels
- Connexion utilisateur
- Création d'un ticket
- Recherche dans l'inventaire
- Accès aux rapports
- Fonctionnement des plugins
Vérification des logs
tail -f /var/log/apache2/glpi_error.log tail -f /var/www/html/glpi/files/_log/php-errors.log
Procédure de Rollback (en cas de problème)
Restauration des fichiers
rm -rf /var/www/html/glpi cp -r /root/backup_glpi/glpi_20241215 /var/www/html/glpi chown -R www-data:www-data /var/www/html/glpi
Restauration de la base de données
mysql -u root -p DROP DATABASE glpi; CREATE DATABASE glpi CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; EXIT; mysql -u root -p glpi < /root/backup_glpi/glpi_20241215.sql
Sécurité et Bonnes Pratiques
- Toujours tester la mise à jour sur un environnement de test avant la production
- Vérifier les notes de version (changelog) pour les changements majeurs
- Planifier la mise à jour pendant une fenêtre de maintenance (hors heures ouvrées)
- Informer les utilisateurs à l'avance
- Conserver les sauvegardes pendant au moins 30 jours
- Documenter la procédure et les éventuels problèmes rencontrés
- Vérifier la compatibilité PHP (GLPI 10.x nécessite PHP 7.4 minimum)
Dépannage
Problème : Page blanche après mise à jour
# Vérifier les logs PHP tail -f /var/www/html/glpi/files/_log/php-errors.log # Vider le cache rm -rf /var/www/html/glpi/files/_cache/*
Problème : Erreur base de données
- Vérifier que le compte MySQL a les droits sur la base
- Relancer la migration : accéder à http://IP/glpi/install/update.php
Problème : Plugin incompatible
Désactiver temporairement le plugin :
mv /var/www/html/glpi/plugins/nom_plugin /var/www/html/glpi/plugins/nom_plugin.disabled
Points Clés pour l'Oral BTS
- Sauvegarde complète : fichiers + base de données AVANT toute manipulation
- Mode maintenance : évite les modifications concurrentes pendant la MAJ
- Migration base : GLPI gère automatiquement les changements de schéma SQL
- Rollback : toujours prévoir une procédure de retour arrière
- Test préalable : jamais de MAJ directe en production sans test
- Compatibilité : vérifier plugins, PHP, MySQL avant mise à jour
- Fenêtre de maintenance : planifier hors heures ouvrées