Mise à jour de GLPI

Procédure de mise à niveau - BTS SIO SISR

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

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

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.

  1. Se connecter avec un compte administrateur
  2. Suivre l'assistant de mise à jour
  3. Cliquer sur "Continuer" à chaque étape
  4. 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

Étape 8 : Mise à jour des plugins

Configuration → Plugins

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

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

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

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