GLPI

Mise en de GLPI 10

Mise en place de GLPI 10.0.14 sous Debian 12

Mise en de GLPI 10

Sommaire :

1 -Installation de GLPI :

a)    Installation des composant requis

b)   Création de la base de données

c)     Téléchargement et installation de GLPI

d)   Configuration de GLPI

2 -Sécurisation :

          e)   Sécurisation de GLPI
Mise en de GLPI 10

a) Installation des composant requis :

a) Installation des composant requis :
Dans un premier temps on installe les composant de base :
Apache2 pour le serveur web et maradb-server pour le serveur de base de données
sudo apt-get install apache2 php mariadb-server
Après on installe les composant pour l’exécution de glpi (pour GLPI ce sont des modules PHP) :
sudo apt-get 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 php-ldap php8.2-fpm
Puis configuration de mysql pour la base de données :
sudo mysql_secure_installation


Mise en de GLPI 10

b) Création de la base de données :

b)  Création de la base de données :
Puis connexion à mariadb pour crée la base de données :
sudo mysql -u root -p
Puis on crée la base de donnée avec le mdp et un utilisateur qui à le droit de l'utilisais pour après le setup sur glpi plus tard. Donc oublié pas le mot de passe :
CREATE DATABASE db23_glpi; GRANT ALL PRIVILEGES ON db23_glpi.* TO glpi_adm@localhost IDENTIFIED BY "MotDePasseRobuste"; FLUSH PRIVILEGES; EXIT ;


Mise en de GLPI 10

c) Téléchargement et installation de GLPI :

c) Téléchargement et installation de GLPI :
Puis téléchargé le dossier compressé de GLPI 10.0.14 :
 wget https://github.com/glpi-project/glpi/releases/download/10.0.16/glpi-10.0.16.tgz


Puis une fois téléchargé, le décompressé (l’argument /var/www/html c’est pour qu'il se mettent automatiquement dans le dossier des pages web d’apache) :
sudo tar -xzvf glpi-10.0.16.tgz -C /var/www/html
Puis inclure tous les fichiers dans le groupe www-data pour permettre leur bon fonctionnement avec apache2 :
sudo chown www-data /var/www/html/glpi/ -R
Création d’un fichier conf pour apache2 car nous allons après modifier quelque paramètre d’apache pour permettre un accès direct à la page web de GLPI :
sudo nano /etc/apache2/sites-available/glpi.conf
<VirtualHost *:80> ServerName glpi.lerenard.eu
DocumentRoot /var/www/html/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/html/glpi/public"
 <Directory /var/www/html/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>

Configuration de apache2 pour dès que vous tapé l’ip sur un navigateur, il fasse la redirection vers GLPI :
sudo a2ensite glpi.conf (permet d’activé le fichier conf créé au-dessus pour glpi sur apache)
sudo a2dissite 000-default.conf (permet de désactivé le fichier 000-default.conf qui fais référence à index.html)
sudo a2enmod rewrite (permet l’activation du module rewrite pour apache2)
sudo systemctl restart apache2 (redémarrage d’apache2)
Mise en de GLPI 10

d) Configuration de GLPI

d) Configuration de GLPI :
Donc nous sélectionnons français :

Comme on veut installer GLPI on fais installer (Mettre à jour si une autre version de GLPI était déjà installé):
Si vous avez bien effectué les commandes au-dessus vous pourrez faire continuer sinon retourné au début :
Il va demander où se trouve le serveur SQL, comme nous l’avons installé sur le même serveur que GLPI on met localhost puis l’utilisateur et le mot de passe mit au-dessus lors de la configuration de la base de données :

Puis si tous à bien était configuré, vous pourrez sélectionner la base de données crée :

Il va configurer la base de données puis faite continuer>continuer> « utilisé GLPI »
Vous serrez rediriger sur cette page. L’identifiant et mot de passe par défaut sont glpi glpi

Vous arrivez donc sur cette page et donc à ce point-là on est presque arrivé à la fin :

Mise en de GLPI 10

e) Sécurisation de GLPI

e)    Sécurisation de GLPI :
Pour des questions de sécurité nous allons voir comment changé.

Aller dans Administration>Utilisateurs :

Choisissez un compte ou vous souhaité changé le mot de passe :

Puis faite sauvegarder.

Pour aussi des questions de sécurité supprimé aussi install.php, cela évitera tous problème si une personne relance une réinstallation. Il se trouve dans /var/www/html/glpi/install.
Faite rm install.php :


Vous devriez plus voir le message :

