Utiliser Fedora et monde Red Hat (RHEL, CentOS, AlmaLinux, Oracle Linux)

CentOS 8 / Oracle Linux 8 : Installer GLPI

Table des matières

logo-glpi



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 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


Cette page a été vue 1255 fois