Installer GLPI

Procéder comme suit :

  1. Choisir une version,
  2. Télécharger l’archive,
  3. Installer :)

Choisir une version

Note

Il est fortement recommandé de choisir la dernière version stable pour une utilisation en production.

GLPI suit une règle de versionnage sémantique, sur 3 chiffres. Le premier correspond à la version majeure, le second à la version mineure, le troisième à la version corrective.

Les version majeures peuvent amener d’importantes incompatibilités ainsi que de nouvelles fonctionnalités ; les versions mineures quant à elles apportent également de nouvelles fonctionnalités mais restent parfaitement compatibles au sein d’une version majeure.

Les versions correctives, quand à elles, se contentent de corriger les problèmes reportés sans ajout de fonctionnalités.

Télécharger

Avertissement

Sur GitHub, il existe systématiquement deux archives nommées Source code ; ces versions ne sont pas destinées à être téléchargées par les utilisateurs.

Aller à la section téléchargement du site web GLPI (ou obtenir l’archive directement depuis les releases Github) et choisir l’archive glpi-{version}.tgz.

Installation

L’installation à proprement parler de GLPI est composée de trois étapes :

  1. Décompresser l’archive dans l’arborescence de votre serveur web ;
  2. Donner les droits en écriture à votre serveur web sur les dossiers files et config ;
  3. lancer l’assistant d’installation (ou utiliser le script d’installation en ligne de commande).

Une fois ces étapes effectuées l’application est prête à être utilisée.

Si vous avez besoin de configuration avancée, comme la mise en place de paramètres de connexion SSL, référez-vous à la configuration avancée.

Emplacements des dossiers et fichiers

Comme beaucoup d’applications web, GLPI peut être installé en copiant simplement le contenu complet du répertoire sur un serveur web quelconque. Néanmoins, une telle pratique peut s’avérer relativement peu sécurisée.

Avertissement

Tout fichier accessible directement depuis un serveur web doit être considéré comme non sécurisé !

GLPI stocke un certain nombre de données dans son répertoire files, la configuration de votre base de données est stockée dans le dossier config, … Bien que des dispositions soient prises pour éviter que des données sensibles puisse être rendues accessibles directement depuis un serveur web, la meilleure façon de les protéger reste de les stocker en dehors de la racine web. De cette manière, les fichiers sensibles ne seront pas accessibles directement depuis le serveur web.

Un certain nombre de variables de configuration qu’il est possible d’utiliser pour ce faire (utilisées d’ailleurs dans les paquets fournis par les distributions linux) :

  • GLPI_CONFIG_DIR : définit le chemin d’accès du dossier de configuration ;
  • GLPI_VAR_DIR : définit le chemin d’accès du répertoire “fichiers” ;
  • GLPI_LOG_DIR : définit le chemin d’accès vers les fichiers de log.

Note

Il existe bien d’autres variables de configuration, celles évoquées ci-dessus sont les principales à prendre en considération pour une installation davantage sécurisée.

Le choix des différents dossiers est laissé à votre entière appréciation ; l’exemple qui suit se base quand à lui sur les recommandations FHS <http://www.pathname.com/fhs/>.

Notre instance de GLPI sera installée dans le dossier /var/www/glpi, un hôte virtuel dans la configuration du serveur web reflètera ce chemin.

La configuration de GLPI sera stockée dans /etc/glpi/, copier simplement le contenu du dossier config à cet endroit. GLPI requiert un accès en lecture sur ce dossier pour fonctionner, et un accès en écriture lors de l’installation.

Les données de GLPI seront stockées dans /var/lib/glpi/, copier le contenu du dossier files à cet endroit. GLPI requiert les droits en lecture et écriture sur ce dossier.

Les fichiers de log de GLPI seront stockés dans /var/log/glpi/, il n’y a rien à copier. GLPI requiert les droits en lecture et écriture sur ce dossier.

Suivant cette nomenclature, il convient de créer un fichier inc/downstream.php dans le dossier de GLPI avec le contenu suivant :

<?php
define('GLPI_CONFIG_DIR', '/etc/glpi/');

if (file_exists(GLPI_CONFIG_DIR . '/local_define.php')) {
   require_once GLPI_CONFIG_DIR . '/local_define.php';
}

Avertissement

Les paquets GLPI des différents dépôts fourniront très certainement un fichier inc/downstream.php. Ce dernier ne doit pas être modifié !

GLPI cherche un fichier local_define.php dans son propre dossier config. Si vous souhaitez en utiliser un depuis un autre dossier, vous devez le charger.

Ensuite, créer un fichier /etc/glpi/local_define.php avec le contenu suivant :

<?php
define('GLPI_VAR_DIR', '/var/lib/glpi');
define('GLPI_LOG_DIR', '/var/log/glpi');

Note

Nouveau dans la version 9.2.2.

Pour les versions de GLPI antérieures à 9.2.2, la constante GLPI_VAR_DIR n’existait pas. Il fallait donc redéfinir tous les chemins un par un :

<?php
define('GLPI_VAR_DIR', '/var/lib/glpi');
define('GLPI_DOC_DIR',        GLPI_VAR_DIR);
define('GLPI_CRON_DIR',       GLPI_VAR_DIR . '/_cron');
define('GLPI_DUMP_DIR',       GLPI_VAR_DIR . '/_dumps');
define('GLPI_GRAPH_DIR',      GLPI_VAR_DIR . '/_graphs');
define('GLPI_LOCK_DIR',       GLPI_VAR_DIR . '/_lock');
define('GLPI_PICTURE_DIR',    GLPI_VAR_DIR . '/_pictures');
define('GLPI_PLUGIN_DOC_DIR', GLPI_VAR_DIR . '/_plugins');
define('GLPI_RSS_DIR',        GLPI_VAR_DIR . '/_rss');
define('GLPI_SESSION_DIR',    GLPI_VAR_DIR . '/_sessions');
define('GLPI_TMP_DIR',        GLPI_VAR_DIR . '/_tmp');
define('GLPI_UPLOAD_DIR',     GLPI_VAR_DIR . '/_uploads');
define('GLPI_CACHE_DIR',      GLPI_VAR_DIR . '/_cache');

define('GLPI_LOG_DIR', '/var/log/glpi');

Of course, it is always possible to redefine any of those paths if needed.

Après installation

Une fois GLPI installé, vous avez presque terminé.

Une étape supplémentaire serait de sécuriser (ou de supprimer) le répertoire d’installation. Par exemple, vous pouvez envisager d’ajouter la configuration suivante à votre hôte virtuel Apache (ou dans le fichier glpi/install/.htaccess) :

<IfModule mod_authz_core.c>
    Require local
</IfModule>
<IfModule !mod_authz_core.c>
    order deny, allow
    deny from all
    allow from 127.0.0.1
    allow from ::1
</IfModule>
ErrorDocument 403 "<p><b>Restricted area.</b><br />Only local access allowed.<br />Check your configuration or contact your administrator.</p>"

Avec cet exemple, l’accès au dossier install serait limité au seul hôte local et afficherait un message sinon. Bien sûr, vous pouvez adapter cela à vos besoins, référez-vous à la documentation de votre serveur web.

Creative Commons License