IkL3hF8fx5gSux8G-embedded-image-h3ncfkte.png


Mise en de GLPI 11

Mise en place de GLPI 11.0.4 sous Debian 13

Mise en de GLPI 11

a) Installation des composant requis :

a) Installation des composant requis :
Dans un premier temps on installe les composant de base :
Apache2 pour le serveur web et maradb-server pour le serveur de base de données
sudo apt-get install apache2 php8.4-fpm mariadb-server

image.png

Après on installe les composant pour l’exécution de glpi (pour GLPI ce sont des modules PHP) :
sudo apt install php8.4-{curl,gd,intl,mysql,zip,bcmath,mbstring,xml,bz2,ldap}

image.png

Puis configuration de mysql pour la base de données :
sudo mysql_secure_installation

image.png

 

Mise en de GLPI 11

b) Création de la base de données :

b)  Création de la base de données :
Puis connexion à mariadb pour crée la base de données :
sudo mysql -u root -p
Puis on crée la base de donnée avec le mdp et un utilisateur qui à le droit de l'utilisais pour après le setup sur glpi plus tard. Donc oublié pas le mot de passe :
CREATE DATABASE db23_glpi; GRANT ALL PRIVILEGES ON db23_glpi.* TO glpi_adm@localhost IDENTIFIED BY "MotDePasseRobuste"; FLUSH PRIVILEGES; EXIT;


Mise en de GLPI 11

c) Téléchargement et installation de GLPI :

c) Téléchargement et installation de GLPI :
Puis téléchargé le dossier compressé de GLPI 11.0.14 dans le dossier tmp (temporaire)  :
cd /tmp
wget https://github.com/glpi-project/glpi/releases/download/11.0.4/glpi-11.0.4.tgz

image.png

Puis une fois téléchargé, le décompressé (l’argument /var/www/html c’est pour qu'il se mettent automatiquement dans le dossier des pages web d’apache) :
sudo tar -xzvf glpi-11.0.4.tgz -C /var/www/html
Puis changé le propriétaire du dossier par www-data pour permettre leur bon fonctionnement avec apache2 :
sudo chown www-data /var/www/html/glpi/ -R
GLPI-project recommande pour des question de récurité, de mettre en place ailleur du dossier glpi même, les fichiers de configuration, le dossier contenant la moitier des fichiers de GLPI et les logs.
Dans un premier temps, on va déplacé le dossier config de GLPI.
Nous allons mettre le dossier de configuration de GLPI dans "/etc/glpi/", donc création du fichier puis affectation du propriétaire et finir par le déplacement :
sudo mkdir /etc/glpi
sudo chown www-data /etc/glpi/
sudo mv /var/www/html/glpi/config /etc/glpi

image.png

Maintenant, passons au dossier lib, ce qui contiens par exemple les plugins, des CSS, etc. On fais également comme au dessus :
sudo mkdir /var/lib/glpi
sudo chown www-data /var/lib/glpi/
sudo mv /var/www/html/glpi/files /var/lib/glpi

image.png

Finissons par les logs mais comme nous venons d'installé GLPI, nous allons rien déplacé, juste crée et changé le propriétaire du dossier :
sudo mkdir /var/log/glpi
sudo chown www-data /var/log/glpi
Dans le second temps, on va créer des fichier PHP dans GLPI pour changer les liens des différents dossiers que nous avons modifiés précédemment.
On va en premier crée un premier fichier pour définir le dossier "config" et des variable qui nous servira dans un second temps  :
sudo nano /var/www/html/glpi/inc/downstream.php

image.png

Puis on va crée un second fichier php pour permettre de donnée des variables. Pour nous ici, se seras que pour les dossiers files et log mais on peux en mettre bien d'autre :
sudo nano /etc/glpi/local_define.php

image.png

Nous avons finit avec le déplacement de fichier, nous passons maintenant à la configuration web avec la création d'un fichier de configuration pour apache2 :
sudo nano /etc/apache2/sites-available/glpi.conf
<VirtualHost *:80>
    ServerName glpi.lerenard.eu
    DocumentRoot /var/www/html/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 its>
    # Alias "/glpi" "/var/www/glpi/public"

    <Directory /var/www/html/glpi/public>
        Require all granted

        RewriteEngine On

        # Ensure authorization headers are passed to PHP.
        # Some Apache configurations may filter them and break usage of API, CalDAV, ...
        RewriteCond %{HTTP:Authorization} ^(.+)$
        RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

        # Redirect all requests to GLPI router, unless file exists.
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ index.php [QSA,L]

    </Directory>
</VirtualHost>

image.png

Au début il y à "ServerName", vous pouvez mettre ce que vous voulez, mais c'est recommandé de mettre le même nom de domaine qu'il y à en interne (si vous avez un nom de domaine en local), si vous désirez de mettre un certificat TLS/SSL pour l'https par exemple.
Configuration de apache2 pour dès que vous tapé l’ip sur un navigateur, il fasse la redirection vers GLPI et activation de PHP8.4-fpm pour l'exécution plus optimisé de script (et comme on en a fait au dessus) :
sudo a2ensite glpi.conf #(permet d’activé le fichier conf créé au-dessus pour glpi sur apache)
sudo a2dissite 000-default.conf #(permet de désactivé le fichier 000-default.conf qui fais référence à index.html)
sudo a2enmod rewrite #(permet l’activation du module rewrite pour apache2)
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.4-fpm
sudo systemctl restart apache2 #(redémarrage d’apache2)

Mise en de GLPI 11

d) Configuration de GLPI

