loader image
Skip to content

Nous allons voir comment effectuer pas à pas la mise à jour de GLPI.
Notre objectif est de passer de la version 9.3.3 installé dans les articles précédents, à la dernière version à l’heure actuelle étant la 9.5.2.

Ce qui a été le plus important pour moi au départ était de m’assurer que la version de l’agent de Fusion Inventory était compatible entre la 9.3.3 et la 9.5.2. Et je peux vous assurer que l’agent 2.4.2 est fonctionnel avec GLPI 9.5.2.

Vous devrez donc uniquement réinstaller le plugin fusioninventory compatible avec la version 9.5.2. Vous trouverez la méthode en dessous.

Introduction : Lire la documentation !

Hé oui ! Je n’ai pas trouvé actuellement de tuto sur le net pour la mise à jour de GLPI. Mais heureusement, j’ai trouvé une aide interne pour me guider sur les actions à effectuer !

Le ? est le manuel d'aide de GLPI
CRTL + F = mise à jour

Après avoir trouvé dans le navigateur de gauche l’onglet « mettre à jour GLPI », un peu de lecture est nécessaire pour bien prendre le temps de comprendre ce que l’on doit préparer.

Il est dangereux d’effectuer ceci sur un serveur en production, donc faites vous la main sur une VM auparavant.

1ère partie : Télécharger l'archive

Nous allons donc vérifier si une nouvelle version est disponible pour GLPI. Allons dans Administration -> Maintenance

Cliquez ensuite sur la case jaune « Vérifier si une nouvelle version est disponible.

Pensez également à faire un export SQL et XML de votre base de données pour qu’en cas de fausse manipulation, vous pourrez toujours retrouver l’état précédent.

La prochaine version disponible : 9.5.2

Copiez le lien ci-dessous et téléchargez le depuis votre Linux en cliquant ici.

Le fichier devrait se situer dans le dossier téléchargement si vous choisissez d’utiliser l’interface graphique.

Connectons nous sur notre terminal en root. Pensez toujours à mettre à jour les paquets.

$ su # apt-get update && apt-get upgrade

Nous allons ensuite décompresser notre fichier tgz. Nous le copierons plus tard à l’endroit voulu car nous devons continuer de vérifier certains aspects de GLPI pour éviter toute erreur.

# cd ~/Téléchargements # tar xzvf glpi-9.5.2.tgz

2 & 3ème partie : Préparer la mise à jour + Installer les fichiers de l'application sur le serveur

Avant la mise à jour proprement dite il faut préparer le système et les fichiers.

Sur le serveur, déplacer l’ensemble du répertoire GLPI vers un répertoire temporaire, à l’exception du répertoire files (répertoire où sont stockés les documents).

Si la mise à jour de GLPI est effectuée depuis une version inférieure à 0.68, certains répertoires ont changé de nom. Il faut donc copier leur contenu :

ancien_GLPI/docs/ -> nouveau_glpi/files
ancien_GLPI/backup/dump -> nouveau_GLPI/files/_dumps

# cp -r /var/www/html/glpi /home/cgobert/Documents/ # cd /var/www/html/glpi # rm -r ajax/ apirest.md apirest.php apixmlrpc.php CHANGELOG.md config/ CONTRIBUTING.md COPYING.txt css/ front/ .github/ .htaccess inc/ index.php install/ js/ lib/ locales/ pics/ plugins/ README.md scripts/ sound/ status.php SUPPORT.md vendor/ # cp -r /home/cgobert/Téléchargements/glpi /var/www/html/ # chown -R www-data /var/www/html/glpi

Ci-dessus, nous venons donc de faire un backup de notre dossier glpi au cas où nous faisons une mauvaise manipulation. Nous nous déplaçons dans le dossier /var/www/html/glpi et nous allons supprimer tous les dossiers sauf « files ».

Nous allons ensuite copier notre nouveau glpi 9.5.2 et le copier dans le dossier /var/www/html et modifier les droits dessus.

Vous constaterez dès lors que, notre nouvelle version de GLPI fonctionne avec PHP 7.2 et non plus PHP 7.0 ! Un message d’alerte vous le dira par ailleurs.

Il faut donc procéder à l’installation et la configuration de PHP7.2 et pour cela, faites les manipulations suivantes.

# apt install apt-transport-https lsb-release ca-certificates # wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg # echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list # apt update

