Installation de GLPI
- Tout d'abord
crécréer un conteneur "glpi-front-01" avec Terraform sur la LA
PréPréparation de l'installation :
CréCréer une base dedonnédonnée "GLPI" sur le serveur sqlCréCréer un utilisateur "glpi"@"IP_GLPI_SERVER" avec un mot de passe et lui donner les droits sur la base dedonnédonnées GLPI.
CREATE DATABASE GLPI;
GRANT ALL PRIVILEGES ON glpi.* TO glpi@"IP_GLPI_SERVER" IDENTIFIED BY "MotDePasseRobuste";
FLUSH PRIVILEGES;
EXIT
Sur glpi-front-01
apt-get update && apt-get upgrade
apt-get install apache2 php
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
L'archive sera téléchargétéléchargée dans le rérépertoire "/tmp" :
cd /tmp
wget https://github.com/glpi-project/glpi/releases/download/10.0.10/glpi-10.0.10.tgz
Puis, nous allons exéexécuter la commande ci-dessous pour dédécompresser l'archive .tgz dans le rérépertoire "/var/www/", ce qui donnera le chemin d'accèaccès "/var/www/glpi" pour GLPI.
tar -xzvf glpi-10.0.10.tgz -C /var/www/
Nous allons dédéfinir l'utilisateur "www-data" correspondant àà Apache2, en tant que propriépropriétaire sur les fichiers GLPI.
chown www-data /var/www/glpi/ -R
Ensuite, nous allons devoir crécréer plusieurs dossiers et sortir des donnédonnées de la racine Web (/var/www/glpi) de manièmanière àà les stocker dans les nouveaux dossiers que nous allons crécréer. Ceci va permettre de faire une installation sécurisésécurisée de GLPI, qui suit les recommandations de l'ééditeur.
- Le
rérépertoire /etc/glpi
Commencez par crécréer le rérépertoire "/etc/glpi" qui va recevoir les fichiers de configuration de GLPI. Nous donnons des autorisations àà www-data sur ce rérépertoire car il a besoin de pouvoir y accéaccéder.
mkdir /etc/glpi
chown www-data /etc/glpi/
Puis, nous allons dédéplacer le rérépertoire "config" de GLPI vers ce nouveau dossier :
mv /var/www/glpi/config /etc/glpi
- Le
rérépertoire /var/lib/glpi
RépéRépétons la mêmême opéopération avec la crécréation du rérépertoire "/var/lib/glpi" :
mkdir /var/lib/glpi
chown www-data /var/lib/glpi/
Dans lequel nous déplaçdéplaçons éégalement le dossier "files" qui contient la majoritémajorité des fichiers de GLPI : CSS, plugins, etc.
mv /var/www/glpi/files /var/lib/glpi
- Le
rérépertoire /var/log/glpi
Terminons par la crécréation du rérépertoire "/var/log/glpi" destinédestiné àà stocker les journaux de GLPI. Toujours sur le mêmême principe :
mkdir /var/log/glpi
chown www-data /var/log/glpi
Nous n'avons rien àà dédéplacer dans ce rérépertoire.
CréCréer les fichiers de configuration
Nous devons configurer GLPI pour qu'il sache oùoù aller chercher les donnédonnées. Autrement dit, nous allons dédéclarer les nouveaux rérépertoires fraichement créécréés.
Nous allons crécréer ce premier fichier :
nano /var/www/glpi/inc/downstream.php
Afin d'ajouter le contenu ci-dessous qui indique le chemin vers le rérépertoire de configuration :
<?php
define('GLPI_CONFIG_DIR', '/etc/glpi/');
if (file_exists(GLPI_CONFIG_DIR . '/local_define.php')) {
require_once GLPI_CONFIG_DIR . '/local_define.php';
}
Ensuite, nous allons crécréer ce second fichier :
nano /etc/glpi/local_define.php
Afin d'ajouter le contenu ci-dessous permettant de dédéclarer deux variables permettant de prépréciser les chemins vers les rérépertoires "files" et "log" que l'on a préparépréparé précéprécédemment.
<?php
define('GLPI_VAR_DIR', '/var/lib/glpi/files');
define('GLPI_LOG_DIR', '/var/log/glpi');
Voila c'est terminéterminé :p
PréPréparer la configuration Apache2
Passons àà la configuration du serveur web Apache2. Nous allons crécréer un nouveau fichier de configuration qui va permettre de configurer le VirtualHost dédiédédié àà GLPI. Dans mon cas, le fichier s'appelle "megaproduction.local" en référéférence au nom de domaine choisi pour accéaccéder àà GLPI : megaproduction.local. L'idéidéal éétant d'avoir un nom de domaine (mêmême interne) pour accéaccéder àà GLPI afin de pouvoir positionner un certificat SSL par la suite.
nano /etc/apache2/sites-available/glpi.megaproduction.local.conf
Ce qui donne la configuration suivante (selon le modèmodèle officiel de la documentation) :
<VirtualHost *:80>
ServerName glpi.megaproduction.local
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.
# Alias "/glpi" "/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>
Quand la configuration est prêprête, enregistrez le fichier.
Puis, nous allons activer ce nouveau site dans Apache2 :
a2ensite megaproduction.local.conf
Nous en profitons éégalement pour dédésactiver le site par dédéfaut car il est inutile :
a2dissite 000-default.conf
Nous allons aussi activer le module "rewrite" (pour les rèrègles de rééréécriture) car on l'a utiliséutilisé dans le fichier de configuration du VirtualHost (RewriteCond / RewriteRule).
a2enmod rewrite
Il ne reste plus qu'àà redéredémarrer le service Apache2 :
systemctl restart apache2
Utilisation de PHP8.2-FPM avec Apache2
Pour utiliser PHP en tant que moteur de scripts avec Apache2, il y a deux possibilitépossibilités : utiliser le module PHP pour Apache2 (libapache2-mod-php8.2) ou utiliser PHP-FPM.
Il est recommandérecommandé d'utiliser PHP-FPM car il est plus performant et se préprésente comme un service indéindépendant. Dans l'autre mode, chaque processus Apache2 exéexécute son propre moteur de scripts PHP.
Si vous souhaitez utiliser PHP-FPM, suivez les éétapes ci-dessous. Sinon, passez àà la suite mais veillez àà configurer l'option "session.cookie_httponly" évoquéévoquée ci-dessous.
Nous allons commencer par installer PHP8.2-FPM avec la commande suivante :
apt-get install php8.2-fpm
Puis, nous allons activer deux modules dans Apache et la configuration de PHP-FPM, avant de recharger Apache2 :
a2enmod proxy_fcgi setenvif
a2enconf php8.2-fpm
systemctl reload apache2
Pour configurer PHP-FPM pour Apache2, nous n'allons pas ééditer le fichier "/etc/php/8.2/apache2/php.ini" mais plutôplutôt ce fichier :
nano /etc/php/8.2/fpm/php.ini
Dans ce fichier, recherchez l'option "session.cookie_httponly" et indiquez la valeur "on" pour l'activer, afin de protéprotéger les cookies de GLPI.
; Whether or not to add the httpOnly flag to the cookie, which makes it
; inaccessible to browser scripting languages such as JavaScript.
; https://php.net/session.cookie-httponly
session.cookie_httponly = on
Enregistrez le fichier quand c'est fait. Par la suite, vous pourriez êêtre amenéamené àà effectuer d'autres modifications, notamment pour augmenter la taille des uploads sur GLPI, etc.
Pour appliquer les modifications, nous devons redéredémarrer PHP-FPM :
systemctl restart php8.2-fpm.service
Pour finir, nous devons modifier notre VirtualHost pour prépréciser àà Apache2 que PHP-FPM doit êêtre utiliséutilisé pour les fichiers PHP :
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost/"
</FilesMatch>
Voici un exemple :