d) Configuration de GLPI :
Donc nous sélectionnons français :

Comme on veut installer GLPI on fais installer (Mettre à jour si une autre version de GLPI était déjà installé):
Si vous avez bien effectué les commandes au-dessus vous pourrez faire continuer sinon retourné au début :

image.png

Il va demander où se trouve le serveur SQL, comme nous l’avons installé sur le même serveur que GLPI on met localhost puis l’utilisateur et le mot de passe mit au-dessus lors de la configuration de la base de données :

Puis si tous à bien était configuré, vous pourrez sélectionner la base de données crée :

Il va configurer la base de données puis faite continuer>continuer> « utilisé GLPI »
Vous serrez rediriger sur cette page. L’identifiant et mot de passe par défaut sont glpi glpi

Vous arrivez donc sur cette page et donc à ce point-là on est presque arrivé à la fin :

Mise en de GLPI 11

e) Sécurisation de GLPI

e)    Sécurisation de GLPI :
Pour des questions de sécurité nous allons voir comment changé.

Aller dans Administration>Utilisateurs :

Choisissez un compte ou vous souhaité changé le mot de passe :

Puis faite sauvegarder.

Vous devriez plus voir le message :

IkL3hF8fx5gSux8G-embedded-image-h3ncfkte.png

 


Également, on doit supprimé aussi install.php, cela évitera tous problème si une personne relance une réinstallation. Il se trouve dans /var/www/html/glpi/install.
Faite rm install.php :
Dans un second temps, on va sécurisé php-fpm que l'on a activé précédament. La documentations GLPI recommande cela.
On doit sécurisé les cookie, on va donc allé ouvrir le fichier php.ini dans /etc/php/8.4/fpm/ :
sudo nano /etc/php/8.4/fpm/php.ini
Nous cherchons "session.cookie_httponly" pour le mettre sur "on" :

image.png

On viens d'activé la sécurité de base pour les cookies, maintenant nous allons configuré la fasson dont sont géré les cookie pour évité certaines attaques comme CSRF (Cross-Site Resquest Forgery). 
Nous cherchons donc maintenant "session.cookie_samesite" pour le mettre sur la valeur "Lax" :

image.png

Pour finir, on doit édité notre fichier de configuration apache2 pour le forcé apache2 à utilisé php-fmp :

image.png

Puis redémarrons :
sudo systemctl restart apache2

image.png

Voilà la fin de la sécurisation de GLPI.  Mais cela devrais évolué avec la mise en place d'https dans le futur.

Liaison LDAP

Comment liée GLPI à un Active Directory Microsoft

Liaison LDAP

Sommaire :

1 -Liaison LDAP :

a) Configuration 

     b)   Test
Liaison LDAP

a) configuration :

a) configuration :
Aller dans Configuration>Authentification Puis Annuaire LDAP :


Une fois sur la page faite Ajouté :
Sur cette page dans un premier cliquer sur Active Directory cela permet de mettre automatiquement des règles :

Puis rentré les informations suivantes :
image.png
Liaison LDAP

b) Test

b) Test
Vous pouvez tester si la connexion à l’AD s’effectue bien :

Puis déconnecté vous de GLPI. Arrivé sur la page de connexion vous pouvez voir que ce n’est plus « base interne GLPI » proposé en premier mais « WIN-SRV-THIB ». Vous laissez et connecté vous avec un compte activé et présent dans l’AD


  

Et donc si vous allez dans Administration>Utilisateur vous devriez voir l’utilisateur avec le quel vous venez de vous. Dans mon cas c’est acheteur.