Skip to main content

GLPI - Connecter un GLPI externe

S'applique à : Medulla / GLPI
Version de Medulla : Toutes
Version de GLPI : 10.0.x10 / 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-Only ou Super-Admin
  • Création du client API MMC
  • Génération des jetons user_token et app_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 :

change_itsm_parameters.py

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_token et app_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 d’exécuteret leaprès script,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.0.x10 / 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 :

     https://dl.medulla-tech.io/nc/check_itsm_access.sh