Archives par mot-clé : debian

Installation de GLPI et FusionInventory (2)

Nous poursuivons l’installation débuté dans cet article avec l’agent fusionInventory qui sera installé sur notre serveur.

Nous utiliserons les paquets debian de la version 2.5.2-1 :
https://github.com/fusioninventory/fusioninventory-agent/releases/
Nous suivrons cette procédure :
http://fusioninventory.org/documentation/agent/installation/linux/deb.html

Un agent pour quoi faire ?

Pour disposer d’un inventaire du serveur chaque jour. Faire également des inventaires des switchs et des imprimantes du réseau. Pour les switchs nous voulons une mise à jour automatique de l’inventaire toutes les 10 minutes.

Activation du planificateur de GLPI

Au vue des tâches nous installerons l’agent en tant que service. L’action automatique taskscheduler (voir Configuration ->Actions automatiques) planifiera les taches d’inventaires réseau. Pour que cette action s’exécute nous allons activer le cron de glpi.

Ouvrons le crontab le l’utilisateur www-data (c’est lui qui exécute apache) :

#crontab -u www-data -e

Pour une exécution toute les 10 minutes on ajoute à la fin du fichier :

*/10 * * * * /usr/bin/php7.3 /var/www/html/glpi/front/cron.php &>/dev/null

La consultation des journaux système (avec journalctl -f) permet de vérifier la prise en compte de notre configuration (attendre 10 minutes). Les actions automatiques exécutées seront consignées dans le fichier cron.log de glpi. Pour le consulter :

#tail -f /var/www/html/glpi/files/_log/cron.log
Installation de l’agent

Dans notre cas nous avons seulement besoin des paquets agent et agent-task-network. Téléchargement :

#wget https://github.com/fusioninventory/fusioninventory-agent/releases/download/2.5.2/fusioninventory-agent_2.5.2-1_all.deb 
#wget https://github.com/fusioninventory/fusioninventory-agent/releases/download/2.5.2/fusioninventory-agent-task-network_2.5.2-1_all.deb

Installation des dépendances “générales” :

#apt-get install dmidecode hwdata ucf hdparm perl libuniversal-require-perl libwww-perl libparse-edid-perl libproc-daemon-perl libfile-which-perl libhttp-daemon-perl libxml-treepp-perl libyaml-perl libnet-cups-perl libnet-ip-perl libdigest-sha-perl libsocket-getaddrinfo-perl libtext-template-perl libxml-xpath-perl libyaml-tiny-perl

Installation des dépendances spécifiques aux taches de découverte et inventaire réseau :

#apt-get install libnet-snmp-perl libcrypt-des-perl libnet-nbname-perl libdigest-hmac-perl

Installation des paquets :

#dpkg -i fusioninventory-agent_2.5.2-1_all.deb
#dpkg -i fusioninventory-agent-task-network_2.5.2-1_all.deb

Edition du fichier de configuration de l’agent :

#nano /etc/fusioninventory/agent.cfg

On dé-commente et renseigne la variable server :


#send tasks results to a FusionInventory for GLPI server
server = http://127.0.0.1/glpi/plugins/fusioninventory/
#write tasks results in a directory
#local = /tmp

Création du service
#nano /etc/systemd/system/fusioninventory-agent.service

On ajoute :

[Unit]
Description=FusionInventory agent
Documentation=man:fusioninventory-agent
After=syslog.target network.target

[Service]
ExecStart=/usr/bin/fusioninventory-agent –daemon –no-fork
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target

On rend disponible le service :

#systemctl enable fusioninventory-agent

Dans l’interface web de GLPI on va augmenter provisoirement la fréquence des inventaires.
(FusionInventory -> Configuration générale) et choisir 1 heure. Cela nous permettra d’observer plus facilement le comportement du service.

On force un premier inventaire :

#fusioninventory-agent

Dans l’interface web l’agent (Administration ->FusionInventory ->Agent) et son inventaire (Parc ->Ordinateurs) vont apparaître. En cas de problème on pourra consulter le syslog et relancer l’inventaire en mode débogage (option –debug)

