OCS Inventory NG (c’est son nom complet) pour Open Computer and Software Inventory est une application permettant de réaliser un inventaire sur les machines d’un réseau ( configuration matérielle, logiciels installés) à l’aide d’une interface web. Elle permet également de (télé-)déployer des applications sur un ensemble de machines.
Pour cette application, nous avons fait l’installation sur le serveur où GLPI a été installé
1- Installation des dépendances :
#apt-get install apache2-dev
#apt-get install libmariadbclient-dev
#apt-get install php-soap
#cpan install --force CPAN
#cpan install YAML
#cpan install Mojolicious::Lite Switch Plack::Handler
-> On répond Yes à la question posée
#cpan install XML::Simple Compress::Zlib DBI DBD::mysql Apache::DBI Net::IP Archive::Zip XML::Entities
#apt install libxml-simple-perl libperl5.28 libdbi-perl libdbd-mysql-perl libapache-dbi-perl libnet-ip-perl libsoap-lite-perl libarchive-zip-perl make build-essential
#apt install php-pclzip make build-essential libdbd-mysql-perl libnet-ip-perl libxml-simple-perl php phpmbstring php-soap php-mysql php-curl php-xml php-zip
#cpan install Apache2::SOAP
#perl -MCPAN -e 'install Apache2::SOAP
La machine est prête à recevoir l’application. Aucun conflit de dépendances n’a été détecté avec la solution déjà en place sur ce serveur.
2 solutions pour récupérer l’archive tar.gz d’OCS-Inventory (La version choisie a été la 2.7. A savoir: la nouvelles version, datant de Septembre 2020, est numérotée 2.8.1)
1/On se rend sur le site officiel
2/ On se rend dans le répertoire /tmp
#cd /tmp
Et on se sert de wget
#wget github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/2.7/OCSNG_UNIX_SERVER_2.7.tar.gz
On décompresse l’archive :
#tar xzf OCSNG_UNIX_SERVER_2.7.tar.gz
On se déplace dans le dossier créé
#cd OCSNG_UNIX_SERVER_2.7
On exécute le script d’installation :
#sh setup.sh
‘Entrée’ pour valider chaque question.
Fin de l’installation
2 – Editer les 2 fichiers de configuration d’OCS-Inventory : (voir doc de l’application)
#nano /etc/apache2/conf-available/z-ocsinventory-server.conf
Le fichier doit ressembler à ceci
PerlSetEnv OCS_DB_HOST localhost
# Replace 3306 by port where running MySQL server, generally 3306
PerlSetEnv OCS_DB_PORT 3306
# Name of database
PerlSetEnv OCS_DB_NAME ocsweb
PerlSetEnv OCS_DB_LOCAL ocsweb
# User allowed to connect to database
PerlSetEnv OCS_DB_USER ocsbdd
# Password for user
PerlSetVar OCS_DB_PWD ocsbddpass
Enregistrez et fermez le fichier.
#nano /etc/apache2/conf-available/zz-ocsinventory-restapi.conf
Le fichier
<Perl>
$ENV{PLACK_ENV} = ‘production’;
$ENV{MOJO_HOME} = ‘/usr/local/share/perl/5.24.1’;
$ENV{MOJO_MODE} = ‘deployment’;
$ENV{OCS_DB_HOST} = ‘localhost‘;
$ENV{OCS_DB_PORT} = ‘3306‘;
$ENV{OCS_DB_LOCAL} = ‘ocsweb‘;
$ENV{OCS_DB_USER} = ‘ocsbdd‘;
$ENV{OCS_DB_PWD} = ‘ocsbddpass‘;
</Perl>
Enregistrez et fermez le fichier.
On s’occupe ensuite des droits
#chown root.www-data /var/lib/ocsinventory-reports
#chmod 755 /var/lib/ocsinventory-reports
(petit rappel sur les droits: chmod 755 donne au propriétaire tous les droits, aux membres du groupe et aux autres les droits de lecture et d’accès.
En valeur alpha numérique, on l’écrira sous cette forme : chmod rwx r-x r-x (7 5 5 donc) . Il y a de la doc sur le sujet à travers le web 😉 )
Activation des fichiers de configuration :
#a2enconf z-ocsinventory-server
#a2enconf ocsinventory-reports
#a2enconf zz-ocsinventory-restapi
Redémarrage du service Apache :
#service apache2 restart
On peut maintenant accéder à l’interface d’OCS via un navigateur :
Renseignez les informations de la bdd OCS puis cliquez sur ‘Envoyer’ :
Cliquez sur ‘Click here to enter OCS-NG GUI’ :
‘Effectuer la mise à jour’ :
On s’identifie et on arrive sur cette page:
Créer de nouveau identifiants -> Configuration/Utilisateurs/Créer un utilisateur.
-Dans le menu déroulant Type, sélectionner Super administrateur.
-Ajouter un prénom.
-Se connecter avec le nouveau compte Super administrateur et supprimer le compte ‘admin’.
-Aller dans le menu : Configuration/General Configuration/Serveur et activer l’option
Trace_Deleted :
Il faut ensuite modifier les restrictions de taille de fichiers pour le déploiement :
#nano /etc/apache2/conf-available/ocsinventory-reports.conf
Dans la configuration du module php7, changer les informations suivantes :
php_value post_max_size 1200m
php_value upload_max_filesize 1000m
Ces valeurs sont à adapter en fonction des besoins de déploiement et de la taille des paquets.
Upload_max_filesize doit être plus grand que la somme des packages du déploiement
post_max_size doit être plus grand que upload_max_filesize.
Enregistrer puis redémarrez Apache.
Pour terminer, on supprime le fichier d’installation du serveur :
#rm /usr/share/ocsinventory-reports/ocsreports/install.php
La dernière chose à faire pour en finir avec la partie serveur est de lier GLPI et OCS
Nous allons maintenant lier GLPI et OCS-Inventory (inventaire d’OCS présent dans GLPI.)
Dans GLPI, aller dans ‘Configuration/Plugins puis cliquer sur ‘voir le catalogue des plugins’.
-> ‘OCS Inventory NG’ :
Puis sur l’icône de téléchargement :
Redirection vers github, sélectionner la version la plus récente (et compatible avec la version
installée de GLPI) :
Déplacer ensuite le fichier vers /usr/share/glpi/plugins/
Puis on se rend dans le repertoire …/plugins/ et on décompresse le fichier :
#tar xzf /usr/share/glpi/plugins/ glpi-oscsinventory-1.6.1.tar.gz
On supprime le fichier compressé : #rm /usr/share/glpi/plugins/glpi-ocsinventoryng-1.6.1.tar.gz
Retourner sur GLPI, recharger la page des plugins, cliquer sur ‘Installer’, puis sur ‘Activer’.
Accéder au nouveau menu: Outils/OCS Inventory NG :
Ajouter un serveur OCSNG, renseigner les infos de la bdd de OCS puis cliquer sur ‘Ajouter’ :
‘Configuration du serveur OCSNG : Serveur OCS’ dans Outils/OCS Inventory NG.
Ici, plusieurs options sont configurables :
Également dans le menu Outils / OCS Inventory NG / Import de l’inventaire / offre des fonctions
d’import manuel :
Dans le prochain billet, nous verrons comment installer les agents OCS sur des machines clientes Windows Microsoft & Debian Gnu/linux
Ce billet avec pour bruit de fond Laurent Garnier – « 30 » dans les oreilles