Prérequis

Installer PHP

Nous allons installer PHP et les dépendances avec les commandes:

dnf install php -y
dnf install install php-xml php-common php-json php-mysql php-mbstring php-curl php-gd php-intl php-zip php-bz2 php-imap php-apcu -y

Il faut également installer l’extension LLDAP de PHP avec la commande:

dnf install php-ldap -y

Installer HTTPD

Sur Rocky Linux, apache s’appelle httpd donc in utilise la commande:

dnf install httpd -y

Installer MariaDB

dnf install mariadb-server -y

Configuration

Configuration de MariaDB

Sur Mariadb, il y a une commande pour sécuriser mariadb, c’est la commande:

mysql_secure_installation

Sécurisation de MariaDB

QuestionRéponse
Switch to unix_socket authenticationNo
Change root password?Yes
Remove anonymous users?Yes
Disallow root login remotely?Yes
Remove test database and acces to it?Yes
Reload privilege tables now?Yes

Ensuite il faut se connecter à MariaDB avec la commande:

mysql -u root -p

Et nous créons une base de donnée et un utilisateur avec les privilèges admin avec les commandes:

CREATE DATABASE dbglpi;
GRANT ALL PRIVILEGES ON dbglpi.* TO glpi@localhost IDENTIFIED BY "MotDePasse";
FLUSH PRIVILEGES;

Télécharger et installer GLPI

On télécharge ensuite l’archive de GLPI dans le répertoire tmp

cd /tmp
wget https://github.com/glpi-project/glpi/releases/download/10.0.18/glpi-10.0.18.tgz

On décompresse ensuite l’archive avec la commande:

tar -xzvf glpi-10.0.18.tgz -C /var/www/

Sécuriser GLPI

Pour faire une installation sécurisée de GLPI, il faut suivre des recommandations de l’editeur

Nous allons commencer par créer un répertoire GLPI pour y mettre le fichier de configuration de GLPI avec les commandes:

mkdir /etc/glpi
mv /var/www/glpi/config /etc/glpi
chown apache:apache /etc/glpi/

Nous devons également déplacer le fichier filesavec les commandes:

mkdir /var/lib/glpi
mv /var/www/glpi/files /var/lib/glpi
chown apache:apache /var/lib/glpi

Nous devons également créer un fichier log avec les commandes:

mkdir /var/log/glpi
chown apache:apache /var/log/glpi

Nous devons créer un fichier de configuration pour un fonctionnemenr sécurisé de GLPI avec la commandes:

nano /var/www/glpi/inc/downstream.php

Et ajouter ce contenu:

<?php
define('GLPI_CONFIG_DIR', '/etc/glpi/');
if (file_exist(GLPI_CONFI_DIR . '/local_define.php')) {
    require_once GLPI_CONFIG_DIR . '/local_define.php';
}
php>

Puis nous devons créer un second ficheir de configuration:

nano /etc/glpi/local_define.php

Et ajouter ce contenu:

<?php
define('GLPI_VAR_DIR', '/var/lib//glpi/files');
define('GLPI_VAR_DIR', '/var/log/glpi');
?>

Configuration de apache

Nous allons créer un fichier de configuration:

nano /etc/httpd/conf.d/glpi.conf
<VirtualHost *:80>
    ServerName

    DocumentRoot /var/www/glpi/public

    <Directory /var/www/glpi/public>
        Require all granted

        RewriteEngine On

        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ index.php [QSA,L]
    </Directory>
</VirtualHost>

Création du fichier glpi.conf

Ensuite on désactive le fichier welcome.conf en le renommant avec la commande:

mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.disabled

Ajoutez le contenu du fichier:

On précise maintenant que PHP-FPM sera utilisé pour les fichiers PHPn en ajoutant ces lignes en dessous de Directory dans le fichier glpi.conf

        <FilesMatch \.php$>
    SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost/"
        </FilesMatch>

Configuration Apache

Et on redémarre apache pour que les modifications soient appliquées

systemctl restart httpd

Configuration de PHP FPM avec apache

D’abord nous installons php8.2-fpm

apt install php8.2-fpm -y

Activation de deux modules puis redémarrage d’Apache

a2enmod proxy_fcgi setenvif
a2enconf php8.2-fpm
systemctl reload apache2

On modifie ensuite un fichier php

nano /etc/php/8.2/fpm/php.ini

On passe l’option « session.cookie_httponly » sur « on » pour protéger les cookies de GLPI

Activation des cookies

Et on redémarre le service

systemctl restart php8.2-fpm.service

On modifie le fichier apache pour que PHP-FPM soit utilisé pour les fichiers PHP

nano /etc/apache2/sites-available/glpi_henritrs_fr.conf

Et on ajoute:

        <FilesMatch \.php$>
    SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost/"
        </FilesMatch>

Configuration apache avec PHP-FPM

Installation de GLPI

Pour accéder à l’installation de notre serveur, on entre l’adresse que l’on a renseigné dans notre fichier de conf

N’oubliez pas de renseigner dans votre fichier hosts la redirection DNS de l’IP du serveur et du nom de domaine

Configuration de la langue GLPI

On clique sur OK, puis sur Installer

Installer GLPI

On se connecte à la base de données

Connexion à la base de données

On demande d’utiliser la base de donnée que l’on a créé avant

Connexion à la base de données

Fin de l’étape 3

On refuse la récolte de données

Refuser les collectes de données

Nous avons désormais terminé l’installation de GLPI

Fin de l’installation de GLPI

Nous avons désormais accès à la page de connexion de GLPI

Page de connexion de GLPI

Utilisateur : glpi

Mot de passe : glpi

Nous avons maintenant accès à l’interface GLPI

Interface GLPI

Les erreurs nous recommandent de modifier/supprimer tous les comptes par défaut et créer vos propres utilisateurs