Comment mettre à jour GLPI ?

Comment mettre à jour GLPI ?

12 avril 2024 Non Par admin

I. Présentation

Si vous déployez la solution GLPI dans votre entreprise, vous devez effectuer un suivi régulier des mises à jour. En effet, des mises à jour sont publiées régulièrement, et au-delà d’apporter de nouvelles fonctionnalités, certaines d’entres elles corrigent des failles de sécurité. Mais, alors, comment effectuer la mise à jour de GLPI ? Sachez que dans ce tutoriel, nous allons apprendre à mettre à jour GLPI !

Dans le cas présent, nous allons effectuer une mise à jour de GLPI 10.0.10 vers GLPI 10.0.12, qui justement, est une mise à jour de sécurité. Il s’agit de l’installation d’une mise à jour mineure, mais à chaque fois, les précautions à prendre sont identiques. Pour installer la version 10.0.14, qui est la dernière version en date, la procédure est identique.

Pour suivre les mises à jour de GLPI, vous pouvez consulter cette page :

Remarque : si vous envisagez d’effectuer une mise à jour majeure sur votre serveur GLPI, par exemple, pour passer de GLPI 9.5 à GLPI 10, vérifiez au préalable si les extensions que vous utilisez sont bien prises en charge par la nouvelle version. Si vous êtes dans ce cas, sachez que le plugin Fusion Inventory est pris en charge uniquement jusqu’à la version 10.0.3 de GLPI. Ensuite, vous devez passer sur l’agent GLPI officiel, qui est un fort de Fusion Inventory.

II. Quelle est ma version de GLPI ?

Pour savoir quelle version de GLPI vous utilisez, vous devez vous connecter sur l’interface Web de GLPI, puis cliquez sur votre avatar en haut à droite. Dans le menu qui apparaît, cliquez sur « À propos« . Une fenêtre va apparaître et elle indique explicitement la version de GLPI que vous utilisez. Avant la version 10 de GLPI, la version était indiquée en bas à droite de la fenêtre.

Afficher la version de GLPI

III. Activer le mode maintenance de GLPI

GLPI 10 intègre un mode maintenance que vous pouvez activer avant d’effectuer la mise à jour. Ceci évite que les utilisateurs ou les techniciens cherchent à utiliser GLPI pendant cette période.

A partir de la ligne de commande de votre serveur GLPI, positionnez-vous dans le répertoire d’installer de GLPI (ici « /var/www/glpi ») et exécutez la commande suivante :

cd /var/www/glpi
sudo php bin/console glpi:maintenance:enable

Si vous retournez sur GLPI, en mode web, vous allez obtenir ce message :

GLPI - Mode maintenance

Même si le mode maintenance est actif, vous pouvez accéder à GLPI en précisant ceci dans l’URL :

https://support.it-connect.tech/index.php?skipMaintenance=1

Une fois la mise à jour effectuée, nous verrons comment désactiver ce mode maintenance.

IV. Sauvegarder les données

Avant de mettre à jour GLPI, vous devez impérativement sauvegarder vos données. S’il s’agit d’une machine virtuelle, vous pouvez utiliser votre outil de sauvegarde habituelle pour déclencher une sauvegarde avant de procéder à la mise à jour GLPI. Par ailleurs, si c’est une machine virtuelle, vous pouvez aussi utiliser un snapshot pour revenir en arrière facilement.

En complément, suivez les étapes ci-dessous, car ceci fait partie du processus de mise à jour de GLPI (notamment pour les données). En local sur le serveur GLPI, nous allons pouvoir sauvegarder les données et la base de données de l’application.

A. Sauvegarder la base de données

Pour commencer, nous allons sauvegarder la base de données de GLPI à l’aide de l’utilitaire mysqldump. Il est inclus nativement avec MySQL, et MariaDB.

Vous devez vous connecter à votre serveur et ouvrir une console en ligne de commande. Pour ma part, il s’agit d’un serveur sous Linux, donc la connexion est établie en SSH.

Si vous ne vous souvenez plus du nom de votre base de données, connectez-vous à votre instance MySQL :

mysql -u root -p

Indiquez le mot de passe root de MySQL. Puis, listez les bases de données :

show databases;

Pour ma part, la base de données s’appelle « db23_glpi« . Désormais, nous allons sauvegarder cette base de données.

La commande ci-dessous permet de se connecter à l’instance MySQL en tant que root (vous pouvez, en principe, utiliser le compte utilisateur dédié à GLPI si vous en avez créé un) pour effectuer la sauvegarde de la base de données « db23_glpi« . En sortie, cette sauvegarde donnera lieu au fichier « /home/glpi_adm/backup_db23_glpi.sql » (soit dans le « /home » de l’utilisateur avec lequel je suis connecté sur le serveur).

mysqldump -u root -p --databases db23_glpi > /home/glpi_adm/backup_db23_glpi.sql

La sauvegarde sera plus ou moins longue en fonction de la quantité d’informations stockées dans votre base de données.

Vérifiez que le fichier de sauvegarde a bien été créé :

Sauvegarde base de données GLPI

B. Sauvegarder les données

Dans les fichiers de GLPI, au-delà des scripts PHP et d’autres fichiers relatifs au bon fonctionnement de l’application en elle-même, il y a aussi vos données.

En effet, le répertoire « files » contient les documents ajoutés en tant que pièce jointe dans les tickets, tandis que le répertoire « plugins » contient les extensions que vous avez ajoutées à votre GLPI. En complément, les répertoires « config » et « marketplace » sont également importants.

sudo cp -Rf /var/www/glpi/ /home/glpi_adm/backup_glpi

