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
Question | Réponse |
---|---|
Switch to unix_socket authentication | No |
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>
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>
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
Questions | Réponses |
---|---|
Switch to unix_socket authentication | No |
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 |
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>
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
a2enmod rewrite
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
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>
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
On clique sur OK, puis sur Installer
On se connecte à la base de données
On demande d’utiliser la base de donnée que l’on a créé avant
On refuse la récolte de données
Nous avons désormais terminé l’installation de GLPI
Nous avons désormais accès à la page de connexion de GLPI
Utilisateur : glpi
Mot de passe : glpi
Nous avons maintenant accès à l’interface GLPI
Les erreurs nous recommandent de modifier/supprimer tous les comptes par défaut et créer vos propres utilisateurs