
Dans ce tutoriel, je vais vous expliquer comment mettre à jour GLPI (10 ou 11) directement en ligne de commande depuis le serveur Linux ou celui-ci est installé.
Le but ici, c’est de mettre à jour GLPI sans utiliser un ordinateur tier, pour transférer les fichiers sur le serveur Web, cela évite de devoir utiliser un client FTP ou SSH (SCP) pour le transfert des fichiers.
Pour moi c’est la méthode la plus rapide.
Avant de commencer toute mise à jour, vous devez vous assurez de pouvoir revenir en arrière en cas de problème, pour cela vous avez plusieurs solutions :
- Sauvegarde GLPI et la base de données depuis le serveur Linux
- Si vous êtes sur une machine virtuelle, assurer vous d’avoir une sauvegarde
- Si vous êtes sur une machine virtuelle dédiée à GLPI, vous pouvez faire un snapshot, ce qui garantie un retour en arrière rapide et simple
En fonction de la taille de la base de données de GLPI, la mise à jour peut prendre plus ou moins longtemps, surtout en cas de monter de version si des enregistrements doivent être mise à jour, il faudra donc prévoir un temps d’arrêt de l’application.
Ici, je vais mettre à jour GLPI de la version 11.0.0-beta4 à la version 11.0.0-beta5.
Pour commencer, on va mettre GLPI en maintenance, aller à l’emplacement ou se trouve les dossiers et fichiers de GLPI sur votre serveur.
cd /var/www/glpi
Activer le mode maintenance :
# utilisateur non root
sudo php bin/console glpi:maintenance:enable
# utilisateur root
php bin/console glpi:maintenance:enable --allow-superuser
Maintenant que GLPI est en maintenance, retourner dans le dossier de l’utilisateur courant :
cd
Aller sur le dépôt Github pour récupérer l’url de la release souhaitée.
Télécharger l’archive de GLPI :
sudo wget https://github.com/glpi-project/glpi/releases/download/11.0.0-beta5/glpi-11.0.0-beta5.tgz

A l’emplacement où vous vous trouvez vérifier si un dossier nommé glpi existe déjà, si c’est le cas, supprimer le !
Décompresser l’archive :
tar -xvzf glpi-11.0.0-beta5.tgz


Comme on peut le voir sur la capture ci-dessous, les fichiers ont été extrait dans un dossier nommé glpi.
Maintenant, on va déplacer le dossier actuel de GLPI :
sudo mv /var/www/glpi /var/www/glpi_old
On va créer de nouveau le dossier glpi :
sudo mkdir -p /var/www/glpi
Déplacer les fichiers de l’archive que l’on a téléchargé :
sudo lv glpi/* /var/www/glpi
On va maintenant remettre les fichiers d’origine de configuration, plugins … dans le dossier GLPI :
sudo cp -r /var/www/glpi_old/files /var/www/glpi
sudo cp -r /var/www/glpi_old/config /var/www/glpi
sudo cp -r /var/www/glpi_old/marketplace /var/www/glpi
sudo cp -r /var/www/glpi_old/plugins /var/www/glpi
Par mesure de sécurité, vérifier le dossier config que les fichiers soient présents et aussi le contenu du fichier de configuration :

Remettre les bons droits sur le dossier glpi :
sudo chown www-data:www-data /var/www/glpi -R
Depuis un navigateur, aller sur l’URL de votre installer de GLPI et lancer la mise à jour en suivant l’assistant.

Si vous préférez reste dans le terminal, il est possible de mettre à jour la base de données de GLPI en ligne de commande.
Aller dans le dossier de GLPI :
cd /var/www/glpi
Lancer la vérification des prérequis :
# utilisateur non root
sudo php bin/console glpi:system:check_requirements
# utilisateur root
php bin/console glpi:system:check_requirements --allow-superuser

Lancer la mise à jour s’il n’y a pas de problème :
# utilisateur non root
sudo php bin/console db:update
# utilisateur root
php bin/console db:update --allow-superuser
Une fois la mise à jour terminée, supprimer le dossiser install de glpi :
sudo rm /var/www/glpi/install -r
Sortie GLPI du mode maintenance :
# utilisateur non root
sudo php bin/console glpi:maintenance:disable
# utilisateur root
php bin/console glpi:maintenance:disable --allow-superuser
Vous savez maintenant comment mettre à jour GLPI en ligne, a la lecture cela peut paraître long, cela reste plus rapide que de le faire par un ordinateur en utilisant un client FTP.