Aller au contenu

Installation / Mise à jour#

Effectuez une sauvegarde

Avant toute manipulation sur votre base de données ou sur votre instance GLPI, nous vous conseillons fortement d'effectuer une sauvegarde de votre base de données ainsi que du dossier GLPI.

Qu'est-ce que GLPI ?#

GLPI est un outil ITSM open source qui peut être utilisé dans une variété de systèmes opérationnels, puisqu'il s'agit d'une application web fonctionnant sur un serveur web avec un compilateur PHP et une base de données MySQL. GLPI est exécuté dans une architecture à trois niveaux qui se compose d'un niveau de présentation, d'un niveau d'application et d'un niveau de données.

1. Niveau de présentation#

C'est la couche qui est chargée d'afficher l'information et d'interagir avec l'utilisateur. L'application GLPI génère des codes HTML, donc pour que ces codes aient un sens pour l'utilisateur, nous avons besoin d'un serveur web pour les "traduire". Les serveurs web les plus connus sont Apache et NGINX, par exemple.

2. Niveau d'application#

Il s'agit de la couche commerciale de l'application. Elle est responsable du traitement des opérations que GLPI effectue sur les données en fonction des demandes des utilisateurs. Pour GLPI, cette logique est codée en PHP

3. Le niveau de données#

Le niveau de données est celui qui s'occupe de l'accès et du stockage des données. Sur GLPI ce niveau est géré par un système de gestion de base de données basé sur MySQL ou son fork MariaDB. Vous trouverez la liste complète des pré-requis pour l'installation et l'utilisation de GLPI ici

Puis-je installer le frontend de GLPI sur un serveur et la base de données sur un autre ?#

Oui. Vous devriez le faire dans le cas d'environnements complexes et plus importants. Dans cet article, nous travaillons avec une architecture simple. Mais vous pouvez créer des scénarios adaptés à des entreprises plus grandes, avec ou sans microservices, bases de données séparées, bases de données maître et esclave, partage NFS pour les fichiers. Les possibilités sont énormes, et nous pourrions en discuter dans de futurs articles.

J'ai des problèmes d'accès à GLPI après une mise à jour, comment y remedier ?#

Après une mise à jour, l'utilisation des données restées en cache tentent d'être utilisées mais sont obsolète. La méthode recommandée pour remidier au problème est de vider le contenu du cache dans le dossier files rm -rf ../files/_cache/*

Attention

Ce dossier peut se trouver un autre endroit selon votre configuration. Vous pouvez consulter le fichier ../inc/downstream.php pour connaitre le chemin exact si celui-ci votre installation a été personnalisée

Pourquoi ai-je un message sur ma page d'accueil m'informant que La configuration du dossier racine du serveur web n'est pas sécurisée car elle permet l'accès à des fichiers non publics. Référez-vous à la documentation d'installation pour plus de détails ?#

Afin de sécuriser votre instance et éviter l'exposition de dossiers non publiques, une modification de votre vhost doit être faite (ce cas s'applique particulièrement aux instances qui sont exposées sur Internet). Vous pouvez suivre la documentation officielle afin de mettre en place cette configuration disponible ici

Puis-je installer GLPI 10 avec PHP 7.4 ?#

PHP 7.4 n'est actuellement plus supporté. Vous pouvez consulter le support de PHP via ce lien

Comment savoir si ma version de GLPI est à jour ?#

Dans les options utilisateurs, (en haut à droite), un champ à propos est disponible. Si vous cliquez sur ce champ, un message vous alertera si vous avez des mises à en retard

Alt text

Vous pouvez également vous rendre dans configuration > générale > système. Cliquez sur vérifier si une nouvelle version est disponible Un message en bas à droite vous indiquera si une nouvelle version est disponible

Alt text

Comment corriger les erreurs lorsque j'effectue une mise à jour de GLPI ?#

Si vous rencontrez des erreurs pendant le prcess de mises à jour, plusieurs commandes sont possibles afin de vous orientez. Ces commandes sont à entrer dans le dossier GLPI :

  • php bin/console database:check_schema_integrity : afficher les incohérences trouvées sur la base de données
  • php bin/console database:check_schema_integrity -p formcreator : permet d'afficher les incohérences de la base de données liées à Formcreator
  • php bin/console system:check_requirements : vérifier les prérequis systèmes demandés par GLPI
  • php bin/console migration:migrate_all : utile pour les migrations de 9.5 vers 10. Permet de migrer (conversion des champs "datetime" en "timestamp" pour l'utilisation des fuseaux horaires, migration des clefs principales/étrangères vers des entiers non signés, conversion du jeu de caractères de la base de données de "utf8" à "utf8mb4")
  • php bin/console system:list_services : lister les services systèmes
  • php bin/console system:status : lister les status du système

Si vous avez besoin de plus d'informations, veuillez vous référer à la documentation officielle

Quels sont les serveurs Web compatibles ?#

Pour l'installation de GLPI, il est recommandé d'utiliser :

  • Apache
  • Nginx
  • Lighttpd
  • IIS

Où puis-je télécharger la dernière version de GLPI ?#

Pour être sûr d'avoir la bonne version de GLPI, vous pouvez la télécharger sur Github

Comment déplacer le dossier files du dossier GLPI ?#

Il faut créer un fichier downstream.php dans le dossier inc Selon la configuration désirée, vous pouvez délocaliser plusieurs dossiers de GLPI. Dans cette exemple, le dossier configuration sera position dans /var/www/glpi_config et le dossier files dans /var/www/glpi_files

define('GLPI_CONFIG_DIR', '/var/www/glpi_config');
define('GLPI_VAR_DIR', '/var/www/glpi_files');

Vous pouvez ainsi segmenter chaque dossier du dossier files (_log, _pictures, _lock, etc.). Gardez une attention particulière sur les autorisations de ces dossiers qui doivent accessibles en lecture/écriture par l'utilisateur du service web.

Plus d'informations ici

Comment obtenir la liste des commandes disponibles en CLI#

Depuis la racine du dossier GLPI, entrez php bin/console, cette commande vous affichera toutes les commandes possibles en CLI.

Pourquoi certaines informations sont chiffrées après une migration de serveur ?#

GLPI inclut un système de chiffrement par le biais de la glpicrypt.key. Si cette clé n'est pas migrée avec le reste des données, certaines de vos données pourraient ne plus être lisibles. Il suffit de migrer la glpicrypt.key dans le dossier config afin de retrouver l'utilisation normale de votre GLPI.

Pourquoi les données de certains plugins ne sont plus présentes après une migration de serveur ?#

Lorsque vous migrez une instance GLPI d'un serveur à un autre, il faut également migrer le dossier plugin et/ou marketplace afin que toutes les données des plugins soient également tranférées.

Pourquoi ai-je un message m'informant que la directive PHP session.cookie_httponly devrait être à on pour prévenir l'accès aux cookies depuis les scripts côté client ?#

Cette directive refuse l'accès au cookie de session depuis JavaScript et empêche les cookies récupérés par une injection JavaScript. Il peut être défini dans /etc/php/8.X/apache/php.ini(1)

  1. 🙋‍♀️ à adapter selon votre configuration

Pourquoi je n'ai plus accès à GLPI après avoir activé la directive PHP session.cookie_secure ?#

Cette directive autorise l'accès au cookie uniquement quand le protocole HTTPS est activé. Si vous êtes en HTTP, il est conseillé de désactiver cette option ou de passer votre instance en HTTPS afin de récupérer l'accès à votre instance.