Chapitre 4 - Active Directory, inventaire et plugins

LDAP, LDAPS, GLPI Agent, déploiement GPO et Marketplace.

Préparation de LDAP et LDAPS

7.1 Préparer un compte de service

Créer dans Active Directory un compte dédié, par exemple :

svc_glpi_ldap

Ce compte doit uniquement disposer des droits de lecture nécessaires dans l’annuaire. Il ne doit pas être administrateur du domaine.


7.2 Installer l’autorité de certification AD

Si le certificat LDAPS est signé par une autorité interne, copier son certificat sur le serveur GLPI :

sudo cp ad-ca.crt /usr/local/share/ca-certificates/ad-ca.crt
sudo update-ca-certificates

Tester LDAPS :

openssl s_client \
  -connect dc1.snts.local:636 \
  -servername dc1.snts.local \
  -showcerts

Le nom utilisé dans GLPI doit correspondre au certificat du contrôleur de domaine.


7.3 Paramètres d’annuaire GLPI

Dans Configuration > Authentification > Annuaires LDAP, ajouter un annuaire :

Champ Exemple
Nom Active Directory SNTS
Serveur ldaps://dc1.snts.local
Port 636
Base DN DC=snts,DC=local
Root DN CN=svc_glpi_ldap,OU=Comptes de service,DC=snts,DC=local
Mot de passe Mot de passe du compte de service
Champ de l’identifiant sAMAccountName
Champ de synchronisation objectGUID

Filtre utilisateur possible :

(&(objectCategory=person)(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))

Ce filtre sélectionne les utilisateurs et exclut les comptes désactivés.


7.4 Tester depuis Debian

ldapsearch -x \
  -H ldaps://dc1.snts.local:636 \
  -D "CN=svc_glpi_ldap,OU=Comptes de service,DC=snts,DC=local" \
  -W \
  -b "DC=snts,DC=local" \
  "(sAMAccountName=alexandre)"

Documentation GLPI 11 — Debian 12, Apache, PHP 8.2 et MariaDB.

Utilisateurs, groupes et dépannage LDAP

7.5 Importer les utilisateurs

Dans Administration > Utilisateurs :

  1. ouvrir la liaison vers l’annuaire LDAP ;
  2. rechercher les nouveaux utilisateurs ;
  3. sélectionner les comptes ;
  4. les importer ;
  5. attribuer le profil et l’entité ;
  6. tester la connexion avec un compte standard.

Avant un import massif, configurer les règles d’attribution d’entités et de profils.


7.6 Groupes LDAP

Configurer ensuite l’import et la synchronisation des groupes. Vérifier :


7.7 Erreurs LDAP courantes

A successful bind must be completed

Vérifier :

Can't contact LDAP server

getent hosts dc1.snts.local
nc -vz dc1.snts.local 636
openssl s_client -connect dc1.snts.local:636

La connexion fonctionne mais aucun utilisateur n’apparaît

Vérifier :

Conserver au moins un compte administrateur local GLPI afin de pouvoir intervenir lorsque l’Active Directory est indisponible.



Documentation GLPI 11 — Debian 12, Apache, PHP 8.2 et MariaDB.

Installation de GLPI Agent sous Windows

8.1 Préparer GLPI

Dans GLPI :

  1. vérifier que l’inventaire est activé ;
  2. définir les règles d’import et de liaison ;
  3. prévoir les entités et tags ;
  4. vérifier l’URL d’inventaire.

URL courante :

https://glpi.dreamsaphir.fr/front/inventory.php

Avec le plugin GLPI Inventory installé depuis la Marketplace, certaines tâches utilisent :

https://glpi.dreamsaphir.fr/marketplace/glpiinventory/

8.2 Windows — installation silencieuse

Télécharger le MSI x64 depuis les publications officielles de GLPI Agent, puis lancer la commande depuis cmd.exe en administrateur :

msiexec /i GLPI-Agent-1.18-x64.msi /quiet ^
  SERVER="https://glpi.dreamsaphir.fr/front/inventory.php" ^
  RUNNOW=1 ^
  EXECMODE=1 ^
  TAG="PARC-PRODUCTION"

Options utiles :

Option Rôle
SERVER Adresse du serveur d’inventaire
RUNNOW=1 Lance un inventaire après l’installation
EXECMODE=1 Installe l’agent comme service
TAG Sert aux règles d’affectation
NO_SSL_CHECK=1 Désactive le contrôle TLS — déconseillé

