Afficher la pageAnciennes révisionsLiens de retourHaut de page Cette page est en lecture seule. Vous pouvez afficher le texte source, mais ne pourrez pas le modifier. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur. ====== OCS Inventory - Installation d'un outil d'inventaire ====== <label type="info">Création</label> --- //[[nekan@shyrkasystem.com|Nicolas THOREZ]] 2020/07/16 14:40// 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. * Référence : [[https://ocsinventory-ng.org/?lang=fr|OCS Inventory NG]] <callout type="info" title="Environnement" icon="true">Cette procédure a été testée et réalisée sur une Debian 10.</callout> <callout type="danger" title="Droits" icon="true">Cette procédure nécessite des droits ''root''. Comme d'habitude, prenez garde à ce que vous faîtes.</callout> ===== Pré-requis ===== * Comme toujours, on commence par mettre à jour ses dépôts : <sxh bash>apt update</sxh> * 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) : <sxh bash>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</sxh> * On active les modules ''PERL'' nécessaires : <sxh bash>cpan install XML::Entities Apache2::SOAP Net::IP Apache::DBI Mojolicious Switch Plack::Handler Archive::Zip</sxh> ===== Préparation de la base de données ===== * On se connecte à la base de données : <sxh bash>mysql</sxh> * On crée la base ''ocs'' : <sxh sql>CREATE DATABASE ocs;</sxh> * 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'') : <sxh sql>GRANT ALL PRIVILEGES ON ocs.* TO ocs@localhost IDENTIFIED BY "abcd1234";</sxh> * On applique les nouveaux droits : <sxh sql>FLUSH PRIVILEGES;</sxh> * On sort de la base : <sxh sql>QUIT;</sxh> ===== Installation du serveur ===== * On se place dans un dossier de travail et on clone le dépôt ''GitHub'' : <sxh bash>cd /tmp/ git clone https://github.com/OCSInventory-NG/OCSInventory-Server.git</sxh> * On se place dans le dépôt et on ajoute le dépôt spécifique à ''ocsreports'' : <sxh bash>cd OCSInventory-Server/ git clone https://github.com/OCSInventory-NG/OCSInventory-ocsreports.git ocsreports</sxh> * On prépare les dépendances : <sxh bash>cd ocsreports/ composer install</sxh> * On édite le fichier ''setup.sh'' : <sxh bash>cd .. nano setup.sh</sxh> * 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 : <sxh bash>./setup.sh</sxh> * 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 : <sxh bash>a2enconf ocsinventory-reports a2enconf z-ocsinventory-server</sxh> * Accessoirement, si vous voulez utiliser l'API REST, vous pouvez activer son fichier de configuration : <sxh bash>a2enconf zz-ocsinventory-server</sxh> * On donne les bon droits au dossiers web : <sxh bash>chown -R www-data:www-data /var/lib/ocsinventory-reports</sxh> * On a plus qu'à redémarrer ''apache2'' : <sxh bash>service apache2 restart</sxh> ===== 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 : <image shape="thumbnail">{{ :linux:ocs:ocs_001.png |}}</image> * 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 : <image shape="thumbnail">{{ :linux:ocs:ocs_002.png |}}</image> * 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 : <image shape="thumbnail">{{ :linux:ocs:ocs_003.png |}}</image> * La mise à jour finie et réussie, le lien ''Click here to enter OCS-NG GUI'' réapparait. On clique dessus donc : <image shape="thumbnail">{{ :linux:ocs:ocs_004.png |}}</image> * 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 !!!) : <image shape="thumbnail">{{ :linux:ocs:ocs_005.png |}}</image> * 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. <callout type="success" title="Installation" icon="true">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''.</callout> ===== Intégration à GLPI ===== * Connectez vous sur la console de votre serveur GLPI et téléchargez le plugins OCS Inventory pour GLPI : <sxh bash>wget https://github.com/pluginsGLPI/ocsinventoryng/releases/download/1.7.0/glpi-ocsinventoryng-1.7.0.tar.gz</sxh> * Décompressez l'archive : <sxh bash>tar -zxvf glpi-ocsinventoryng-1.7.0.tar.gz</sxh> * Copiez le dossier décompressé dans le dossier des plugins de GLPI : <sxh bash>cp -rf ocsinventoryng/ /var/www/glpi/plugins/</sxh> * On se connecte alors sur ''GLPI'' et on va dans le menu ''Configuration/Plugins'' : <image shape="thumbnail">{{ :linux:ocs:ocs_017.png |}}</image> * On clique sur l’icône {{fa>puzzle-piece?13}} pour accéder à la liste des plugins : <image shape="thumbnail">{{ :linux:ocs:ocs_018.png |}}</image> * Dans la liste des plugins, on clique sur l'icône {{mdi>folder-plus?13}} pour installer le plugin : <image shape="thumbnail">{{ :linux:ocs:ocs_019.png |}}</image> * 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 : <image shape="thumbnail">{{ :linux:ocs:ocs_020.png |}}</image> * Après avoir activé le plugin, on clique sur son nom pour le configurer : <image shape="thumbnail">{{ :linux:ocs:ocs_021.png |}}</image> * On commencera par configurer les accès au serveur OCS en cliquant sur ''Serveurs OCSNG'' : <image shape="thumbnail">{{ :linux:ocs:ocs_022.png |}}</image> * On clique sur {{fa>plus?13}} pour ajouter une nouvelle configuration puis on renseigne les différents champs avant de cliquer sur ''Ajouter'' : <image shape="thumbnail">{{ :linux:ocs:ocs_023.png |}}</image> <callout type="success" title="Installation" icon="true">Félicitations ! GLPI et OCS sont désormais liés.</callout> Pour aller plus loin, vous pouvez : * Aller dans les paramétrages de ''OCS Inventory NG'' via le menu ''Outils/OCS Inventory NG'' : <image shape="thumbnail">{{ :linux:ocs:ocs_024.png |}}</image> * 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'' : <callout type="warning" title="Paramétrage" icon="true">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''.</callout> <image shape="thumbnail">{{ :linux:ocs:ocs_025.png |}}</image> * Importer, synchroniser, lier ou supprimer des postes depuis les actions de l'onglet ''Import de l'inventaire'' : <image shape="thumbnail">{{ :linux:ocs:ocs_026.png |}}</image> ===== Instalation des agents ===== ==== Windows ==== * Téléchargez et exécutez l'installateur sur le site [[https://github.com/OCSInventory-NG/WindowsAgent/releases|GitHub]]. * Au lancement, cliquez sur ''Suivant >'' : <image shape="thumbnail">{{ :linux:ocs:ocs_008.png |}}</image> * On accepte la licence utilisateur : <image shape="thumbnail">{{ :linux:ocs:ocs_009.png |}}</image> * On laisse les options par défaut et on clique sur ''Suivant >'' : <image shape="thumbnail">{{ :linux:ocs:ocs_010.png |}}</image> * Dans la page suivante, on indique : - l'adresse du serveur OCS Inventory. - Optionnel : Les identifiants de connexion dans le cas où vous avez paramétrer un compte spécifique pour la collecte de données. - cochez cette case pour utiliser un certificat et une communication en SSL. - indiquez ici le certificat à utiliser lors de la communication SSL. * Une fois les différents champs remplis, cliquez sur ''Suivant >'' <image shape="thumbnail">{{ :linux:ocs:ocs_011.png |}}</image> * Si le poste utilise un proxy pour se connecter à internet remplissez les différents champs sinon passez à la suite en cliquant sur ''Suivant >'' : <image shape="thumbnail">{{ :linux:ocs:ocs_012.png |}}</image> * 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 >'' : <image shape="thumbnail">{{ :linux:ocs:ocs_013.png |}}</image> * On laisse le dossier d'installation par défaut et on clique sur ''Suivant >'' : <image shape="thumbnail">{{ :linux:ocs:ocs_014.png |}}</image> * L'installation se lance : <image shape="thumbnail">{{ :linux:ocs:ocs_015.png |}}</image> * 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 : <image shape="thumbnail">{{ :linux:ocs:ocs_016.png |}}</image> ==== Linux ==== * On met à jour les dépôts : <sxh bash>apt update</sxh> * On installe l'agent : <sxh bash>apt -y install ocsinventory-agent</sxh> * 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'' : <image shape="thumbnail">{{ :linux:ocs:ocs_006.png |}}</image> * Il faut ensuite indiquer l'adresse du serveur : <image shape="thumbnail">{{ :linux:ocs:ocs_007.png |}}</image> * L'installation se termine sans d'autres demandes. L'agent se lancera automatiquement mais on peut le forcer (ou le tester) avec la commande : <sxh bash>ocsinventory-agent</sxh> === 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 ~~DISCUSSION~~ linux_ocs.txt Dernière modification : 2021/03/05 19:02de nekan