Généralités

Abstract

GLPI (Gestionnaire Libre de Parc Informatique) est une application web qui aide les entreprises à gérer leur système d’information. Parmi ses caractéristiques, cette solution est capable de construire un inventaire de toutes les ressources de la société et de réaliser la gestion des tâches administratives et financières. Les fonctionnalités de cette solution aident les Administrateurs IT à créer une base de données regroupant des ressources techniques et de gestion, ainsi qu’un historique des actions de maintenance. Source (wikipédia).

GLPI fait également bien plus que cela via de nombreux modules.

Motivations

A un certain moment, le manque d'une application permettant de gérer eficassement l'inventaire du ResEl. GLPI s'est présentée comme une solution prometteuse, et reste au stade de test à l'heure ou j'écris ces lignes (a vrai dire, je n'ai pas encore commencé l'installation de GLPI au ResEl au moment ou j'écris ces lignes, je vais rédiger la documentation d'installation au fur et à mesure).

Installation

Ce guide d'installation décris l'installation de GLPI 9.3 en se basant sur la version 0.85 du PDF de documentation. Les dernières version de GLPI et du manuel officiel sont disponibles ici.

Cette installation est réalisée sur une Machine Virtuelle sous Debian 9.4

Pré-Requis

  • PHP: GLPI requiert PGP dans sa version 5.3 ou supérieure. J'utiliserai ici la version 7.0 , la plus récente dans les dépots de Debian à ma disposition à ce jour.
sudo apt-get install php php-json php-mbstring php-mysql php-cli php-gd php-imap php-ldap php-curl php-xml
  • MySQL

Il est possible d'utiliser un serveur MySQL ou MariaDB local ou distant. Au ResEl on utilisera le serveur MariaDB Lena

Dans tous les cas, il faut créer une base de données et un utilisateur dédié à GLPI. En commandes SQL, ça ressemble à ça:

CREATE DATABASE glpi;
CREATE USER 'glpi' IDENTIFIED BY 's3cret_passw0rd';
GRANT ALL PRIVILEGES ON glpi.* TO 'glpi';

Installation de GLPI

Installation des fichiers sur le serveur

export http_proxy=http://pegase.adm.resel.fr:3128
export https_proxy=http://pegase.adm.resel.fr:3128
wget https://github.com/glpi-project/glpi/releases/download/9.3.0/glpi-9.3.tgz
tar -xzf glpi-9.3.tgz -C /srv/
rm glpi-9.3.tgz
  • Corriger les permissions. Bien vérifier que l'utilisateur www-data a les droits en écriture sur /config et /files
chown www-data:www-data -R /srv/glpi
  • Adapter la configuration apache2
    • Éditer le fichier /etc/apache2/sites-available/000-default.conf comme suivant :
<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com

        ServerAdmin webmaster@localhost
        DocumentRoot /srv/glpi/

        <Directory /srv/glpi>
                Options Indexes FollowSymLinks
                AllowOverride None
                Require all granted
        </Directory>


        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
  • Recharger le service apache2 :
sudo systemctl reload apache2.service

Utilisation du sorcier d'installation

Si le serveur n'est pas acessible depuis l'extérieur (par exemple si le Reverse Proxy n'a pas encore été configuré), il est nécessaire de configurer un proxy vers la zone admin du ResEl

  • Sur un navigateur internet, se rendre à l'adresse du serveur GLPI (ou l'IP interne du serveur si on passe par le proxy SOCKS)

  • Suivre les instructions