Installation d’un gestionnaire de parc GLPI
Installation de GLPI sur Debian 13 (Apache, PHP, MariaDB), sécurisation de l’instance et premiers réglages pour l’inventaire et le suivi des demandes.
Installation de GLPI sur une Debian 13 fraîche, sécurisation de l’instance et premiers réglages pour l’inventaire du parc et le suivi des demandes.
1. Objectif
Disposer d’un gestionnaire de parc et de centre de services : inventaire du matériel et des logiciels, suivi des tickets, gestion des utilisateurs et des profils. GLPI s’installe sur une pile LAMP ; son dossier web public est séparé des fichiers applicatifs pour limiter l’exposition.
2. Prérequis
- Une VM ou un conteneur Debian 13 à jour, avec une adresse IP fixe et un nom DNS (exemple :
glpi.lab.lan). - Un accès root ou sudo en SSH.
- 2 vCPU, 2 Go de RAM et 20 Go de disque au minimum.
- La version stable de GLPI repérée sur la page des releases du projet (github.com/glpi-project/glpi).
3. Installation
3.1 Pile LAMP
apt update && apt full-upgrade -y
apt install -y apache2 mariadb-server php php-{mysql,xml,curl,gd,intl,ldap,mbstring,zip,bz2,bcmath,apcu} libapache2-mod-php
systemctl enable --now apache2 mariadb
3.2 Base de données
mysql_secure_installation
mysql -u root -p
CREATE DATABASE glpi CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'glpi'@'localhost' IDENTIFIED BY '<mot_de_passe>';
GRANT ALL PRIVILEGES ON glpi.* TO 'glpi'@'localhost';
GRANT SELECT ON mysql.time_zone_name TO 'glpi'@'localhost';
FLUSH PRIVILEGES;
Charger les fuseaux horaires dans MariaDB (utile aux dates des tickets) :
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
3.3 Fichiers de GLPI
cd /tmp
wget https://github.com/glpi-project/glpi/releases/download/<version>/glpi-<version>.tgz
tar -xzf glpi-<version>.tgz -C /var/www/
chown -R www-data:www-data /var/www/glpi
3.4 Hôte virtuel Apache
Seul le dossier public est exposé. Fichier /etc/apache2/sites-available/glpi.conf :
<VirtualHost *:80>
ServerName glpi.lab.lan
DocumentRoot /var/www/glpi/public
<Directory /var/www/glpi/public>
Require all granted
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.+)$
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</Directory>
</VirtualHost>
a2enmod rewrite
a2dissite 000-default
a2ensite glpi
systemctl reload apache2
Dans le php.ini d’Apache, activer session.cookie_httponly = On, puis redémarrer Apache.
3.5 Assistant d’installation
- Ouvrir l’assistant
Se rendre sur
http://glpi.lab.lan, choisir la langue et accepter la licence. - Vérifier les prérequis
Tous les contrôles obligatoires doivent être verts ; installer les extensions PHP manquantes le cas échéant.
- Connexion à la base
Serveur
localhost, utilisateurglpi, puis sélection de la baseglpi. - Finaliser
Laisser l’assistant initialiser la base, puis se connecter.
4. Sécurisation
- Changer immédiatement les mots de passe des comptes par défaut
glpi,tech,normaletpost-only, ou les désactiver. - Supprimer le fichier
install/install.phpune fois l’installation terminée. - Passer le site en HTTPS (certificat de l’autorité interne ou Let’s Encrypt).
- Créer des comptes nominatifs avec le profil adapté (Technicien, Admin) plutôt que de partager le compte super-admin.
5. Premiers réglages
- Inventaire : Administration → Inventaire → activer l’inventaire natif pour recevoir les remontées de l’agent GLPI.
- Entités : créer une entité par site ou par service si nécessaire.
- Assistance : définir les catégories de tickets et les SLA.
- Notifications : configurer l’envoi d’e-mails (Configuration → Notifications).
6. Vérifications
| Contrôle | Critère attendu |
|---|---|
| Accès web | La page de connexion s’affiche sur l’URL prévue |
| Comptes par défaut | Plus d’avertissement de sécurité sur le tableau de bord |
| Inventaire | Un poste équipé de l’agent apparaît dans Parc → Ordinateurs |
| Ticket | Un ticket de test peut être créé, attribué et résolu |
Suite logique : déploiement de l’agent GLPI sur les postes.