Skip to main content

Installation de GLPI

  • Tout d'abord créercréer un conteneur "glpi-front-01" avec Terraform sur la LA

PréparationPréparation de l'installation :

  • CréerCréer une base de donnéedonnée "GLPI" sur le serveur sql
  • CréerCréer un utilisateur "glpi"@"IP_GLPI_SERVER" avec un mot de passe et lui donner les droits sur la base de donnéesdonné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éetéléchargée dans le répertoireré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écuterexécuter la commande ci-dessous pour décompresserdécompresser l'archive .tgz dans le répertoirerépertoire "/var/www/", ce qui donnera le chemin d'accèsaccès "/var/www/glpi" pour GLPI.

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

Nous allons définirdéfinir l'utilisateur "www-data" correspondant àà Apache2, en tant que propriétairepropriétaire sur les fichiers GLPI.

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

Ensuite, nous allons devoir créercréer plusieurs dossiers et sortir des donnéesdonnées de la racine Web (/var/www/glpi) de manièremanière àà les stocker dans les nouveaux dossiers que nous allons créer.créer. Ceci va permettre de faire une installation sécuriséesécurisée de GLPI, qui suit les recommandations de l'éditeuréditeur.

  • Le répertoirerépertoire /etc/glpi

Commencez par créercréer le répertoirerépertoire "/etc/glpi" qui va recevoir les fichiers de configuration de GLPI. Nous donnons des autorisations àà www-data sur ce répertoirerépertoire car il a besoin de pouvoir y accéder.accéder.

mkdir /etc/glpi
chown www-data /etc/glpi/

Puis, nous allons déplacerdéplacer le répertoirerépertoire "config" de GLPI vers ce nouveau dossier :

mv /var/www/glpi/config /etc/glpi
  • Le répertoirerépertoire /var/lib/glpi

RépétonsRépétons la mêmemême opérationopération avec la créationcréation du répertoirerépertoire "/var/lib/glpi" :

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

Dans lequel nous déplaçonsdéplaçons égalementé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épertoirerépertoire /var/log/glpi

Terminons par la créationcréation du répertoirerépertoire "/var/log/glpi" destinédestiné àà stocker les journaux de GLPI. Toujours sur le mêmemême principe :

mkdir /var/log/glpi
chown www-data /var/log/glpi

Nous n'avons rien àà déplacerdéplacer dans ce répertoire.répertoire.

  • CréerCréer les fichiers de configuration

Nous devons configurer GLPI pour qu'il sache aller chercher les données.données. Autrement dit, nous allons déclarerdéclarer les nouveaux répertoiresrépertoires fraichement créés.créés.

Nous allons créercré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épertoireré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éercréer ce second fichier :

nano /etc/glpi/local_define.php

Afin d'ajouter le contenu ci-dessous permettant de déclarerdéclarer deux variables permettant de préciserpréciser les chemins vers les répertoiresrépertoires "files" et "log" que l'on a préparépréparé précédemment.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éparerPréparer la configuration Apache2

Passons àà la configuration du serveur web Apache2. Nous allons créercré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érenceréférence au nom de domaine choisi pour accéderaccéder àà GLPI : megaproduction.local. L'idéalidéal étantétant d'avoir un nom de domaine (mêmemême interne) pour accéderaccé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èlemodè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ête,prête, enregistrez le fichier.

Puis, nous allons activer ce nouveau site dans Apache2 :

a2ensite megaproduction.local.conf

Nous en profitons égalementégalement pour désactiverdésactiver le site par défautdéfaut car il est inutile :

a2dissite 000-default.conf

Nous allons aussi activer le module "rewrite" (pour les règlesrègles de réécriture)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émarrerredé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éspossibilitésutiliser 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ésenteprésente comme un service indépendant.indépendant. Dans l'autre mode, chaque processus Apache2 exécuteexécute son propre moteur de scripts PHP.

Si vous souhaitez utiliser PHP-FPM, suivez les étapesétapes ci-dessous. Sinon, passez àà la suite mais veillez àà configurer l'option "session.cookie_httponly" évoquéeé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éditer le fichier "/etc/php/8.2/apache2/php.ini" mais plutôtplutô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égerproté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être amenéamené àà effectuer d'autres modifications, notamment pour augmenter la taille des uploads sur GLPI, etc.

Pour appliquer les modifications, nous devons redémarrerredémarrer PHP-FPM :

systemctl restart php8.2-fpm.service

Pour finir, nous devons modifier notre VirtualHost pour préciserpréciser àà Apache2 que PHP-FPM doit êtreêtre utiliséutilisé pour les fichiers PHP :

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

Voici un exemple :

Apache2 et PHP-FPM - Exemple

Quand c'est fait, relancer Apache2 :

sudo systemctl restart apache2

Voilà,Voilà, tout est prêtprêt ! Il ne reste plus qu'àà installer GLPI !

Installation de GLPI

  • Creer un tunnel SSH pour accéderaccéder àà la page web

Pour effectuer l'installation de GLPI, nous devons utiliser un navigateur Web afin d'accéderaccéder àà l'adresse du GLPI. Il s'agit de l'adresse déclaréedéclarée dans le fichier de configuration Apache2 (ServerName). Pensez àà l'ajouter au DNS.

Si vous avez suivi toutes les étapesétapes correctement, vous devriez arriver sur cette page. Nous allons commencer par choisir la langue.

Installation de GLPI - Etape 1

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

Installation de GLPI - Etape 2

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

Installation de GLPI - Etape 3
ATTENTION BIEN LIRE EN DESSOUS :

A l'étapeétape suivante, nous devons renseigner les informations pour se connecter àà la base de données.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éercréer au tout débutdébut du tuto.

Installation de GLPI - Etape 4

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

Installation de GLPI - Etape 5

Poursuivez...

Installation de GLPI - Etape 6

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

Installation de GLPI - Etape 7

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

Installation de GLPI - Etape 8

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

Installation de GLPI - Etape 9

Bienvenue sur votre nouveau serveur GLPI !

MêmeMême si l'installation est terminée,terminée, nous avons encore quelques actions àà réaliserréaliser pour la finaliser :

  • Changer le mot de passe de tous les comptes par défautdéfaut (cliquez sur les liens situéssitués dans l'encadréencadré orange)
  • Supprimer le fichier "install.php" puisqu'il n'est plus nécessairenécessaire et représentereprésente un risque (relancer l'installation)
sudo rm /var/www/glpi/install/install.php

Voilà,Voilà, c'est fait. Désormais,Désormais, votre GLPI est prêtprêt àà êtreêtre utiliséutilisé et configuréconfiguré (créationcréation d'utilisateurs, de catégories,catégories, de tickets, etc...).

Installation de GLPI Inventory

Onglet configuration > Plugins

image.png

Onglet en haut > DécouvrirDécouvrir puis chercher et installer "GLPI Inventory"

image.png

Quand le plugin est installé,installé, Administration > Inventaire et cocher les cases : 

  • Activer l'inventaire
  • Importer des machines virtuelles
  • CréerCréer un ordinateur pour les machines virtuelles

image.png

Et c'est bon, plus qu'a installer les agents sur les serveurs distants.