Installer GLPI

Contributeurs

(SISR2-2017) Simon Lemelletier, Adrien Tanner

Prérequis :

Installer apache2, php, php-mysqli, php-curl, php-xml, php-gd, php-mbstring, php-intl, mariadb-server

Commande :

apt update apt-get install apache2 php php-curl php-xml php-mbstring php-gd php-mysqli php-intl mariadb-server

1 Installation de l'application

Commande pour la dernière version en date (11.0.7) dans le répertoire /var/www/html :

Il faut télécharger le fichier de la dernière version (voir sur https://github.com/glpi-project/glpi/releases/latest).

On le déposera dans le dossier temporaire /tmp .

cd /tmp/ wget https://github.com/glpi-project/glpi/releases/download/11.0.7/glpi-11.0.7.tgz

Décompresser l'archive :

tar -xzvf <nom_archive.tgz>

Déplacer le dossier décompressé

Le dossier glpi qui a été extrait doit être placé dans le dossier du serveur web /var/www/html

mv glpi /var/www/html

Donner le droit à Apache (compte www-data) d'écrire dans le dossier GLPI afin que ce dernier puisse correctement travailler

//change le propriétaire (www-data) et le groupe propriétaire (root) du dossier et des sous dossiers (-R) chown -R www-data:root /var/www/html
//Donner les droits d'écriture (4), de lecture (2), et d’exécution (1) (4+2+1=7) aux différents utilisateurs. chmod -R 770 /var/www/html

2 Interventions sur MySQL

Avant de finaliser l'installation, il faut créer la base de données pour GLPI et un compte avec les droits dessus :

mysql -u root -p

Une fois connecté à Mysql

CREATE DATABASE <nomBaseGlpi>; USE <nomBaseGlpi>; //création de l''utilisateur GRANT ALL privileges ON <nomBaseGlpi>.* TO <userglpi>@localhost IDENTIFIED BY '<motdepasse>';

3 Configuration de l'application GLPI

Se connecter sur le navigateur avec l'adresse IP de votre serveur : http://<IP>/glpi

Configuration du DocumentRoot Apache Il est préférable de faire pointer apache vers le dossier glpi dans le fichier 000-default.conf : nano /etc/apache2/sites-enalbled/000-default.conf On modifiera la partie DocumentRoot DocumentRoot /var/www/html/glpi

Nouveautés version 11 Nouveaux Prérequis Il faut désormais installer l'extension bcmath de PHP : apt install php-bcmath systemctl restart apache2 Réécriture et nouveau DocumentRoot La version 11 a été réécrite en utilisant Symfony. On doit désormais modifier le chemin du DocumentRoot et ajouter la réécriture de lien : On active le mode rewrite : a2enmod rewrite systemctl restart apache2 On éditele fichier de configuration Apache : nano /etc/apache2/sites-enalbled/000-default.conf On modifiera la partie DocumentRoot : DocumentRoot /var/www/html/glpi/public On ajoute les lignes suivantes à l'intérieur du VirtualHost (80 et/ou 443) <Directory /var/www/html/glpi/public> Require all granted RewriteEngine On # Ensure authorization headers are passed to PHP. # Some Apache configurations may filter them and break usage of API, CalDAV, ... RewriteCond %{HTTP:Authorization} ^(.+)$ RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect all requests to GLPI router, unless file exists. RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,L] </Directory>

La procédure vérifiera que vous avez bien rempli les pré-requis suivants :

installation des paquetages nécessaires

En cas d'extension manquante, on installera l'extension puis on redémarrera apache. Exemple apt install php-bcmath systemctl restart apache2

attribution des droits et autorisations

Vous serez ensuite invité à indiquer les éléments suivants :

serveur où se trouve la base de données (généralement localhost)

compte autorisé à créer une base pour GLPI (le compte doit avoir les autorisations suffisantes dans Mysql/Mariadb)

nom de la base de données à créer (à définir selon le contexte)

Par défaut :

Identifiant : glpi

Mot de passe : glpi

4 Plugins d'inventaire

GLPI 10 et ultérieur

Depuis la version 10, GLPI intègre directement un outil d'inventaire ne nécessitant pas de plugin. Il suffit d'installer l'agent sur les machines à inventorier.

Installation de l'agent sur Linux

Sur Linux : on récupère la dernière version de l'application agent sur https://github.com/glpi-project/glpi-agent/releases (ici 1.17) au format d'un script PERL :

cd /tmp wget https://github.com/glpi-project/glpi-agent/releases/download/1.17/glpi-agent-1.17-linux-installer.pl perl glpi-agent... -s <URL du serveur GLPI> --runnow --install (**tabuler** après glpi-agent pour avoir la version complète)

Installation de l'agent sur Windows

On récupère la dernière version de l'agent : https://github.com/glpi-project/glpi-agent/releases. Lors de l'exécution, on renseignera les paramètres demandés :

l'URL du serveur pour l'inventaire : <URLAccesGLPI>/front/inventory.php

l'URL aura la forme : http:/ /<ip_ou_fqdn>/glpi ou http:/ /<ip_ou_fqdn> selon la façon dont on accède au serveur (éventuellement en HTTPS)

Une fois l'installation opérée, on exécute un inventaire forcé en accédant à l'URL http://localhost:62354 .

L'accès à la page http://localhost:62354/status permet de visualiser l'état de l'agent.

Version avant GLPI 10 GLPI ne sait pas seul procéder à un inventaire automatique des machines. Il a besoin pour cela de plugins qui fonctionnent de façon différente : FusionInventory : c'est un plugin complètement intégré qui vient ajouter des tables directement à la base de GLPI. Il est capable d'interroger des agents FusionInventory installés sur des cibles ou de procéder à une interrogation grâce au protocole SNMP. OCSInventory : il s'agit d'une application Web indépendante qui fonctionne à base d'agents spécifiques ou via le protocole SNMP pour interroger les machines et faire une remontée d'inventaire que GLPI est capable d'interroger via un plugin. Installation des plugins Par le menu Configuration / Plugins / Voir le catalogue, on trouvera le lien vers la dernière version du plugin (attention de vérifier la compatibilité avec la version de GLPI). On télécharge l'archive sur le serveur GLPI et on la décompresse (tar -xzvf ou tar -xjvf) dans le dossier /var/www/html/glpi/plugins (ou équivalent). Dans le menu Configurations / Plugins de GLPI, on procède à l'installation du module d'extension On peut alors l'activer et il est possible de le configurer.

5 Couplage du GLPI avec ActiveDirectory

Prérequis

Pour que GLPI fonctionne avec un annuaire distant, le code PHP doit être en mesure de communiquer selon le protocole LDAP. Il est donc nécessaire d'installer le module ldap pour php :

apt install php-ldap service apache2 restart

Configuration

Aller dans l'onglet Configuration, puis authentification. Aller dans le menu “Annuaire LDAP”. Configurer un nouveau serveur ActiveDirectory comme suit :

Dans le type d'information à retenir, on notera (&(objectClass=user)(objectCategory=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))

Sur l'information permettant d'identifier la personne, on indiquera samAccountname

Le DN de l'utilisateur peut être exprimé sous la forme compte@domain.tld (exemple : admin@sio.bts, à adapter)

Une fois votre configuration terminée vous pouvez tester la connexion au serveur :

IMAGE

Votre serveur GLPI est maintenant bien couplé avec le serveur ActiveDirectory.

Importation de nouveaux utilisateurs

Pour importer de nouveaux utilisateurs de votre serveur ActiveDirectory vers votre serveur GLPI, vous devez aller dans l'onglet Administration puis Utilisateur.

Il suffit enssuite de cliquer sur “liaison LDAP” puis “importer de nouveaux utilisateurs”. Cliquer ensuite sur “rechercher”, vos utilisateurs s'affichent. Séléctionner ceux qui vous intéressent puis cliquer sur action puis “importer”.

Vos utilisateurs de domaine sont maintenant importés dans votre serveur GLPI. Ils pourront donc se connecter dessus avec leurs identifiants.

Lorsque des modifications sont effectuées sur les utilisateurs au niveau de l'AD, il faut faire une synchronisation sur le GLPI en faisant “synchronisation d'utilisateurs déja importés”.