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'@'<host>' IDENTIFIED BY 's3cret_passw0rd';
GRANT ALL PRIVILEGES ON glpi.* TO 'glpi'@'<host>';
en remplacant par la chaine adaptée, par exemple paulo.adm.resel.fr

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 :

    • Entrez l'adresse du serveur de base de donnée utilisé (au ResEl: lena.adm.resel.fr et les identifiants créés précédamment
    • Utilisez la base de donnée 'glpi'. Cette étape peut prendre un certrain temps (le shéma de la bdd va être initialisé)
    • La machine étant dans le vLAN admin non routé sur internet, je ne configure pas l'envoi des statistiques d'utilisation (il faudrait configurer le proxy HTTP(s) )

Bravo, vous avez correctement installé GLPI ! Pour rappel, les identifiants par défault sont:

  • glpi/glpi pour le compte administrateur
  • tech/tech pour le compte technicien
  • normal/normal pour le compte normal
  • post-only/postonly pour le compte

Pour des raisons de sécurité, veuillez supprimer le fichier : /srv/glpi/install/install.php

Configuration de l'Authentification via LDAP

Paramétrage du LDAP

La manière dont GLPI gère l'authentification et les informations personnelles des utilisateurs se configure depuis le menu Configuration > Authentification > Annuaires LDAP

  • Cliquez sur le bouton + en haut à droite, au bout du "breadcumb"
  • Dans le cas du ResEl, entrez les informations suivantes:
Nom: LDAP Admin
Serveur par défault: OUI
Actif: OUI
Serveur: ldap.resel.fr
Port: 389
Filtre de connexion: ou=admins,dc=resel,dc=enst-bretagne,dc=fr
BaseDN: ou=admins,dc=resel,dc=enst-bretagne,dc=fr
Champ de l'identifiant: uid

Assigner un role aux comptes créés via LDAP

Se rendre dans le menu Administration > Règles > Règles d'affectation d'habilitations à un utilisateur

  • Cliquez sur le bouton + en haut à droite, au bout du "breadcumb"
  • Entrez un nom et une courte description, puis sauvegardez.
  • Dans l'onglet Critères, ajoutez un nouveau critère *(LDAP) User ID Existe
  • Dans l'onglet Actions, ajoutez une nouvelle action Profils Assigner

Sauvegardez, tous les utilisateurs créés a partir de ce moment auront donc le role choisi.