Skip to main content

GLPI - Connecter un GLPI externe

S'applique à: Medulla/GLPI
Version de Medulla: toutes
Version de GLPI: 10.0.x
Environnement: On-Premise
Categorie: Medulla

Prérequis

Avant de configurer l’intégration entre Medulla et GLPI, assurez-vous que les éléments suivants sont disponibles et correctement configurés.

1. Accès base de données GLPI

Créer un utilisateur MySQL/MariaDB dédié pour Medulla avec les permissions suivantes :

- Lecture seule (`READ ONLY`) ou lecture/écriture selon les besoins
- Accès à l’ensemble de la base de données GLPI

2. Connectivité réseau

Autoriser la communication entre le serveur Medulla et le serveur de base de données GLPI :

- Port `3306` ouvert (ou port personnalisé selon votre configuration)

3. Création d’un utilisateur API GLPI

Créer un utilisateur GLPI dédié aux appels API nommé comme vous le souhaitez :

Sur GLPI dans `Administration > Utilisateurs`

- Type : utilisateur standard (nom d'utilisateur / mot de passe)
- Profil recommandé :
  - `Read-Only` ou `Super-Admin`
- Affectation :
  - Entité racine
  - Mode récursif activé

Générer ensuite un jeton API utilisateur (`user_token`)

4. Création d’un client API GLPI

Créer un client API nommé `MMC`.

Sur GLPI dans `Configuration > Générale > API`

Générer ensuite le jeton d’application (`app_token`)

5. Importer des vues SQL sur votre base de donnée GLPI

Dans votre base de donnée GLPI vous devez importez le fichier téléchargé ici :

https://dl.medulla-tech.io/nc/glpi-100.sql

---

Utilisation du script

Commande d’aide

./change_itsm_parameters.py --help

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]

Update ITSM parameters

options:
  -h, --help            show this help message and exit
  --url URL             ITSM provider URL
  --db-host DB_HOST     ITSM provider database host
  --db-port DB_PORT     ITSM provider database port
  --db-name DB_NAME     ITSM provider database name
  --db-user DB_USER     ITSM provider database user
  --db-pass DB_PASS     ITSM provider database password
  --api-url API_URL     ITSM provider API URL
  --api-user API_USER   ITSM provider API user
  --api-pass API_PASS   ITSM provider API password
  --readonly READONLY   Whether ITSM provider database is read-only for Medulla (optional)
  --crypt-key CRYPT_KEY
                        Decoded GLPI crypt key file - base64 /etc/glpi/glpicrypt.key (optional)
  --inv-forward INV_FORWARD
                        Whether to forward inventory data to ITSM provider (optional)
  --inv-forward-url INV_FORWARD_URL
                        URL to forward inventory data to (optional)
  --inv-plugin INV_PLUGIN
                        Inventory plugin to use - glpiinventory or fusioninventory(optional)
  --inv-agent INV_AGENT
                        Inventory agent to use on client machine - glpiagent or fusioninventory (optional, required if --inv-forward is true)
  --inv-agent-disabled INV_AGENT_DISABLED
                        Whether to include inventory agent in Medulla agent (optional)

Exemples d'utilisation :

./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 \