Migration de GLPI 10 vers GLPI 11.0.6 sur Debian 13
Procédure technique de mise à jour corrective : gestion du dossier /public et résolution des erreurs 404
1. Informations Générales
- IP Serveur :
10.192.194.101 - URL d'accès :
http://support.mpr-if.infra/ - Version Source : 10.0.x
- Version Cible : 11.0.6
- Environnement : Apache 2.4 / PHP 8.2+
1.1 Prérequis
- Accès SSH avec privilèges
root. - Extension PHP
php-bz2installée (requise pour l'extraction). - Sauvegarde fonctionnelle de la base de données.
2. Sommaire
- Mise en maintenance et Sauvegardes
- Déploiement des sources de la version 11
- Migration des données persistantes (Config & Files)
- Configuration du nouveau routage Apache (/public)
- Correction du problème de fichier .htaccess (Erreur 404)
- Mise à jour de la base de données via CLI
- Finalisation et nettoyage
3. Mise en maintenance et Sauvegardes
Avant toute modification, on bloque l'accès aux utilisateurs pour garantir l'intégrité des données.
# Activation du mode maintenance
cd /var/www/support.mpr-if.infra
php bin/console glpi:maintenance:enable
# Sauvegarde SQL pré-migration
mysqldump -u root -p glpi_db > /root/backup_glpi_v10_pre_migration.sql
# Backup du répertoire complet
cp -r /var/www/support.mpr-if.infra /var/www/support.mpr-if.infra_old
4. Déploiement de GLPI 11
4.1 Téléchargement et extraction
cd /var/www/
wget [https://github.com/glpi-project/glpi/releases/download/11.0.6/glpi-11.0.6.tgz](https://github.com/glpi-project/glpi/releases/download/11.0.6/glpi-11.0.6.tgz)
tar -xvzf glpi-11.0.6.tgz
# Le dossier extrait se nomme 'glpi'
4.2 Transfert des données existantes
On réinjecte les paramètres de connexion et les documents stockés.
# Nettoyage des dossiers par défaut de la v11
rm -rf /var/www/glpi/config /var/www/glpi/files
# Migration des dossiers de l'ancienne version (-p pour conserver les droits)
cp -pr /var/www/support.mpr-if.infra_old/config /var/www/glpi/
cp -pr /var/www/support.mpr-if.infra_old/files /var/www/glpi/
# Remplacement du répertoire de production
rm -rf /var/www/support.mpr-if.infra
mv /var/www/glpi /var/www/support.mpr-if.infra
chown -R www-data:www-data /var/www/support.mpr-if.infra
5. Configuration du serveur Web (Routage /public)
Problématique : GLPI 11 modifie sa structure de sécurité. Le point d'entrée n'est plus la racine du dossier mais le sous-répertoire /public.
5.1 Modification du VirtualHost
Éditer /etc/apache2/sites-available/support.mpr-if.infra.conf :
<VirtualHost *:80>
ServerName support.mpr-if.infra
ServerAlias 10.192.194.101
# Modification indispensable vers /public
DocumentRoot /var/www/support.mpr-if.infra/public
<Directory /var/www/support.mpr-if.infra/public>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/support_error.log
CustomLog ${APACHE_LOG_DIR}/support_access.log combined
</VirtualHost>
5.2 Résolution de l'Erreur 404 (.htaccess)
Si l'accès renvoie une erreur 404 malgré le bon chemin, c'est que le fichier caché .htaccess manque dans le dossier /public.
# Vérifier et restaurer le fichier caché si nécessaire
tar -xvzf /var/www/glpi-11.0.6.tgz glpi/public/.htaccess
mv glpi/public/.htaccess /var/www/support.mpr-if.infra/public/
rm -rf glpi/
# Activation des modules et redémarrage
a2enmod rewrite
systemctl restart apache2
6. Mise à jour de la base de données
On utilise la console PHP pour transformer le schéma de base de données sans subir les limitations de timeout du navigateur.
cd /var/www/support.mpr-if.infra
php bin/console db:update
# Taper 'y' pour confirmer la mise à jour
7. Finalisation et Sécurisation
Une fois la mise à jour terminée, on nettoie l'installation pour la remettre en production.
# Nettoyage du cache applicatif
php bin/console cache:clear
# Désactivation du mode maintenance
php bin/console glpi:maintenance:disable
# Suppression du répertoire d'installation (Faille de sécurité)
rm -rf /var/www/support.mpr-if.infra/install/
# Suppression de l'archive de téléchargement
rm /var/www/glpi-11.0.6.tgz