Installation de GLPI
Dans ce tuto, nous allons voir comment démarrer notre instance privé de GLPI. Tout ce fera sur une machine Debian 12 Voir premier démarrage.
Pré-requis du serveur
Nous allons lui donner en caractéristiques de ressources :
- 2 vCPU
- 4Go vRAM
- 64 Go de stockage
Une fois que votre machine Debian a fait son premier démarrage, nous allons pouvoir préparer le serveur avant l'installation
Préparation du serveur
Préparation du serveur
Dans un premier temps, nous allons changer le nom du serveur pour qu'il soit identifiable par un humain sur le réseau
sudo hostnamectl set-hostname glpi-server.lab.local
Et ensuite nous allons mettre nos paquets et notre machine à jour. Cette étape est toujours une bonne pratique même si la machine vient de démarrer
sudo apt update && sudo apt upgrade -y
Installation du serveur LAMP
Pour fonctionner GLPI a besoin d'un serveur LAMP pour démarrer. Pour plus d'information sur comment créer un serveur LAMP, c'est ici.
Installation de GLPI
Préparation de la base de donnée
Maintenant que le serveur LAMP est bien installé, nous allons installé le service GLPI sur notre serveur.
- La première étape est de créer la base de donnée. On se connecte avec le compte root
sudo mysql -u root -p
puis on rentre les commandes suivantes :
CREATE DATABASE glpi_database;
GRANT ALL PRIVILEGES ON glpi_database.* TO <ADMIN_DB>@localhost IDENTIFIED BY <MOT_DE_PASSE>;
FLUSH PRIVILEGES;
EXIT;
- Ensuite, nous allons rajouté tous les paquets php qui nous seront utiles
sudo apt-get install php-ldap php-xml php-common php-json php-mysql php-mbstring php-curl php-gd php-intl php-zip php-bz2 php-imap php-apcu
Récupération du code GLPI
- Maintenant, faisons un petit détour sur les release de GLPI ? cela nous permettre de récupérer la dernière version. On peut voir la dernière version ici https://github.com/glpi-project/glpi dans la partie release de la page d'accueil.
actuellement nous sommes donc en version 10.0.17 (a date du 6 décembre 2024)
Nous allons donc nous créer une variable pour eviter les erreurs de commandes :
# Remplacer la version par la votre
version=10.0.17
- Il nous faut maintenant récupérer les fichiers de conf que nous allons mettre dans le dossier
/tmp
wget https://github.com/glpi-project/glpi/releases/download/${version}/glpi-${version}.tgz -P /tmp
- Nous allons ensuite extraire les fichier et les mettre dans le dossier
/var/wwwpour que notre service apache2 puisse les utiliser
tar -xzvf /tmp/glpi-${version}.tgz -C /var/www
- Puis donner les droits au compte système www-data sur ce dossier
sudo chown -R www-data:www-data /var/www/glpi
Sécurisation et configuration de glpi
Notre site web démarre, mais nous allons déplacer nos fichier de configuration et nos librairies pour qu'elle ne soit pas exposé sur internet et donc être trop facilement modifiable
# Création des répertoires
sudo mkdir -p /etc/glpi /var/lib/glpi
# Gestions des droits
sudo chown -R www-data:www-data /etc/glpi
sudo chown -R www-data:www-data /var/lib/glpi
# Déplacement des fichiers
sudo mv /var/www/glpi/config /etc/glpi
sudo mv /var/www/glpi/files /var/lib/glpi
Cependant avec ces changements, nous devont préciser où sont nos nouveaux fichier. Nous allons les modifier de la manière suivantes :
-
/var/www/glpi/inc/downstream.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';
}
-
/etc/glpi/local_define.php
<?php
define('GLPI_VAR_DIR', '/var/lib/glpi/files');
define('GLPI_LOG_DIR', '/var/log/glpi');
Configuration d'apache2
Maintenant que notre GLPI est installé, il faut le rendre accessible depuis un navigateur web. C'est là où nous allons créer notre virtualHost pour apache2.
`- /etc/apache2/sites-available/glpi.conf
<VirtualHost *:80>
ServerName glpi.lab.local
DocumentRoot /var/www/glpi/public
<Directory /var/www/glpi/public>
Require all granted
RewriteEngine On
# Redirect all requests to GLPI router, unless file exists.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</Directory>
</VirtualHost>
Il nous faut activer le module de réécriture pour que le fichier puisse fonctionner
sudo a2 rewrite
Il ne nous reste plus qu'à activer notre VirtualHost et désactiver celui par défaut car sinon nous auront un problème avec deux services qui écoute sur le même port
sudo a2ensite glpi.conf
sudo a2dissite 000-default.conf
Configuration de php
Pour gagner en performance sur notre application, nous installé un module php en plus :
sudo apt-get install php8.2-fpm
Avec ce changement nous allons activer 2 modules en plus :
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.2-fpm
sudo systemctl reload apache2
nous allons autoriser les cookies des sessions dans le fichier /etc/php/8.2/fpm/php.ini
session.cookie_httponly = on
Puis redémarrer le service
sudo systemctl restart php8.2-fpm.service
Il faut également, préciser dans notre fichier de configuration d'apache d'utiliser ce maoteur php :
<VirtualHost *:80>
ServerName glpi.lab.local
DocumentRoot /var/www/glpi/public
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost/"
</FilesMatch>
<Directory /var/www/glpi/public>
Require all granted
RewriteEngine On
# Redirect all requests to GLPI router, unless file exists.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</Directory>
</VirtualHost>
Configuration de GLPI via le web
en nous connectant à l'interface web de notre service GLPI, il nous reste quelque configuration à faire :
- Indiquer la langue de GLPI
- Accepter la licence GNU
- Cliquez sur le bouton installé et vérifié que tous les paquets sont bien installé
- Configurer la base de donnée avec nos informations
- loccalhost
- <ADMIN_DB>
- <MOT_DE_PASSE>
- glpi_database
Gestion des identifiants
Une fois tout cela fait, il faut se connecter à l'interface d'administration avec les identifiants suivants : glpi/glpi pour être admin de glpi.
Il faut ensuite se créer un compte qui aura autant de droit que le compte glpi qui nous servira d'administration.
Une fois le compte créer, on se déconnecte du compte glpi et on se connecte avec notre nouveau compte d'administration puis on désactive tous les utilisateur par défaut pour des raisons de sécurités, c'est à dire :
- glpi
- tech
- normal
- post-only
Dernier changement
En vous reconnectant en ssh il faut que vous supprimiez le fichier /var/www/glpi/install/install.php pour éviter que si le serveur redémarre pour une raison, qu'il refasse toute l'installation graphique et que vous perdiez ce qui a été fait.
Votre glpi est désormais installé

No Comments