Ceci est une ancienne révision du document !


~~CLOSETOC~~

OCS Inventory - Installation d'un outil d'inventaire

OCS Inventory est un outil permettant d'inventorier via ses agents, le matériel et les logiciels présents dans votre parc informatique. Couplé avec un gestionnaire de parc (GLPI par exemple), il donne aux administrateurs une vu complète de la composition du parc.

<note>Cette procédure a été testée et réalisée sur une Debian 10.</note>

<note warning>Cette procédure nécessite des droits root. Comme d'habitude, prenez garde à ce que vous faîtes.</note>

  • Comme toujours, on commence par mettre à jour ses dépôts :

apt update

  • On installe les paquets nécessaires (si vous l'installer sur le même serveur que GLPI, la plupart de ces paquets sont déjà installés) :

apt -y install git make cmake gcc make build-essential libapache2-mod-perl2 libapache-dbi-perl libapache-db-perl libapache2-mod-php php php-zip php-pclzip php-gd php-mysql php-soap php-curl php-json php-xml php-mbstring perl libxml-simple-perl libcompress-zlib-perl libdbi-perl libdbd-mysql-perl libnet-ip-perl libsoap-lite-perl libio-compress-perl libapache-dbi-perl libapache2-mod-perl2 libapache2-mod-perl2-dev libdbd-mysql-perl libnet-ip-perl libxml-simple-perl libarchive-zip-perl composer

  • On active les modules PERL nécessaires :

cpan install XML::Entities Apache2::SOAP Net::IP Apache::DBI Mojolicious Switch Plack::Handler Archive::Zip

  • On se connecte à la base de données :

mysql

  • On crée la base ocs :

CREATE DATABASE ocs;

  • On donne les droits d'administration sur cette base à l'utilisateur ocs avec un mot de passe à définir (pour l'exemple, l'utiliserai abcd1234) :

GRANT ALL PRIVILEGES ON ocs.* TO ocs@localhost IDENTIFIED BY "abcd1234";

  • On applique les nouveaux droits :

FLUSH PRIVILEGES;

  • On sort de la base :

QUIT;

  • On se place dans un dossier de travail et on clone le dépôt GitHub :

cd /tmp/
git clone https://github.com/OCSInventory-NG/OCSInventory-Server.git

  • On se place dans le dépôt et on ajoute le dépôt spécifique à ocsreports :

cd OCSInventory-Server/
git clone https://github.com/OCSInventory-NG/OCSInventory-ocsreports.git ocsreports

  • On prépare les dépendances :

cd ocsreports/
composer install

  • On édite le fichier setup.sh :

cd ..
nano setup.sh

  • On recherche et on modifie les champs suivants :
    • DB_SERVER_HOST : doit avoir la valeur localhost.
    • DB_SERVER_PORT : doit avoir la valeur 3306.
    • DB_SERVER_USER : doit avoir la valeur ocs.
    • DB_SERVER_PWD : doit avoir pour valeur, le mot de passe que vous avez définie au niveau de la base de données.
  • Un fois modifié, on lance l'installation :

./setup.sh

  • L'installation se lance, il suffit juste de répondre aux différentes questions. En appuyant directement sur Entrée, on choisit l'option par défaut (celle présentée entre []).
  • Une fois le processus d'installation terminé, on peut activer les configurations apache2 correspondantes au site web et au dépôt des inventaires :

a2enconf ocsinventory-reports
a2enconf z-ocsinventory-server

  • Accessoirement, si vous voulez utiliser l'API REST, vous pouvez activer son fichier de configuration :

a2enconf zz-ocsinventory-server

  • On donne les bon droits au dossiers web :

chown -R www-data:www-data /var/lib/ocsinventory-reports

  • On a plus qu'à redémarrer apache2 :

service apache2 restart

Configuration post-install

  • Si tout c'est bien passé, en vous connectant à l'adresse http://server/ocsreports, vous devriez tomber sur la page de configuration post-install :

  • On remplit donc les champs suivants :
    • MySQL login : ocs si vous avez suivi cette procédure.
    • MySQL password : le mot de passe défini précédemment.
    • Name of Database : ocs là-aussi.
    • MySQL HostName : localhost normalement.
    • MySQL Port : on laisse par défaut.
    • Enable SSL : ça dépend si vous mettez un certificat SSL sur ce site ou pas. C'est indispensable si le site est visible publiquement, notamment si on souhaite inventorier des postes sur des sites distants. Si ça reste en réseau local, ça dépendra de la politique de votre entreprise.
    • SSL MODE : ça dépend de votre certificat. Si il peut être vérifié publiquement, utilisez MYSQLI_CLIENT_SSL. Dans le cas d'un certificat auto-signé, il vaut mieux utiliser MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT.
    • SSL key path : le chemin vers la clé privée du certificat SSL.
    • SSL certificat path : le chemin vers le certificat SSL.
    • CA certificat path : le chemin vers le certificat de l'authorité de certification intermédiaire.
  • Une fois tout renseigné, on peut cliquer sur Send. Si tout va bien, on obtient un joli message :

  • On clique sur le lien Click here to enter OCS-NG GUI.
  • Il se peut que la base ait besoin d'un mise à jour. Dans ce cas, un message d'information apparaît. On clique sur Perform the update pour lancer cette mise à jour :

  • La mise à jour finie et réussie, le lien Click here to enter OCS-NG GUI réapparait. On clique dessus donc :

  • On arrive enfin sur la page de connexion de OCS Inventory. Le compte par défaut est admin et le mot de passe par défaut est admin (à changer !!!) :

  • Si tout fonctionne correctement, il ne reste plus qu'à supprimer le fichier /usr/share/ocsinventory-reports/ocsreports/install.php afin d'éviter des modifications malveillantes surtout si le site est publique.

<note tip>Félicitations ! Vous voilà en possession d'un serveur OCS Inventory opérationnel. Il ne reste plus qu'à installer les agents sur vos différents postes et serveurs et intégrer OCS à GLPI, dans le cas où vous auriez aussi un serveur GLPI.</note>

  • Connectez vous sur la console de votre serveur GLPI et téléchargez le plugins OCS Inventory pour GLPI :

wget https://github.com/pluginsGLPI/ocsinventoryng/releases/download/1.7.0/glpi-ocsinventoryng-1.7.0.tar.gz

  • Décompressez l'archive :

tar -zxvf glpi-ocsinventoryng-1.7.0.tar.gz

  • Copiez le dossier décompressé dans le dossier des plugins de GLPI :

cp -rf ocsinventoryng/ /var/www/glpi/plugins/

  • On se connecte alors sur GLPI et on va dans le menu Configuration/Plugins :

  • On clique sur l’icône pour accéder à la liste des plugins :

  • Dans la liste des plugins, on clique sur l'icône pour installer le plugin :

  • Une fois le plugin installé, un message nous l'indique en nous donnant la possibilité de l'activer, ce qu'on fera. On peut aussi l'activer via l'interrupteur qui est apparu dans la zone Action du plugin :

  • Après avoir activé le plugin, on clique sur son nom pour le configurer :

  • On commencera par configurer les accès au serveur OCS en cliquant sur Serveurs OCSNG :

  • On clique sur pour ajouter une nouvelle configuration puis on renseigne les différents champs avant de cliquer sur Ajouter :

<note tip>Félicitations ! GLPI et OCS sont désormais liés.</note>

Pour aller plus loin, vous pouvez :

  • Aller dans les paramétrages de OCS Inventory NG via le menu Outils/OCS Inventory NG :

  • Tester la connexion au serveur ou paramétrer les options d'import via le menu Configuration du serveur OCSNG dans l'onglet Configuration du serveur :

<note important>Si lors des tests de connexion, vous avez l'erreur Configuration OCSNG invalide (TRACE_DELETED doit être activé), vous pourrez activer cette option dans l'interface web de OCS Inventory NG, menu Configuration/Configuration générale, Onglet Serveur.</note>

  • Importer, synchroniser, lier ou supprimer des postes depuis les actions de l'onglet Import de l'inventaire :

  • Téléchargez et exécutez l'installateur sur le site GitHub.
  • Au lancement, cliquez sur Suivant > :

  • On accepte la licence utilisateur :

  • On laisse les options par défaut et on clique sur Suivant > :

  • Dans la page suivante, on indique :
    1. l'adresse du serveur OCS Inventory.
    2. Optionnel : Les identifiants de connexion dans le cas où vous avez paramétrer un compte spécifique pour la collecte de données.
    3. cochez cette case pour utiliser un certificat et une communication en SSL.
    4. indiquez ici le certificat à utiliser lors de la communication SSL.
  • Une fois les différents champs remplis, cliquez sur Suivant >

  • Si le poste utilise un proxy pour se connecter à internet remplissez les différents champs sinon passez à la suite en cliquant sur Suivant > :

  • Sur cette page, on peut choisir les différentes options pour l'agent :
    • Enable verbose log : active la verbosité dans les logs, utile en cas de débogage.
    • Do not scan for installed software : les logiciels ne seront pas inclus dans le rapport qui de fait sera plus léger. A voir selon la politique de votre entreprise.
    • Never ask for TAG : la machine ne sera associé à aucune étiquette.
    • Specify TAG value : indique l'étiquette à utiliser pour cette machine.
    • Do not register service : l'agent ne sera pas exécuter automatiquement au démarrage du poste.
    • Do not register Systray applet : l'agent n'apparaîtra dans la barre de notifications.
    • Immediately launch inventory : exécute l'agent immédiatement après l'installation.
  • Une fois les options choisies, on clique sur Suivant > :

  • On laisse le dossier d'installation par défaut et on clique sur Suivant > :

  • L'installation se lance :

  • Puis se termine. On peut alors cocher la cas Start OCS inventory NG Systray Applet pour lancer l'agent dans la zone de notification puis cliquer sur Fermer pour quitter l'installateur :

  • On met à jour les dépôts :

apt update

  • On installe l'agent :

apt -y install ocsinventory-agent

  • Lors de l'installation, le système demande le mode de communication :
    • Locale : L'inventaire est fait mais le rapport reste sur la machine.
    • HTTP : L'inventaire est envoyé au serveur OCS Inventory.
  • On choisira donc HTTP :

  • Il faut ensuite indiquer l'adresse du serveur :

  • L'installation se termine sans d'autres demandes. L'agent se lancera automatiquement mais on peut le forcer (ou le tester) avec la commande :

ocsinventory-agent

Options

Le fichier de configuration de l'agent est /etc/ocsinventory/ocsinventory-agent.cfg. On peut l'éditer pour ajouter quelques options intéressantes (selon l'utilité que vous en avez) :

  • tag : permet de spécifier une étiquette, une classification aidant l'organisattion des postes dans OCS Inventory. Exemple : tag=PC_WINDOWS
  • ssl : indique à l'agent la nécessité ou pas d'utiliser ssl (0 pour non et 1 pour oui), utile lors des problèmes de certificat auto-signé. Exemple : ssl=0
  • debug : active les informations de débogage (0 pour inactif et 1 pour actif). Exemple : debug=1

Nicolas THOREZ 2020/07/16 14:40

Entrer votre commentaire. La syntaxe wiki est autorisée:
 
  • linux_ocs.1596700671.txt.gz
  • Dernière modification : 2020/08/06 09:57
  • de nekan