GLPI - Connecter un GLPI externe
S'applique à : Medulla / GLPI
Version de Medulla : Toutes
Version de GLPI : 10 / 11
Environnement : On-Premise
Catégorie : Intégration GLPI
Contexte
Cette procédure permet de configurer automatiquement la connexion entre Medulla et GLPI via le script :
change_itsm_parameters.py
Ce script configure automatiquement les paramètres de connexion entre Medulla, la base de données GLPI et l’API REST.
Important :
Avant l’exécution du script, plusieurs prérequis doivent être mis en place sur votre environnement GLPI.
1. Préparer votre environnement GLPI
Avant de configurer Medulla avec GLPI, suivre la FAQ dédiée :
GLPI et Medulla – Création des accès utilisateurs
Cette FAQ couvre les éléments suivants :
- Création de l’utilisateur MySQL/MariaDB dédié à Medulla
- Ouverture des flux réseau entre Medulla et GLPI
- Création de l’utilisateur API GLPI
- Choix du profil
Read-OnlyouSuper-Admin - Création du client API
MMC - Génération des jetons
user_tokenetapp_token
Important :
Tous les prérequis décrits dans cette FAQ doivent être réalisés avant l’exécution du script de configuration ITSM.
2. Télécharger le script de configuration
Télécharger le script :
Rendre ensuite le script exécutable :
chmod +x change_itsm_parameters.py
3. Afficher l’aide du script
Pour afficher les paramètres disponibles :
./change_itsm_parameters.py --help
Le script supporte les paramètres suivants :
usage: change_itsm_parameters.py [-h]
--url URL
--db-host DB_HOST
[--db-port DB_PORT]
--db-name DB_NAME
--db-user DB_USER
--db-pass DB_PASS
--api-url API_URL
[--api-user API_USER]
[--api-pass API_PASS]
[--readonly READONLY]
[--crypt-key CRYPT_KEY]
[--inv-forward INV_FORWARD]
[--inv-forward-url INV_FORWARD_URL]
[--inv-plugin INV_PLUGIN]
[--inv-agent INV_AGENT]
[--inv-agent-disabled INV_AGENT_DISABLED]
4. Description des paramètres
| Paramètre | Obligatoire | Description |
|---|---|---|
--url |
Oui | URL principale de GLPI |
--db-host |
Oui | Adresse du serveur MySQL/MariaDB GLPI |
--db-port |
Non | Port SQL (défaut : 3306) |
--db-name |
Oui | Nom de la base de données GLPI |
--db-user |
Oui | Utilisateur MySQL/MariaDB dédié à Medulla |
--db-pass |
Oui | Mot de passe SQL |
--api-url |
Oui | URL de l’API GLPI (/apirest.php/) |
--api-user |
Conditionnel | Utilisateur API GLPI (requis si --readonly=false) |
--api-pass |
Conditionnel | Mot de passe utilisateur API |
--readonly |
Non | Mode lecture seule – Medulla ne pourra pas écrire dans GLPI (défaut : false) |
--crypt-key |
Conditionnel | Clé GLPI encodée en base64 – contenu de /etc/glpi/glpicrypt.key |
--inv-forward |
Non | Active le transfert d’inventaire vers GLPI (défaut : true) |
--inv-forward-url |
Conditionnel | URL de transfert des inventaires |
--inv-plugin |
Non | Plugin inventaire : glpiinventory ou fusioninventory |
--inv-agent |
Non | Agent inventaire côté poste : glpiagent ou fusioninventory |
--inv-agent-disabled |
Non | Désactive l’intégration de l’agent d’inventaire dans l’agent Medulla |
Note :
Le script récupère automatiquement les jetons app_token et user_token directement depuis la base de données GLPI.
Il n’est donc pas nécessaire de fournir ces jetons en paramètre.
Si votre version de GLPI chiffre les jetons, il faudra fournir :
--crypt-key
5. Exemple d’utilisation
Exemple de configuration complète vers un serveur GLPI externe :
./change_itsm_parameters.py \
--url https://glpi.mon-domaine.fr/ \
--db-host 10.10.0.101 \
--db-port 3306 \
--db-name GLPI \
--db-user medulla_glpi \
--db-pass yJxI40UzO8Jn7dd7K5Yaml \
--api-url https://glpi.mon-domaine.fr/apirest.php/ \
--api-user medulla_APIUSER \
--api-pass fLN1Zomh877obPhk
Cas d’un GLPI avec jetons chiffrés
Si votre serveur GLPI contient le fichier :
/etc/glpi/glpicrypt.key
ajouter le paramètre suivant :
--crypt-key $(base64 -w 0 /etc/glpi/glpicrypt.key)
Exemple :
./change_itsm_parameters.py \
--url https://glpi.mon-domaine.fr/ \
--db-host 10.10.0.101 \
--db-name GLPI \
--db-user medulla_glpi \
--db-pass motdepasse \
--api-url https://glpi.mon-domaine.fr/apirest.php/ \
--api-user medulla_api \
--api-pass motdepasse \
--crypt-key $(base64 -w 0 /etc/glpi/glpicrypt.key)
6. Vérifier la connexion et les droits GLPI
Une fois la configuration terminée, il est recommandé de contrôler que Medulla peut correctement communiquer avec GLPI et que les droits nécessaires sont disponibles.
Un script de diagnostic est disponible afin de tester automatiquement les principaux éléments de l'intégration :
check_itsm_access.sh
Le script utilise directement la configuration GLPI enregistrée sur le serveur Medulla.
Il n'est donc pas nécessaire de saisir à nouveau les identifiants SQL ou les informations d'authentification GLPI.
Télécharger le script
wget https://dl.medulla-tech.io/nc/check_itsm_access.sh
Rendre ensuite le script exécutable :
chmod +x check_itsm_access.sh
Exécuter le diagnostic
./check_itsm_access.sh
Le script contrôle notamment :
- la connexion à la base de données MySQL/MariaDB de GLPI ;
- l'accès aux tables GLPI nécessaires à Medulla ;
- la présence et l'accessibilité des vues SQL utilisées par Medulla ;
- les droits SQL nécessaires ;
- l'accessibilité de l'API GLPI ;
- l'authentification avec les identifiants GLPI ;
- l'authentification avec les
user_tokenetapp_token.
Lorsque tous les contrôles sont validés, le script retourne :
==========================================
All checks passed!
==========================================
Si une ou plusieurs vérifications échouent, le script indique les contrôles concernés afin de faciliter le diagnostic.
==========================================
Some checks failed!
==========================================
En cas d'erreur :
corrigez les éléments signalés puis relancez le script. Si le problème persiste, transmettez la sortie complète du script au support Medulla en vérifiant qu'aucun mot de passe, jeton ou autre secret d'authentification n'est présent.
La procédure complète de diagnostic et l'interprétation des différents résultats sont disponibles dans la FAQ suivante :
Vérifier les accès et les droits entre Medulla et GLPI
7. Vérifications recommandées
Avant et après l’exécution du script de configuration, vérifier :
- La connectivité SQL vers GLPI
- L’accessibilité de l’API REST GLPI
- Les droits du compte SQL Medulla
- Les permissions de l’utilisateur API GLPI
Attention :
Une erreur réseau ou un problème d’authentification empêchera Medulla de finaliser correctement sa configuration ITSM.
8. Valeurs par défaut
| Élément | Valeur |
|---|---|
| Port SQL GLPI | 3306 |
| Client API recommandé | MMC |
| API GLPI | /apirest.php/ |
| Mode lecture seule | false |
| Transfert d’inventaire | true |
| Plugin inventaire | glpiinventory |
| Agent inventaire | glpiagent |
| Version GLPI supportée | 10 / 11 |
Documentation complémentaire
Préparation des accès GLPI pour Medulla :
GLPI et Medulla – Création des accès utilisateurs
Diagnostic de la connexion Medulla / GLPI :
Vérifier les accès et les droits entre Medulla et GLPI
Script de diagnostic :