GLPI Configuration GLPI Installation de GLPI Tout d'abord créer un conteneur "glpi-front-01" avec Terraform sur la LA Préparation de l'installation : Créer une base de donnée "GLPI" sur le serveur sql Créer un utilisateur "glpi"@"IP_GLPI_SERVER" avec un mot de passe et lui donner les droits sur la base de 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ée dans le 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écuter la commande ci-dessous pour  décompresser l'archive .tgz dans le répertoire "/var/www/" , ce qui donnera le chemin d'accès " /var/www/glpi " pour GLPI. tar -xzvf glpi-10.0.10.tgz -C /var/www/ Nous allons définir l'utilisateur " www-data " correspondant à  Apache2 , en tant que  propriétaire  sur les fichiers GLPI. chown www-data /var/www/glpi/ -R Ensuite, nous allons devoir  créer plusieurs dossiers  et sortir des données de la racine Web (/var/www/glpi) de manière à les stocker dans les nouveaux dossiers que nous allons créer. Ceci va permettre de faire une  installation sécurisée de GLPI, qui suit les recommandations de l'éditeur . Le répertoire /etc/glpi Commencez par  créer le répertoire "/etc/glpi"  qui va recevoir les fichiers de configuration de GLPI. Nous donnons des autorisations à www-data sur ce répertoire car il a besoin de pouvoir y accéder. mkdir /etc/glpi chown www-data /etc/glpi/ Puis, nous allons déplacer le répertoire "config" de GLPI vers ce nouveau dossier : mv /var/www/glpi/config /etc/glpi Le répertoire /var/lib/glpi Répétons la même opération avec la création du répertoire "/var/lib/glpi" : mkdir /var/lib/glpi chown www-data /var/lib/glpi/ Dans lequel nous déplaçons également le dossier " files " qui contient la majorité des fichiers de GLPI : CSS, plugins, etc. mv /var/www/glpi/files /var/lib/glpi Le répertoire /var/log/glpi Terminons par la création du répertoire " /var/log/glpi " destiné à stocker les journaux de GLPI. Toujours sur le même principe : mkdir /var/log/glpi chown www-data /var/log/glpi Nous n'avons rien à déplacer dans ce répertoire. Créer les fichiers de configuration Nous devons configurer GLPI pour qu'il sache où aller chercher les données. Autrement dit, nous allons déclarer les nouveaux répertoires fraichement créés. Nous allons 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épertoire de configuration  : 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" Require all granted RewriteEngine On # Redirect all requests to GLPI router, unless file exists. RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,L] Quand la configuration est prête, enregistrez le fichier. Puis, nous allons  activer ce nouveau site dans Apache2  : a2ensite megaproduction.local.conf Nous en profitons également pour  désactiver le site par défaut  car il est inutile : a2dissite 000-default.conf Nous allons aussi  activer le module "rewrite"  (pour les règles de réécriture) car on l'a utilisé dans le fichier de configuration du VirtualHost ( RewriteCond / RewriteRule ). a2enmod rewrite Il ne reste plus qu'à  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és :  utiliser le module PHP pour Apache2 (libapache2-mod-php8.2) ou utiliser PHP-FPM . Il est  recommandé d'utiliser PHP-FPM  car il est plus performant et se présente comme un service indépendant. Dans l'autre mode, chaque processus Apache2 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é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ô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é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é à effectuer d'autres modifications, notamment pour augmenter la taille des uploads sur GLPI, etc. Pour appliquer les modifications, nous devons redémarrer PHP-FPM : systemctl restart php8.2-fpm.service Pour finir, nous devons  modifier notre VirtualHost  pour préciser à Apache2 que PHP-FPM doit être utilisé pour les fichiers PHP : SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost/" Voici un exemple : Quand c'est fait, relancer Apache2 : sudo systemctl restart apache2 Voilà, tout est prêt ! Il ne reste plus qu'à installer GLPI ! Installation de GLPI Creer un tunnel SSH pour accéder à la page web Pour effectuer l'installation de GLPI, nous devons utiliser un navigateur Web afin d'accéder à l'adresse du GLPI. Il s'agit de l'adresse 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érifie la configuration de notre serveur pour déterminer si tous les prérequis sont 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ées. Nous indiquons "IP_SERVER_SQL" en tant que serveur SQL puisque MariaDB est installé en distant. Puis, nous indiquons notre utilisateur "glpi" et le mot de passe associé créer au tout début du tuto. Après avoir cliqué sur " Continuer ", nous devons choisir la base de données " GLPI " créée précédemment. Poursuivez... Suivez les dernières étapes qui n'ont pas de réel impact. Le plus dur est fait ! Félicitations, vous venez d'installer GLPI !  Comme le précise la dernière étape, le compte  administrateur  par 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ême si l'installation est terminée, nous avons encore quelques actions à réaliser pour la finaliser : Changer le mot de passe de tous les comptes par défaut (cliquez sur les liens situés dans l'encadré orange) Supprimer le fichier "install.php" puisqu'il n'est plus nécessaire et représente un risque (relancer l'installation) sudo rm /var/www/glpi/install/install.php Voilà, c'est fait. Désormais, votre GLPI est prêt à être utilisé et configuré (création d'utilisateurs, de catégories, de tickets, etc...). Installation de GLPI Inventory Onglet configuration > Plugins Onglet en haut > Découvrir puis chercher et installer "GLPI Inventory" Quand le plugin est installé, Administration > Inventaire et cocher les cases :  Activer l'inventaire Importer des machines virtuelles Créer un ordinateur pour les machines virtuelles Et c'est bon, plus qu'a installer les agents sur les serveurs distants. Configuration GLPI agent GLPI Agent Pour installer l'agent GLPI agent, il faut executer ces 4 commandes. apt install libfuse2 wget https://github.com/glpi-project/glpi-agent/releases/download/1.7.1/glpi-agent-1.7.1-linux-installer.pl perl glpi-agent-1.7.1-linux-installer.pl --install --server http://IP_GLPI_SERVER/front/inventory.php glpi-agent Après cela, l'appareil se connectera automatiquement au GLPI Inventory.