#type/kb #theme/IT/tools/glpi #theme/IT/LNX/Debian *Date de dernière mise à jour : 24/04/2026* # Installer GLPI 11.0.x sous Debian 13 Ce tutoriel est une procédure simplifiée d’installation d’un serveur **GLPI 11.0.x** sous **Debian 13**. Si vous souhaitez utiliser une solution plus légère et consultez la procédure [[tuto-glpi-docker-install|Installer GLPI avec Docker Compose]]. GLPI *(Gestionnaire Libre de Parc Informatique)* est un outil ITSM (IT Service Management) . Cette solution logicielle permet d’**assurer la gestion d’un système d’information** *(SI)* et l’**assistance aux utilisateurs** de façon centralisée. Le [GLPI-Project](https://glpi-project.org/fr/) est aujourd’hui géré par **Teclib** mais reste sous **licence GPL**. > [!info] À savoir !<span style="font-weight: normal; color: var(--text-normal)"> GLPI respecte les recommandations **ITIL** (bonnes pratiques de management des SI).</span> ## Environnement de démonstration Pour réaliser ce tutoriel, nous utiliserons une VM : - **OS** : Debian 13 (installation minimaliste) - **RAM** : 2 Go (1 Go minimum) - **CPU** : 2 vCPU (1 vCPU minimum) - **Disque** : 20 Go en provisionnement dynamique (10 Go minimum). > [!info] À savoir !<span style="font-weight: normal; color: var(--text-normal)"> Il est possible d'installer GLPI sur Linux, Mac et Windows.</span> # Installation des prérequis GLPI 11.0.x et ultérieur L'ensemble des prérequis GLPI sont disponibles directement sur la [documentation officielle](https://glpi-install.readthedocs.io/en/latest/prerequisites.html). - **Un serveur Web** : apache2 (ou ultérieur), Nginx, lighttpd ou Microsoft IIS - **PHP** version 8.2 minimum + listes des extensions obligatoires (listées dans cette procédure). - **Une base de données** : MariaDB 10.6 ou MySQL 8.0 minimum. ## Installer le socle LAMP Pour une installation plus détaillée de LAMP, vous pouvez consulter la procédure annexe : [[tuto-lamp-apache2-lab|Déployer un LAMP de démonstration]]. Mettre à jour le système et installer les paquets : ```bash sudo apt update && sudo apt install apache2 php mariadb-server -y ``` ## Installer les extensions PHP requises La liste des extensions PHP obligatoires est disponible dans la [documentation officelle](https://glpi-install.readthedocs.io/en/latest/prerequisites.html#mandatory-extensions). Exécutez la commande suivante pour les installer : ```bash sudo apt install php-common php-xml php-curl php-gd php-intl php-mysql php-bcmath php-mbstring -y ``` > [!info] À savoir ! <span style="font-weight: normal; color: var(--text-normal)">Les extensions php-common et php-xml contiennent à elles seules une quainzaine d'extentions obligatoires et recommandées.</span> Pour installer les extensions additionnelles recommandées : ```bash sudo apt install php-bz2 php-zip php-ldap php-exif php-opcache -y ``` Si besoin, pour vérifier la présence d'une extension PHP spécifique, par exemple `sodium`, utilisez la commande : ```bash php -i | grep -i sodium ``` ![[_asset-tuto-glpi-11-install-debian-13.png]] ## Préparer une base de données dédiée pour GLPI ### Sécurisation minmale MariaDB Appliquez les configurations minimales de sécurisation de MariaDB : ```bash sudo sudo mysql_secure_installation ``` Le script vous demande le mot de passe `root` de MariaDB, pressez `[Enter]` car le mot de passe est vide à ce stade. Lorsque le message suivant s’affiche, presser la touche `n` (pour no) : ```bash Switch to unix_socket authentication [Y/n] n ``` Pour toutes les questions suivantes, acceptez toutes les modifications proposées par le script et pressez la touche `[Y]`, puis `[Enter]` afin d’appliquer les configurations : - Changer le mot de passe root de MariaDB. - Supprimer les comptes anonymes. - Désactiver l'accès root à distance. - Supprimer les bases de données de tests. - Rechercher les privilèges des utilisateurs MariaDB. Vous devriez obtenir le message final suivant ``` All done!  If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB! ``` Pour préparer la base GLPI dans MariaDB, se connecter à l’instance avec la commande : ```bash sudo mariadb -u root -p ``` > [!danger] Attention !<span style="font-weight: normal; color: var(--text-normal)"> Le compte root de l’instance MariaDB n’est pas le même compte root que celui utiliser pour ouvrir une session sur l’OS.</span> Créer la base de données `glpidb`, et l’utilisateur `glpidb_admin` avec le mot de passe `my_password` qui disposera de tous les droits sur cette base (et uniquement celle-ci) à condition de se connecter localement. ```sql CREATE DATABASE glpidb; GRANT ALL PRIVILEGES ON glpidb.* TO glpidb_admin@localhost IDENTIFIED BY "my_password"; FLUSH PRIVILEGES; ``` Vérifiez que l'ensemble des commandes se sont exécutées sans erreurs puis saisir l'instruction suivante pour quitter l'instance MariaDB : ```sql exit; ``` Pour confirmer le bon fonctionnement de la nouvelle base et de l'utilisateur créé, connectez-vous à l’instance avec le nouveau compte `glpidb_admin` et son mot de passe : ```bash sudo mariadb -u glpidb_admin -p ``` Une fois authentifié, vous pouvez constater la présence de la base de donnée `glpidb` à l'aide de la commande : ```sql show databases; ``` Voici le résultat de la commande sur ma machine de démonstration : ![[_asset-tuto-glpi-11-install-debian-13-14.png]] # Installer GLPI 11.0.x > [!info] À savoir ! <span style="font-weight: normal; color: var(--text-normal)">Une nouvelle version majeure est disponible tous les ans au mois d'octobre. Consultez la page [GLPI releases lifecycle](https://glpi-network.github.io/lifecycle/) pour en savoir plus.</span> ## Télécharger l'archive officielle La prochaine étape consiste à télécharger l'archive `.tgz` qui contient les sources d'installation de GLPI : - Connectez-vous au dépôt [GitHub de GLPI](https://github.com/glpi-project/glpi) - Rendez-vous dans le menu [Releases](https://github.com/glpi-project/glpi/releases) - Vérifiez le numéro de la dernière version 11.0.x disponible (exemple : `11.0.6`). Installez `wget` (outil qui permet le téléchargement de fichier à partir d’une url). ```bash sudo apt update && sudo apt install wget -y ``` Déplacez-vous dans le dossier `/tmp` et téléchargez l'archive compressée de GLPI 11 : ```bash cd /tmp wget https://github.com/glpi-project/glpi/releases/download/11.0.6/glpi-11.0.6.tgz ``` Décompressez l'archive `.tgz` dans le répertoire du site par défaut d’apache `/var/www/`, ce qui donnera le chemin d'accès `/var/www/glpi` pour GLPI. ```bash sudo tar -xzvf glpi-11.0.6.tgz -C /var/www ``` Définissez l'utilisateur `www-data` (correspond au service Apache2), en tant qu'utilisateur propriétaire des fichiers GLPI. ```bash sudo chown www-data:www-data /var/www/glpi -R ``` L'instance GLPI installée dans `/var/www/glpi`, mais il n'y a pas encore de site disponible dans Apache2. ## Sécuriser les fichiers sensibles de GLPI GLPI peut être installé en copiant simplement le répertoire entier sur n'importe quel serveur web. Cependant, les fichiers sensibles ne doivent pas être exposés publiquement. Il existe quelques directives de configuration que vous pouvez utiliser pour parvenir à déplacer ces dossiers sensibles : - `GLPI_CONFIG_DIR`: chemin d'accès au répertoire de configuration ; - `GLPI_VAR_DIR` : chemin vers le répertoire `files` ; - `GLPI_LOG_DIR`: chemin d'accès aux logs GLPI ; -  `GLPI_MARKETPLACE_DIR` : emplacement des fichiers de plugins. > [!info] À savoir ! <span style="font-weight: normal; color: var(--text-normal)">Il existe de nombreuses autres directives de configuration pour déplacer tous les fichiers stockés en dehors du code source GLPI dans la [documentation officielle](https://glpi-install.readthedocs.io/en/latest/prerequisites.html.).</span> > [!danger] Attention ! <span style="font-weight: normal; color: var(--text-normal)">Pour [[kb-glpi-backup|sauvegarder GLPI]], il faudra prendre en compte ces directives et les nouveaux dossiers.</span> ### Déplacer le répertoire de configuration GLPI Le répertoire `/etc/glpi` va recevoir les fichiers de configuration de GLPI. Nous allons le créer et définir `www-data` en tant qu'utilisateur propriétaire : ```bash sudo mkdir /etc/glpi && \ sudo chown www-data:www-data /etc/glpi/ ``` Puis, nous allons déplacer le contenu du répertoire `config` de GLPI vers ce nouveau dossier : ```bash sudo mv /var/www/glpi/config /etc/glpi ``` ### Déplacer le répertoire des fichiers GLPI Le dossier `files` contient la majorité des fichiers de GLPI : CSS, plugins, etc. Nous allons le déplacer dans `/var/lib/glpi` : ```bash sudo mkdir /var/lib/glpi && \ sudo chown www-data:www-data /var/lib/glpi/ && \ sudo mv /var/www/glpi/files /var/lib/glpi ``` ### Déplacer le répertoire des logs GLPI Pour finir dépalcez le dossier des journaux GLPI : ```bash sudo mkdir /var/log/glpi && \ sudo chown www-data:www-data /var/log/glpi ``` Nous n'avons rien à déplacer dans ce répertoire. ### Déplacer le répertoire des plugins GLPI Depuis la version GLPI 11.0.0, l'emplacement des fichiers des plugins peut être configuré à l'aide de la directive `GLPI_MARKETPLACE_DIR`. Déplacez le dossier `plugins` dans ``/var/lib/glpi/plugins`` : ```bash sudo mv /var/www/glpi/plugins /var/lib/glpi/plugins && \ sudo chown -R www-data:www-data /var/lib/glpi/plugins ``` Vérifiez le contenu du dossier `marketplace` : ```bash sudo ls -la /var/www/glpi/marketplace ``` Si le dossier `marketplace` est vide, supprimez le : ```bash sudo rm -r /var/www/glpi/marketplace ``` Sinon, déplacez le contenu du répertoire `marketplace` dans `/var/lib/glpi/plugins` puis supprimez-le : ```bash sudo mv /var/www/glpi/marketplace/* /var/lib/glpi/plugins && \ sudo rm -r /var/www/glpi/marketplace && \ sudo chown -R www-data:www-data /var/lib/glpi/plugins ``` ### Configurer les directives GLPI Pour activer la nouvelle configuration, créez le fichier `downstream.php` : ```bash sudo nano /var/www/glpi/inc/downstream.php ``` Ajoutez le contenu ci-dessous qui indique le chemin vers les nouveaux répertoires de configuration `/etc/glpi` et vers le fichier des directives personnalisées `local_define.php` : ```php <?php define('GLPI_CONFIG_DIR', '/etc/glpi/'); if (file_exists(GLPI_CONFIG_DIR . '/local_define.php')) { require_once GLPI_CONFIG_DIR . '/local_define.php'; } ``` Créez le nouveau fichier `local_define.php` : ```bash sudo nano /etc/glpi/local_define.php ``` Ajoutez le contenu ci-dessous afin de déclarer les deux variables qui contiennent les chemins d'accès à `files` et `log` : ```php <?php define('GLPI_VAR_DIR', '/var/lib/glpi/files'); define('GLPI_LOG_DIR', '/var/log/glpi'); define('GLPI_MARKETPLACE_DIR', '/var/lib/glpi/plugins'); ``` ## Préparer la configuration Apache2 Passons à la configuration du serveur web Apache2. Tous les détails de cette configuration sont issus de la [documentation officielle](https://glpi-install.readthedocs.io/en/latest/prerequisites.html). ### Configuration minimale d'Apache2 Pour désactiver le site par défaut d'apache utiliser la commande : ```bash sudo a2dissite 000-default.conf ``` Créez un nouveau `VirtualHost` en écoutes sur le port HTTP `80` dans `/etc/apache2/sites-available` avec le fichier `glpi.conf` : ```bash sudo nano /etc/apache2/sites-available/glpi.conf ``` Collez la configuration suivante basée le modèle officiel de la documentation GLPI et enregistrez les modifications : ``` <VirtualHost *:80> ServerName glpi DocumentRoot /var/www/glpi/public # If you want to place GLPI in a subfolder of your site (e.g. your virtual host is serving multiple applications), # you can use an Alias directive. If you do this, the DocumentRoot directive MUST NOT target the GLPI directory itself. # DocumentRoot /var/www/html # Alias "/glpi" "/var/www/glpi/public" <Directory /var/www/glpi/public> Require all granted RewriteEngine On # Ensure authorization headers are passed to PHP. # Some Apache configurations may filter them and break usage of API, CalDAV, ... RewriteCond %{HTTP:Authorization} ^(.+)$ RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect all requests to GLPI router, unless file exists. RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,L] </Directory> </VirtualHost> ``` Activez ce nouveau site dans la configuration Apache2 : ```bash sudo a2ensite glpi.conf ``` Activez le module Apache2 dédié aux règles de réécriture des url utilisé par `glpi.conf` : ```bash sudo a2enmod rewrite && \ sudo service apache2 restart ``` ### Renforcer la sécurité relative aux cookies Pour améliorer la sécurité, il est recommandé de configurer les sessions PHP avec les paramètres spécifiques. Éditez le fichier `php.ini` : ```bash sudo nano /etc/php/8.4/apache2/php.ini ``` Réglez les options suivantes : - `session.cookie_httponly` sur `1` pour empêcher les scripts côté client d’accéder aux valeurs cette directive. - `session.cookie_samesite`, à minima, sur `Lax` pour empêcher les cookies d'origine croisée d'envoyer des requêtes `POST`. > [!warning] Remarque ! <span style="font-weight: normal; color: var(--text-normal)">Pour les sites GLPI accessible uniquement en **HTTPS**, l'option `session.cookie_secure` devrait aussi être activée.</span> Ci-dessous le résultat visible dans `php.ini` : ![[_asset-tuto-glpi-11-install-debian-13-11.png]] Enregistrez les modifications et redémarrez le service Apache2 : ```bash sudo service apache2 restart ``` > [!info] À savoir !<span style="font-weight: normal; color: var(--text-normal)"> Par la suite, vous pourriez être amené à effectuer d'autres modifications, notamment pour augmenter la taille des uploads sur GLPI, etc.</span> # Configuration initiale de GLPI Pour commencer le processus d'installation, depuis un client connecté au même réseau local, se conntecter sur http://{adresse_glpi}/. Le processus d'installation commence cliquez sur le bouton `[Aller à la page d'nistallation]` : ![[_asset-tuto-glpi-11-install-debian-13-1.png]] Choisissez la langue d'installation et cliquez sur `[OK >]` ![[_asset-tuto-glpi-11-install-debian-13-2.png]] Lire le contrat de licence GNU GPL v3 puis cliquer sur le bouton `[Continuer >]` ![[_asset-tuto-glpi-11-install-debian-13-3.png]] Puisqu'il s'agit d'une nouvelle installation, nous cliquons sur `[Installer >]` ![[_asset-tuto-glpi-11-install-debian-13-4.png]] GLPI vérifie la configuration de notre serveur pour déterminer si tous les prérequis sont respectés, cliquez sur le bouton `[Continuer >]`. > [!info] À savoir !<span style="font-weight: normal; color: var(--text-normal)"> Si une extension requise n'est pas validée, c’est certainement qu’il vous manque une dépendance php. Le plus souvent, ce problème se règle en tapant le nom de l’extension précédé par “php-”. Par exemple s’il manque **intl**, installer le paquet php-intl avec l’outil de gestion de paquet Debian (apt).</span> ![[_asset-tuto-glpi-11-install-debian-13-5.png]] À l'étape suivante, nous devons renseigner les informations pour se connecter à la base de données - Serveur SQL : `localhost` (MariaDB est installé en local sur le serveur GLPI). - Utilisateur : `glpidb_admin` - Mot de passe : `my_password` ![[_asset-tuto-glpi-11-install-debian-13-6.png]] Une fois la connexion au serveur de base de données validée, choisissez d'utiliser la base de données existante `glpidb` et cliquer sur le bouton `[Continuer >]` : > [!danger] Attention ! <span style="font-weight: normal; color: var(--text-normal)">Le contenu sélectionné de la base de données sera détruit lors de l'installation.</span> ![[_asset-tuto-glpi-11-install-debian-13-7.png]] Patientez pendant l'initialisation de la base de données et cliquez sur `[Continuer >]` quand l'installation est terminée : ![[_asset-tuto-glpi-11-install-debian-13-8.png]] Décochez la case “Envoyer les statistiques d’usage” (instance de démonstration) et cliquez sur `[Continuer >]` ![[_asset-tuto-glpi-11-install-debian-13-9.png]] Suivez les dernières étapes qui n'ont pas d'impact particulier : ![[_asset-tuto-glpi-11-install-debian-13-10.png]] Notez les logins et mots de passe par défaut puis cliquez sur le bouton "Utiliser GLPI" : - `glpi`/`glpi` pour le compte super-administrateur - `tech`/`tech` pour le compte technicien - `normal`/`normal` pour le compte utilisateur standard - `post-only`/`postonly` pour le compte du même nom ![[_asset-tuto-glpi-11-install-debian-13-12.png]]La mire de connexion s'affiche, utilisez : - L'identifiant `glpi` - Le mot de passe `glpi` - La source d'authentification `Base interne GLPI` : ![[_asset-tuto-glpi-11-install-debian-13-13.png]] Bienvenue sur votre nouveau serveur GLPI ! ![[_asset-tuto-glpi-11-install-debian-13-15.png]] Même si l'installation est terminée, nous avons encore quelques actions à réaliser pour la finaliser : - Changer le mot de passe de tous les comptes par défaut (cliquez sur les liens situés dans l'encadré orange) - Désactiver les donner de visualisation en cliquant sur le bouton bleu prévu à cet effet - Supprimer le fichier "install.php" puisqu'il n'est plus nécessaire et représente un risque (relancer l'installation) ``` sudo rm /var/www/glpi/install/install.php ``` # Conclusion > [!done] Félicitations ! <span style="font-weight: normal; color: var(--text-normal)"> L'installation de GLPI est terminée et elle respecte les bonnes pratiques minimales de sécurité préconisées par l'éditeur.</span> Désormais, votre instance GLPI de démonstration est prête à être utilisée et configurée. Pour afficher l'ensemble des article disponibles sur ce site cliquez sur #theme/IT/tools/glpi ### Références - **Techlib** : [Documentation officielle d'installation GLPI](https://glpi-install.readthedocs.io/) - **IT-CONNECT** : [Installation pas à pas de GLPI 10 sur Debian 12](https://www.it-connect.fr/installation-pas-a-pas-de-glpi-10-sur-debian-12) ### Pour aller plus loin Pour aller plus loin, vous pourriez être intéressé par certain article complémentaires IT-CONNECT : - [Comment mettre à jour GLPI ?](https://www.it-connect.fr/tuto-mettre-a-jour-glpi/ "Comment mettre à jour GLPI ?") - [Comment installer un certificat HTTPS sur un serveur GLPI ?](https://www.it-connect.fr/glpi-en-https-comment-ajouter-un-certificat-ssl/) - [Comment déployer l'agent GLPI sur Windows par GPO ?](https://www.it-connect.fr/tuto-installer-configurer-gpo-agent-glpi-windows/ "GLPI 10 : comment déployer l’agent GLPI sur les machines Windows à l’aide d’une GPO ?") - [Comment synchroniser GLPI avec l'Active Directory ?](https://www.it-connect.fr/tuto-glpi-configurer-authentification-active-directory/ "GLPI : comment configurer l’authentification LDAP via l’Active Directory ?")