Quand c'est fait, relancer Apache2 :
sudo systemctl restart apache2
VoilàVoilà, tout est prêprêt ! Il ne reste plus qu'àà installer GLPI !
Installation de GLPI
- Creer un tunnel SSH pour
accéaccéderàà la page web
Pour effectuer l'installation de GLPI, nous devons utiliser un navigateur Web afin d'accéaccéder àà l'adresse du GLPI. Il s'agit de l'adresse déclarédéclarée dans le fichier de configuration Apache2 (ServerName). Pensez àà l'ajouter au DNS.
Si vous avez suivi toutes les éétapes correctement, vous devriez arriver sur cette page. Nous allons commencer par choisir la langue.

Puisqu'il s'agit d'une nouvelle installation, nous cliquons sur "Installer".

Etape importante : GLPI vévérifie la configuration de notre serveur pour dédéterminer si tous les préprérequis sont respectérespectés. Tout est bon, donc nous pouvons continuer.

ATTENTION BIEN LIRE EN DESSOUS :
A l'éétape suivante, nous devons renseigner les informations pour se connecter àà la base de donnédonnées. Nous indiquons "IP_SERVER_SQL" en tant que serveur SQL puisque MariaDB est installéinstallé en distant. Puis, nous indiquons notre utilisateur "glpi" et le mot de passe associéassocié crécréer au tout dédébut du tuto.

AprèAprès avoir cliquécliqué sur "Continuer", nous devons choisir la base de donnédonnées "GLPI" créécréée précéprécédemment.

Poursuivez...

Suivez les dernièdernières éétapes qui n'ont pas de réréel impact. Le plus dur est fait !

FéFélicitations, vous venez d'installer GLPI ! Comme le préprécise la dernièdernière éétape, le compte administrateur par dédéfaut est "glpi/glpi" !

Nous allons donc nous connecter avec le compte "glpi" et le mot de passe "glpi".

Bienvenue sur votre nouveau serveur GLPI !


MêMême si l'installation est terminéterminée, nous avons encore quelques actions àà réréaliser pour la finaliser :
- Changer le mot de passe de tous les comptes par
dédéfaut (cliquez sur les lienssituésitués dans l'encadréencadré orange) - Supprimer le fichier "install.php" puisqu'il n'est plus
nénécessaire etrepréreprésente un risque (relancer l'installation)
sudo rm /var/www/glpi/install/install.php
VoilàVoilà, c'est fait. DéDésormais, votre GLPI est prêprêt àà êêtre utiliséutilisé et configuréconfiguré (crécréation d'utilisateurs, de catécatégories, de tickets, etc...).
Installation de GLPI Inventory
Onglet configuration > Plugins
Onglet en haut > DéDécouvrir puis chercher et installer "GLPI Inventory"
Quand le plugin est installéinstallé, Administration > Inventaire et cocher les cases :
- Activer l'inventaire
- Importer des machines virtuelles
CréCréer un ordinateur pour les machines virtuelles
Et c'est bon, plus qu'a installer les agents sur les serveurs distants.


