Red Hat 8, Alma Linux 8 : Installer GLPI
Table des matières
Dans cet article, nous allons voir comment installer GLPI
Cet article est réalisé avec la dernière version de GLPI est la 9.5 et requiert PHP 7.2.
GLPI est un logiciel libre de gestion des services informatiques et de gestion des services d'assistance.
https://www.linuxtricks.fr/wiki/centos-installer-et-configurer-un-serveur-lamp-7-et-8
On vérifiera la présence des modules PHP nécessaires :
Et on peut aussi installer ceux-ci facultatif :
On affinera les paramétrages suivants dans le php.ini :
Avec CentOS 8, on recharge le service php-fpm ... après chaque modif :
On récupère la dernière version de GLPI sur le site officiel : https://glpi-project.org/downloads/
Ensuite, on extrait le dossier glpi de l'archive dans /var/www/html
On se rend dans le dossier de GLPI :
On attribue les pleins droits à Apache au dossier de GLPI :
On va créer la base de données au préalable + créer un compte spécifique pour l'utilisateur GLPI :
On va ensuite configurer GLPI via l'assistant en ligne de commande.
Avant de lancer l'installation, on va vérifier que tous les prérequis sont bons
Compléter les items non OK.
Par exemple, j'ai SELinux activé et j'ai un Warning :
On applique donc les actions recommandées :
J'ai aussi :
Je met donc les autorisations de lecture à GLPI sur la base mysql :
Une fois qu'il n'y a plus d'erreurs ou que les WARNINGS ne nous concernent pas, on lance l'assistant d'installation de GLPI :
Maintenant, GLPI est installé.
Quelques comptes sont créés par défaut.
On pourra accéder à glpi via http://ip_du_serveur/
glpi/glpi : Compte Administrateur
tech/tech : Compte de technicien
normal/normal : Compte standard.
post-only/postonly : Compte Helpdesk qui ne peut que créer des tickets.
On supprimera le compte GLPI une fois un autre super_admin créé, afin de ne pas laisser les comptes actifs par défaut !
Avec php-fpm, si vous avez une erreur 500, regardez dans les logs s'il n'y a pas une politique Selinux à activer.
J'ai du activer la politique my-phpfpm.pp car journalctl m'a listé ces 2 commandes (pour que php-fpm puisse écrire dans les logs) :
On peut vouloir importer dans GLPI notre matériel inventorié dans OCS.
Voici le lien pour le télécharger le plugin : https://github.com/pluginsGLPI/ocsinventoryng/releases
Pour l'installer
Parfois, certaines tâches ont du mal à s'exécuter dans GLPI. C'est le cas du mailgate qui collecte des mails pour créer des tickets.
On peut alors créer une entrée dans crontab (ici pour exécuter mailgate toutes les 2 minutes entre 7h et 20h) :
Introduction
Dans cet article, nous allons voir comment installer GLPI
Cet article est réalisé avec la dernière version de GLPI est la 9.5 et requiert PHP 7.2.
GLPI est un logiciel libre de gestion des services informatiques et de gestion des services d'assistance.
Prérequis
https://www.linuxtricks.fr/wiki/centos-installer-et-configurer-un-serveur-lamp-7-et-8
On vérifiera la présence des modules PHP nécessaires :
Code BASH :
dnf install php-{curl,fileinfo,gd,json,mbstring,mysqli,session,zlib,simplexml,xml,intl}
Et on peut aussi installer ceux-ci facultatif :
Code BASH :
dnf install php-{cli,domxml,ldap,openssl,xmlrpc,pecl-apcu}
On affinera les paramétrages suivants dans le php.ini :
Code BASH :
vi /etc/php.ini
Code BASH :
memory_limit = 64M ; // max memory limit file_uploads = on ; max_execution_time = 600 ; // not mandatory but recommended session.auto_start = off ; session.use_trans_sid = 0 ; // not mandatory but recommended
Avec CentOS 8, on recharge le service php-fpm ... après chaque modif :
Code BASH :
systemctl restart php-fpm
Installer GLPI
On récupère la dernière version de GLPI sur le site officiel : https://glpi-project.org/downloads/
Code BASH :
wget https://github.com/glpi-project/glpi/releases/download/9.5.3/glpi-9.5.3.tgz
Ensuite, on extrait le dossier glpi de l'archive dans /var/www/html
Code BASH :
tar -C /var/www/html/ -xvf glpi-9.5.3.tgz --strip-components=1 glpi/
On se rend dans le dossier de GLPI :
Code BASH :
cd /var/www/html
On attribue les pleins droits à Apache au dossier de GLPI :
Code BASH :
chown -R apache:apache /var/www/html
On va créer la base de données au préalable + créer un compte spécifique pour l'utilisateur GLPI :
Code BASH :
mysql -u root -p
Code SQL :
CREATE DATABASE glpi; GRANT ALL ON glpi.* TO 'glpi'@'localhost' IDENTIFIED BY '2Bu2uTpfpQXT4fJvuYM6'; FLUSH PRIVILEGES;
Vérification des prérequis
On va ensuite configurer GLPI via l'assistant en ligne de commande.
Avant de lancer l'installation, on va vérifier que tous les prérequis sont bons
Code BASH :
php bin/console glpi:system:check_requirements
Compléter les items non OK.
Par exemple, j'ai SELinux activé et j'ai un Warning :
Code TEXT :
| SELinux mode is Enforcing | [WARNING] | SELinux boolean httpd_can_network_connect is off, some features may require this to be on. | | | | SELinux boolean httpd_can_network_connect_db is off, some features may require this to be on. | | | | SELinux boolean httpd_can_sendmail is off, some features may require this to be on. |
On applique donc les actions recommandées :
Code BASH :
setsebool -P httpd_can_network_connect on setsebool -P httpd_can_network_connect_db on setsebool -P httpd_can_sendmail on
J'ai aussi :
Code TEXT :
| Testing DB timezone data | [WARNING] | Access to timezone database (mysql) is not allowed. |
Je met donc les autorisations de lecture à GLPI sur la base mysql :
Code SQL :
GRANT SELECT ON mysql.time_zone_name TO 'glpi'@'localhost';
Configuration de GLPI
Une fois qu'il n'y a plus d'erreurs ou que les WARNINGS ne nous concernent pas, on lance l'assistant d'installation de GLPI :
Code BASH :
php bin/console db:install -p
Code TEXT :
Some optional system requirements are missing. Run "php bin/console glpi:system:check_requirements" for more details. Database name:glpi Database user:glpi Database password: +---------------+-----------+ | Database host | localhost | | Database name | glpi | | Database user | glpi | +---------------+-----------+ Do you want to continue ? [Yes/no]Yes Installation done.
Utiliser GLPI
Maintenant, GLPI est installé.
Quelques comptes sont créés par défaut.
On pourra accéder à glpi via http://ip_du_serveur/
glpi/glpi : Compte Administrateur
tech/tech : Compte de technicien
normal/normal : Compte standard.
post-only/postonly : Compte Helpdesk qui ne peut que créer des tickets.
On supprimera le compte GLPI une fois un autre super_admin créé, afin de ne pas laisser les comptes actifs par défaut !
Avec php-fpm, si vous avez une erreur 500, regardez dans les logs s'il n'y a pas une politique Selinux à activer.
J'ai du activer la politique my-phpfpm.pp car journalctl m'a listé ces 2 commandes (pour que php-fpm puisse écrire dans les logs) :
Code BASH :
ausearch -c 'php-fpm' --raw | audit2allow -M my-phpfpm semodule -X 300 -i my-phpfpm.pp
Quelques plugins
On peut vouloir importer dans GLPI notre matériel inventorié dans OCS.
Voici le lien pour le télécharger le plugin : https://github.com/pluginsGLPI/ocsinventoryng/releases
Pour l'installer
Code BASH :
cd /var/www/html/plugins wget https://github.com/pluginsGLPI/ocsinventoryng/releases/download/1.7.3/glpi-ocsinventoryng-1.7.3.tar.gz tar -xf glpi-ocsinventoryng-1.7.3.tar.gz
Exécuter des tâches avec le cron du système
Parfois, certaines tâches ont du mal à s'exécuter dans GLPI. C'est le cas du mailgate qui collecte des mails pour créer des tickets.
On peut alors créer une entrée dans crontab (ici pour exécuter mailgate toutes les 2 minutes entre 7h et 20h) :
Code BASH :
*/2 7-20 * * * php /var/www/html/front/cron.php --debug --force mailgate */2 7-20 * * * php /var/www/html/front/cron.php --debug --force queuednotification