Ne pas utiliser NO_SSL_CHECK=1 en production. Installer correctement la chaîne de certification sur les postes.


Documentation GLPI 11 — Debian 12, Apache, PHP 8.2 et MariaDB.

Déploiement de GLPI Agent par GPO

Déploiement de GLPI Agent par GPO

8.3 Déploiement par GPO

Méthode conseillée :

  1. placer le MSI sur un partage réseau accessible aux ordinateurs ;
  2. créer une GPO liée aux OU contenant les postes ;
  3. déployer le MSI par Configuration ordinateur > Paramètres du logiciel ou par script de démarrage ;
  4. utiliser un tag par site ou population si nécessaire ;
  5. tester d’abord sur une OU pilote.

Exemple de script de démarrage :

@echo off
set "MSI=\\snts.local\NETLOGON\GLPI-Agent-1.18-x64.msi"
set "SERVER=https://glpi.dreamsaphir.fr/front/inventory.php"

if exist "C:\Program Files\GLPI-Agent\glpi-agent.exe" exit /b 0

msiexec /i "%MSI%" /quiet SERVER="%SERVER%" RUNNOW=1 EXECMODE=1 TAG="ROUEN"
exit /b %errorlevel%

8.4 Forcer un inventaire Windows

"C:\Program Files\GLPI-Agent\glpi-agent.bat" --force

Journal :

C:\Program Files\GLPI-Agent\logs\glpi-agent.log

Interface locale de l’agent :

http://127.0.0.1:62354

L’interface intégrée ne doit pas être exposée à tout le réseau sans contrôle.


Documentation GLPI 11 — Debian 12, Apache, PHP 8.2 et MariaDB.

Agent Linux, OAuth et dépannage

Agent Linux, OAuth et dépannage

8.5 Linux

Après installation du paquet ou de l’AppImage officiel, créer un fichier spécifique dans conf.d plutôt que modifier le fichier principal :

sudo tee /etc/glpi-agent/conf.d/server.cfg >/dev/null <<'CFG'
server = https://glpi.dreamsaphir.fr/front/inventory.php
tag = LINUX-PRODUCTION
CFG

Forcer un inventaire :

sudo glpi-agent --force

Contrôler le service et les journaux :

sudo systemctl status glpi-agent --no-pager
sudo journalctl -u glpi-agent -n 100 --no-pager

8.6 OAuth 2.0 pour l’inventaire GLPI 11

GLPI 11 permet de créer un client OAuth avec :

Les paramètres correspondants de l’agent sont :

OAUTH_CLIENT_ID
OAUTH_CLIENT_SECRET

Cette méthode améliore l’authentification de l’agent, mais le secret doit être protégé lors du déploiement. Valider la compatibilité de la version de l’agent utilisée avant un déploiement général.


8.7 Dépannage de l’agent

Vérifier depuis le poste :

Résolution DNS
Accès HTTPS
Validité du certificat
Présence du service GLPI Agent
URL SERVER
Journal de l’agent
Règles d’import GLPI

Sous Windows :

nslookup glpi.dreamsaphir.fr
curl.exe -I https://glpi.dreamsaphir.fr
sc query glpi-agent

Une remontée réussie peut malgré tout être rejetée ou placée dans les éléments ignorés si les règles d’import ne permettent pas son association.



Documentation GLPI 11 — Debian 12, Apache, PHP 8.2 et MariaDB.

Plugins et Marketplace

Plugins et Marketplace

Bonnes pratiques

Plugins couramment utilisés

Plugin Fonction
GLPI Inventory Découverte réseau, SNMP, déploiement et tâches avancées
Fields Champs supplémentaires
Data Injection Import de données
Formcreator Formulaires avancés, surtout pour les environnements encore basés sur GLPI 10
Reports Rapports supplémentaires

GLPI 11 intègre nativement des formulaires et des types d’actifs personnalisés. Vérifier si un besoin est déjà couvert nativement avant d’ajouter un plugin.

Commandes de gestion

Lister les commandes disponibles :

cd /var/www/glpi
sudo -u www-data php bin/console

Installer et activer un plugin :

sudo -u www-data php bin/console glpi:plugin:install NOM_DU_PLUGIN
sudo -u www-data php bin/console glpi:plugin:activate NOM_DU_PLUGIN

Désactiver un plugin :

sudo -u www-data php bin/console glpi:plugin:deactivate NOM_DU_PLUGIN


Documentation GLPI 11 — Debian 12, Apache, PHP 8.2 et MariaDB.