Par précaution, vérifiez que les répertoires suivants soient bien présents (et qu’ils ne sont pas vides) : files, plugins, config et marketplace. Les fichiers « config_db.php » et « glpicrypt.key » du répertoire « config » sont particulièrement précieux.

ls -l /home/glpi_adm/backup_glpi/

V. Mettre à jour GLPI

A. Supprimer la version actuelle

Nous n’allons pas altérer la base de données de GLPI, mais nous allons supprimer le répertoire de la version actuelle. Par exemple, si votre GLPI est installé dans le répertoire « /var/www/glpi/ » du serveur Web, c’est ce dossier que vous devez supprimer. Ceci permet de laisser la place libre pour la future version de GLPI.

Voici la commande à exécuter :

sudo rm -Rf /var/www/glpi/

B. Télécharger GLPI

À partir du GitHub officiel de GLPI, vous devez copier le lien de l’archive tar.gz correspondante à la version que vous souhaitez installer. Dans cet exemple, c’est la version 10.0.12 qui sera installée.

Puis, à partir de la ligne de commande, initiez le téléchargement avec la commande wget :

cd /tmp
wget https://github.com/glpi-project/glpi/releases/download/10.0.12/glpi-10.0.12.tgz

Une fois que c’est fait, décompressez l’archive tar.gz :

tar -xzvf glpi-10.0.12.tgz

Une fois l’archive décompressée, vous obtenez un dossier nommé « glpi » qui contient l’ensemble des fichiers de cette nouvelle version.

Vous devez déplacer ce dossier vers la racine de votre site web GLPI. Pour ma part, ceci revient à déplacer le dossier « glpi » vers « /var/www/glpi ». Ce qui donne :

sudo mv glpi /var/www/glpi

Quand c’est fait, vous pouvez passer à la suite.

C. Récupérer vos données

La prochaine étape consiste à récupérer vos données. Vous savez celles contenues dans les répertoires « files », « plugins », « config » et « marketplace ». Ainsi, nous allons récupérer ces dossiers à partir de « /home/glpi_adm/backup_glpi/ » (emplacement de la sauvegarde créée précédemment) vers le répertoire « /var/www/glpi/ ».

Voici les commandes à exécuter :

sudo cp -Rf /home/glpi_adm/backup_glpi/files /var/www/glpi/
sudo cp -Rf /home/glpi_adm/backup_glpi/plugins /var/www/glpi/
sudo cp -Rf /home/glpi_adm/backup_glpi/config /var/www/glpi/
sudo cp -Rf /home/glpi_adm/backup_glpi/marketplace /var/www/glpi/

Puis, nous allons modifier les permissions sur les données du répertoire « /var/www/glpi » pour que l’utilisateur « www-data« , utilisé par Apache2, soit propriétaire :

sudo chown -R www-data:www-data /var/www/glpi/

D. Effectuer la mise à jour de la base de données GLPI

Voilà, vous y êtes ! C’est le moment de mettre à jour GLPI ! Enfin, la base de données, car en soi la mise à jour des fichiers est déjà effectuée !

Si vous accédez à l’interface de votre GLPI, vous allez tomber sur une page qui liste l’ensemble des prérequis et à la fin de cette page, il y a un bouton nommé « Upgrade » qui permet de déclencher la mise à jour.

GLPI - Bouton Upgrade pour effectuer mise à jour

Mais, l’éditeur de GLPI recommande plutôt d’effectuer la mise à jour à partir de la ligne de commande. Pour cela, vous devez continuer à utiliser la console de votre serveur (via une connexion SSH, par exemple).

Commencez par exécuter la commande ci-dessous pour vérifier les prérequis :

cd /var/www/glpi
sudo php bin/console glpi:system:check_requirements

Ceci permet de s’assurer que votre serveur dispose bien de tous les prérequis nécessaires pour accueillir GLPI. En principe, ce sera le cas, car GLPI était déjà installé. Dans la console, nous avons un statut pour chaque prérequis (comme en mode web).

GLPI - Vérifier les prérequis en ligne de commande

Si tout est bon, vous pouvez lancer la mise à jour de la base de données GLPI avec cette commande :

sudo php bin/console db:update

Laissez-vous guider par la ligne de commande et vous devrez répondre à une ou deux questions par « yes » ou « no ». Voici un exemple sur mon serveur :

Quelques secondes plus tard, la mise à jour est effectuée ! La console retourne le message « Migration effectuée » en vert, ce qui est plutôt positif. Connectez-vous à votre GLPI pour vérifier que tout fonctionne.

La mise à niveau étant terminée, vous devez supprimer ce fichier par sécurité :

sudo rm /var/www/glpi/install/install.php

Si vous utilisez des plugins, vous devez également vérifier leur état et éventuellement les mettre à jour (si nécessaire) à partir du menu « Configuration » puis « Plugins« , ou via la Marketplace si vous l’avez activée.

Enfin, vous pouvez désactiver le mode maintenance de GLPI :

cd /var/www/glpi
sudo php bin/console glpi:maintenance:disable

GLPI a été correctement mis à jour de la version 10.0.10 à la version 10.0.12 :

GLPI - Mise à jour effectuée avec succès

VI. Conclusion

En suivant minutieusement cette procédure, vous devriez être en mesure de mettre à jour l’application GLPI sur votre serveur, que ce soit pour installer une version mineure ou une version majeure. Personnellement, j’ai utilisé cette méthode pendant plusieurs années et je suis toujours parvenu à mettre à jour l’application.

@Source: https://www.it-connect.fr/tuto-mettre-a-jour-glpi/