Mise en de GLPI 11
Mise en place de GLPI 11.0.4 sous Debian 13
- 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
- e) Sécurisation de GLPI
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
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}
Puis configuration de mysql pour la base de données :
sudo mysql_secure_installation
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;
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
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
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
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
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
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>
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)
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 :
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 :
|
|
É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" :
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" :
Pour finir, on doit édité notre fichier de configuration apache2 pour le forcé apache2 à utilisé php-fmp :
Puis redémarrons :
sudo systemctl restart apache2