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
Cahnge 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

Prérequis

Installer PHP

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

apt install php -y
apt 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

On peut ajouter une extension pour associer GLPI avec un annuaire LDAP, on utilise la commande:

apt install php-ldap -y

Installer Apache

Pour installer apache, il faut utiliser la commande:

apt install apache2 -y

Installer MariaDB

Il faut installer MariaDB avec la commande:

apt 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
QuestionsRéponses
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

Sécurisation de MariaDB

On se connecte à MariaDB avec la commande:

mysql -u root -p

On créé 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;

Notre base de donnée est prête

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/

On donne maintenant la propriété des fichiers à www-data avec la commande:

chown www-data /var/www/glpi/ -R

Configuration

Configuration de 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 www-data /etc/glpi/

Nous devons également déplacer le fichier files avec les commandes:

mkdir /var/lib/glpi
mv /var/www/glpi/files /var/lib/glpi
chown www-data /var/lib/glpi

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

mkdir /var/log/glpi
chown www-data /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';
}
?>

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

Il faut créer un fichier de configuration qui contient le nom de domaine de notre GLPI avec la commande:

nano /etc/apache2/sites-available/"ServerName".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

Puis on active notre nouveau site dans Apache avec la commande:

a2ensite glpi_henritrs_fr.conf

Et on désactive le site par défaut avec la commande:

a2dissite 000-default.conf

Désactivation de la page par défaut

a2enmod rewrite

Activation réécriture

Et on redémarre apache avec la commande:

systemctl restart apache2

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