Si tout est ok on démarre cette fois l’agent en tant que service :

#systemctl start fusioninventory-agent

Un nouvel inventaire sera exécuté dans une fourchette de temps comprise entre 50% et 100% de la fréquence des inventaires. Dans notre cas 30 minutes et 1 heures. Lorsque cela a été vérifié on peut refixer la fréquence des inventaires à la valeur souhaitée, 24 pour un inventaire du serveur chaque jour.

Dans un prochain article nous verrons comment réaliser un inventaire réseau.

Installation de GLPI et FusionInventory (1)

Installation sur une Debian 10.3 montée pour l’occasion dans une VM Vitualbox. Je me suis inspiré de cet article : https://garintheophile.fr/glpi-debian-10/

Installation des dépendances
#apt-get install apache2 mariadb-server mariadb-client php build-essential perl libapache2-mod-perl2 libxml-simple-perl libio-compress-perl libdbi-perl libapache-dbi-perl libdbd-mysql-perl libnet-ip-perl libsoap-lite-perl libxml-libxml-perl libmojolicious-perl nmap snmp php7.3-mysql php7.3-gd php7.3-mbstring php-ldap php-imap php-apcu php-xmlrpc php-soap php-cas php7.3-xml

Mariadb va poser quelques questions qui vont notament permettrent de définir un mot de passe pour l’utilisateur root (utile pour la suite).

Téléchargement et décompression de GLPI dans /var/www/html
#cd /var/www/html
#wget https://github.com/glpi-project/glpi/releases/download/9.4.6/glpi-9.4.6.tgz
#tar -zxvf glpi-9.4.6.tgz
#rm glpi-9.4.6.tgz
Configuration du serveur Apache.

Création d’un fichier virtual host. Le serveur pointera par défaut vers
le répertoire glpi :

#nano /etc/apache2/sites-available/glpi.conf

On ajoute dans le fichier :

<VirtualHost *:80>
  ServerName glpi.lan
  DocumentRoot /var/www/html/glpi/
 <Directory /var/www/html/glpi>
        AllowOverride All
        Order allow,deny
        Options Indexes
        Allow from all
 </Directory>
 ErrorLog  ${APACHE_LOG_DIR}/glpi-error.log
 CustomLog ${APACHE_LOG_DIR}/glpi-access.log combined
</VirtualHost>

ServerName est le nom de ma machine et devrais faire l’objet d’une configuration DNS. On pourra cependant accéder à glpi en utilisant l’adresse ip du serveur.

L’utilisateur www-data qui lance apache doit être propriétaire du dossier glpi :

#chown -R www-data:www-data /var/www/html/glpi

Activation du site glpi, désactivation du site par défaut et rechargement de la configuration :

#a2ensite glpi
#a2dissite 000-default
#systemctl reload apache2
Création de la base de donnée glpi et de son utilisateur
#mysql_secure_installation
#mysql -u root -p
#create user 'glpi'@'%' identified by 'mon_mot_de_passe';
#create database glpi;
#grant all privileges on glpi.* TO 'glpi'@'%';
Installation de GLPI

Se connecter à l’interface web. Le setup est trivial. Etape 3 choisir pour Serveur SQL, localhost.

Effacer la page d’installation :

#rm glpi/install/install.php
Installation de fusionInventory
#cd glpi/plugins/
#wget https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.4%2B2.4/fusioninventory-9.4+2.4.tar.bz2
#tar jxvf fusioninventory-9.4+2.4.tar.bz2
#rm fusioninventory-9.4+2.4.tar.bz2

Se connecter à l’interface web , aller dans configuration ->plugin, choisir :
Actions : installer puis Action : activer

Arriver au terme de cette installation la VM occupe 2,23 Go d’espace disque. Pour la compléter il faudrait installer un agent fusion inventory sur le serveur. Cet agent peut se voir confier de multiples taches qui feront l’objet d’un prochain article.