Projet professionnel - Migration GLPI en production

Interface GLPI après migration
Serveur Debian 13
Interface GLPI 11 en production
Page de maintenance GLPI pendant la migration

Migration et mise à jour du serveur GLPI — réalisée en production

Dans le cadre de mon alternance chez Amarris, j'ai réalisé une migration complète du serveur GLPI de production depuis Debian 10 vers Debian 13, accompagnée d'une mise à jour de GLPI 10.0.15 vers GLPI 11.0.6. Ce serveur étant utilisé quotidiennement par l'ensemble des équipes France et Belgique pour la gestion du parc informatique et des tickets, j'ai d'abord effectué l'intégralité de la procédure sur un environnement de test dédié avant toute intervention sur le serveur réel.

Cette démarche de simulation préalable est essentielle en contexte professionnel : elle a permis de valider la procédure, d'anticiper les problèmes techniques (incompatibilité PHP 8.4 / GLPI 10.x, volumétrie de la base à 8,5 Go, table de logs bloquante lors de la migration CLI) et d'élaborer un runbook complet présenté aux responsables avant l'intervention. La migration de production s'est déroulée le 29 mai 2026, avec une interruption de service planifiée de 12h30 à 18h30.

Étapes de la migration

Audit et préparation

Identification de l'installation existante (GLPI 10.0.15 sur Debian 10, MariaDB 10.3, PHP 8.1). Analyse de la volumétrie de la base (8,5 Go) et des tables critiques. Rédaction d'un plan de migration et d'un runbook présentés aux responsables.

Optimisation et sauvegarde de la source

Optimisation préalable de la base pour réduire sa taille (8,5 Go → 3,4 Go), vidage de la table glpi_queuednotifications (4,7 Go de notifications orphelines), puis dump compressé :

mysqldump -u root -p --single-transaction --quick glpi | gzip > /root/glpi_backup.sql.gz
Installation de la stack sur le serveur cible (Debian 13)

Installation d'Apache 2.4, MariaDB 11.8, PHP 8.4 avec toutes les extensions GLPI. Configuration du buffer MariaDB à 4 Go pour accélérer l'import. Transfert du dump et des fichiers via SCP/rsync.

Import de la base avec optimisations

Import dans un screen pour résister aux déconnexions SSH, avec désactivation des vérifications pour accélérer le processus :

zcat /root/glpi_backup.sql.gz | mysql -u root -p \ --init-command="SET foreign_key_checks=0; SET unique_checks=0;" \ glpi
Installation de GLPI 11.0.6 et migration CLI

Déploiement de GLPI 11.0.6 (PHP 8.4 incompatible avec GLPI 10.x, passage direct à la version 11 nécessaire). Migration du schéma de base via la console GLPI :

php /var/www/glpi/bin/console db:update --allow-superuser
Configuration Apache, HTTPS et bascule IP

Configuration du VirtualHost Apache avec DocumentRoot sur /var/www/glpi/public, génération d'un certificat SSL auto-signé, activation du HTTPS. Bascule de l'IP de production (192.168.1.183) vers le nouveau serveur.

Incidents rencontrés et solutions

Version PHP incompatible

Erreur PHP 7.4.0 - 8.4.0 (exclusive) required

Solution Installation d'une version PHP compatible et activation du module Apache correspondant.

Accès refusé à la base de données

Erreur Access denied for user 'glpi'@'localhost'

Solution Recréation des droits MariaDB :

ALTER USER 'glpi'@'localhost' IDENTIFIED BY 'mot_de_passe'; GRANT ALL PRIVILEGES ON glpi.* TO 'glpi'@'localhost'; FLUSH PRIVILEGES;
DocumentRoot incorrect pour GLPI 11

Erreur The web root directory must correspond to /public

Solution Modification du DocumentRoot vers /var/www/glpi/public — nouvelle exigence introduite avec GLPI 11.

Permissions manquantes sur le cache

Erreur Unable to write in files/_cache

Solution Correction des droits sur les répertoires GLPI :

chown -R www-data:www-data /var/www/glpi chmod -R 775 /var/www/glpi/files
Disque plein

Erreur No space left on device

Solution Diagnostic et libération d'espace disque :

df -h # vérification espace disque apt clean # vider le cache apt rm -f /var/log/*.log
Résultat final — Migration en production réussie
  • GLPI 11.0.6 fonctionnel en production sur Debian 13
  • Toutes les données migrées (1 486 PC, tickets, utilisateurs, historique)
  • HTTPS configuré avec certificat SSL
  • Collecteur mail automatique opérationnel (OAuth / Office 365)
  • LDAP fonctionnel (16 serveurs synchronisés)
  • Cron GLPI configuré pour les actions automatiques
  • Interruption de service maîtrisée : 12h30 → 18h30 (6h)

Neven a fait preuve de rigueur en testant la procédure complète avant d'intervenir sur le serveur de production. C'est exactement la démarche attendue d'un technicien professionnel.

Maxime MESTAIS

APPRENTI MASTER CYBERSÉCURITÉ

Documentation technique — Runbook de migration

Points d'amélioration post-migration

  • Mettre en place des sauvegardes automatiques de la base et des fichiers
  • Remplacer le certificat SSL auto-signé par un certificat interne PKI
  • Mettre à jour les plugins vers leurs versions compatibles GLPI 11
  • Migrer les formulaires FormCreator vers les formulaires natifs GLPI 11
  • Planifier la mise à jour vers GLPI 11.0.7 (version disponible lors de la migration)

Informations sur le projet

  • Catégorie Système / Administration serveur
  • Technologies
    Debian 13 GLPI 11.0.6 MariaDB 11.8 Apache 2.4 PHP 8.4 HTTPS/SSL OAuth / LDAP
  • Compétences visées
    1 - Gérer le patrimoine informatique
    2 - Répondre aux incidents et demandes d'évolution
    4 - Travailler en mode projet
    5 - Mettre à disposition des utilisateurs un service informatique
  • Contexte Migration réalisée en production chez Amarris — précédée d'une phase de test complète
  • Date du projet Janvier - Mai 2026
  • Date de mise en production 29 mai 2026