# apt install php7.2 php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-mysql php7.2-zip php7.2-fpm php7.2-mbstring php7.2-curl php7.2-gd php7.2-simplexml php7.2-intl php7.2-ldap php7.2-apcu php7.2-xmlrpc php7.2-bz2 # a2enmod proxy_fcgi setenvif # a2enconf php7.2-fpm # systemctl reload apache2

Maintenant que PHP7.2 a bien été installé sur notre système et si nous voulons changer la version de PHP par défaut en PHP 7.2, nous aurons besoin de désactiver l’ancien PHP et activer le nouveau.

-- Désactivation PHP7.0 -- # a2dismod php7.0 # systemctl restart apache2 -- Activation PHP7.2 -- # a2enmod php7.2 # systemctl restart apache2

Optionnel : Pour récupérer les informations de PHP complet, nous allons créer un fichier phpinfo.php et créer à l’intérieur un code.

# nano /var/www/html/phpinfo.php -- copier le texte suivant dans le fichier phpinfo.php --

<?php phpinfo(); ?>

Entrez alors dans votre navigateur http://votre_ip/phpinfo.php et vous aurez accès à toutes les informations de PHP7.2

4ème partie : Utiliser l'assistant de mise à jour

Connectons nous sur notre GLPI de nouveau afin de procéder à la mise à jour.

Nous acceptons les termes de la licence.

Et cette fois, nous allons cliquer sur « mettre à jour »

Nous vérifions que tous les modules sont bien installés.

Il est probable qu’il faille faire systemctl restart apache2 pour que les modules soit pris en compte.

Une fois tous les modules validés, cliquez sur continuez.

Reprenez vos identifiants de connexion de votre base de données, que vous avez du sauvegardez dans un endroit sécurisé lorsque vous avez fait l’installation du GLPI 9.3.3 !

Renseignez vos identifiants de connexion de MariaDB

Une fois vos identifiants insérés, vous allez sélectionner votre Base de données « glpidb ».

/!\ Attention, à partir de maintenant, votre BDD va être mise à jour. Ce qui indiquera que probablement, vous ne pourrez pas faire de marche arrière. /!\

Cliquez sur suivant pour pouvoir mettre à jour la BDD

On remarque que la base de données s’est mise à jour plusieurs fois afin de correspondre à la base de données des différentes versions de GLPI.

Nous rattrapons notre retard de 9 mises à jours ! Des nouveaux droits sur les ACL ont été automatiquement créés, surlignés en rouge. Ne vous inquiétez pas, cela ne veut pas dire qu’il y a une erreur.

Vous pouvez désormais appuyer tout en bas de la page sur « Utiliser GLPI »

Bienvenue sur la nouvelle version de GLPI 9.5.2 ! Félicitations à vous !

Cependant, il nous reste à vérifier quelques détails.

Nous allons donc commencer par supprimer le fichier install.php comme indiqué, mais également réinstaller le plugin FusionInventory dans GLPI.

5ème partie : Réinstallation des plugins

Tout d’abord, supprimons le fichier install.php

# rm /var/www/html/glpi/install/install.php

Maintenant, nous allons réinstaller le plugin FusionInventory manuellement.

Pour cela, nous allons télécharger le plugin 9.5.0+1.0 disponible ici. Le décompresser, le positionner dans le dossier correspondant et remettre les droits à www-data sur le dossier glpi.

# wget https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.5.0%2B1.0/fusioninventory-9.5.0+1.0.tar.bz2 # tar xvf fusioninventory-9.5.0+1.0.tar.bz2 -C /var/www/html/glpi/plugins/ # chown -R www-data /var/www/html/

Rendons nous désormais dans Configuration -> Plugins

Nous voyons que le statut de FusionInventory est « mettre à jour ». Nous allons donc désormais appuyer sur le dossier à droite avec le signe  » + « 

FusionInventory avant mise à jour
FusionInventory après mise à jour

Retournons sur notre interface FusionInventory dans Administration -> FusionInventory

L’inventaire s’effectuant toutes les heures ne s’est pas encore effectué. Nous allons forcer alors l’inventaire sur une machine cliente. Et nous constatons que la machine remonte correctement sur le réseau avec l’agent 2.4.2 installé précédemment.

FusionInventory après nouvel inventaire forcé

Je vous remercie d’avoir suivi l’article jusqu’au bout.

Une mise à jour d’un logiciel est toujours particulier et réussir à l’effectuer est très satisfaisant. J’espère avoir été clair jusqu’au bout et si vous vous retrouvez bloqué sur un point en particulier, n’hésitez pas à me contacter par mail.