OCS-NG
Un article de WindowsLinux.Net - Astuces pour Windows et Linux.
Sommaire
|
OCS-NG
Présentation
Une image vaut mieux qu'un long discours, voici comment fonctionne OCS-NG :

Installation coté serveur
Test de l'installation de la version serveur 1.02 RC1.
Serveur sous Debian
Télécharger
# wget http://puzzle.dl.sourceforge.net/sourceforge/ocsinventory/OCSNG_UNIX_SERVER_1.02_RC1.tar.gz
# tar xzf OCSNG_UNIX_SERVER_1.02_RC1.tar.gz
# cd OCSNG_UNIX_SERVER_1.02_RC1
Prérequis
# aptitude install libxml-simple-perl libcompress-zlib-perl libdbi-perl libdbd-mysql-perl libapache-dbi-perl libnet-ip-perl libsoap-lite-perl php-zip
Lancer CPAN et installer un module :
# perl -MCPAN -e shell # install XML::Entities
Le système va télécharger et compiler les sources. Pour quitter, tapez exit.
Notes importantes
ATTENTION : Le programme d'installation s'effectue désormais en accord avec le standard FHS (Filesystem Hierarchy Standard). Aucun fichier ne sera installé sous le répertoire racine d'Apache. L'installation s'effectuera grâce aux fichiers de configuration d'Apache.
Si vous mettez à jour depuis OCS Inventory NG Serveur 1.01 et précédents, VOUS DEVEZ SUPPRIMER (ou déplacer) les répertoires "ocsreports" et "download" du répertoire racine d'Apache (souvent : /var/www ).
Si vous déplacez les répertoires, VOUS DEVEZ DEPLACER le répertoire "download" vers le répertoire du serveur d'Administration (par défaut : /var/lib/ocsinventory-server), surtout si vous utilisez le déploiement de logiciels.
Erreur possible
La version 1.02 RC1 est comme son nom l'indique : une version "Release Candidate", non stable.
chown: ne peut accéder `/usr/share/ocsinventory-server/ipd': Aucun fichier ou répertoire de ce type
Tapez la commande suivante :
# ln -s /var/www/ocsreports/ipd /usr/share/ocsinventory-server/ipd
Finalisation de l'installation
- Editer et vérifier le fichier :
/etc/apache2/conf.d/ocsinventory-reports.conf
- Redémarrer apache (/etc/init.d/apache2 restart)
- Voir : http://server/ocsreports/install.php pour configurer le serveur (bdd, schema...).
- Il est possible d'avoir l'erreur :
WARNING: files/ocsagent.exe missing, if you do not reinstall the DEPLOY feature won't be available
Faites alors ce qui est décrit dans la parite "Installation coté client" (Client Windows sur un serveur linux).
- Pour information, il est possible de visualiser le fichier :
/usr/share/ocsinventory-server/ocsreports/dbconfig.inc.php (nom d'utilisateur et mot de passe, BDD : ocsweb).
- Le nom d'utilisateur, à utiliser sur index.php, est admin, avec le mot de passe admin.
- Vous avez des soucis d'affichage des caractères accentués dans la console d'administration ?
Tentez cette solution : décommentez ou ajoutez default_charset = "iso-8859-1" dans php.ini (vi /etc/php5/apache2/php.ini) et redémarrez apache.
Installation coté "client"
Client Windows sur un serveur linux
Téléchargez le client :
wget http://dfn.dl.sourceforge.net/sourceforge/ocsinventory/OCSNG_WINDOWS_AGENT_1.02_RC1.zip
Décompressez le fichier :
# unzip OCSNG_WINDOWS_AGENT_1.02_RC1.zip
Copiez les exécutables Windows "au bon endroit" :
# cp *.exe /usr/share/ocsinventory-server/ocsreports/files/
Vous avez maintenant 3 fichiers supplémentaires dans le répertoire : ocsagent.exe OcsAgentSetup.exe OcsLogon.exe
Installation de l'agent sur les ordinateurs clients
Il y a deux méthodes pour générer un rapport avec l'agent Windows :
- Si l'ordinateur client ne peut pas être connecté au serveur de communication, l'inventaire est effectué via un fichier XML compressé (extension ".ocs").
L'utilisateur peut envoyer ce fichier par mail, clé usb, ou autre... L'administrateur pourra alors importer ce fichier dans la base de données via le serveur d'administration.
- Si l'ordinateur client peut utiliser le protocole HTTP afin de contacter le serveur de communication par le réseau, l'Agent discute avec le serveur de Communication pour les paramètres d'inventaire, et envoie le résultat directement à celui-ci.
Clients Windows
L'Agent OCS peut travailler comme service Windows, démarrant automatiquement au lancement de l'ordinateur. Cependant l'Agent peut fonctionner sans être un service, lancé par un script de démarrage (ou d'arrêt), par une GPO, une tâche planifiée, ou un raccourcis dans le menu démarrer.
NB : Il est recommandé d'utiliser la version "service" de l'Agent, spécialement si il est prévu d'utiliser la fonction "déploiement" de logiciels.
Le fichier OCSNG_WIN32_AGENT_1.01.zip contiens 3 fichiers :
- OcsAgentSetup.exe, installe l'agent, contiens le service Windows. Il est recommandé d'utiliser ce package.
- OcsAgent.exe, installe un agent indépendant, sur un ordinateur non connecté au réseau, permet de faire un inventaire manuel avec la commande /LOCAL (ou si vous ne désirez pas utiliser OCSAgent comme service).
- OcsLogon.exe, lanceur de l'agent "OCS Inventory NG", afin d'être utilisé dans un script ou via une GPO. Si l'agent est déjà installé, il lance juste celui-ci. Autrement il télécharge ce dernier depuis le serveur de communication, l'installe, et le lance.
Quelle version dois-je utiliser ?
Avant tout, il faut comprendre comment fonctionne l'Agent et comment fonctionne le service Windows.
Comment l'Agent Windows fonctionne ?
Quand l'agent "OCSInventory.exe" est lancé, il contacte le serveur de communication via le protocole HTTP, afin de savoir quoi faire. Le serveur peut répondre "rien à effectuer" (aucun inventaire à faire, pas de package à déployer), et l'agent cesse son activité.
Quand l'agent est lancé, il génère et envoie un rapport d'inventaire.
Dans d'autres cas, le serveur peut répondre ce que l'agent doit faire :
- Envoyer un inventaire : l'Agent s'informe sur l'ordinateur et envoie le rapport par HTTP au serveur. Le serveur répond uniquement si le dernier inventaire en date dans la base de données est plus vieux que l'option générale nommée "FREQUENCY", spécifié en jours (Dans la console : http://serveur/ocsreports/ > Configuration > Configuration)
- Découvrir le réseau : L'agent s'informe sur la configuration de l'ordinateur, scanne son sous réseau pour découvrir les éléments actifs qui y sont branchés, et envoie ces informations par HTTP au serveur. Le serveur répond seulement si l'ordinateur à le droit d'exécuter IPDISCOVER (Dans la console : http://serveur/ocsreports/ > Configuration > IPDISCOVER ).
- Déployer un programme/package : L'agent contacte le serveur de déploiement en utilisant le protocole HTTPS pour prendre le fichier d'information, télécharger des fragments du logiciel depuis le serveur, reconstruit ce dernier, et le lance.
NB : L'Agent d'OCS Inventory NG n'écoute pas le réseau. Il initie toujours la communication avec le serveur. Ainsi vous n'avez pas à ouvrir un port sur votre firewall. Cependant vous devez autoriser le fichier "OCSInventory.exe" à contacter le serveur de Communication, ou le serveur de déploiement utilisant ainsi HTTP ou HTTPS.
A chaque fois qu'un inventaire est effectué, l'agent écrit la configuration téléchargée depuis le serveur de communication dans le fichier "OCSInventory.dat" (qui se trouve dans le répertoire de l'agent).
Quand il est lancé pour la première fois, OCS Inventory NG va demander à l'utilisateur quel est la valeur TAG (si cette option est activée). Une boite de dialogue d'aide est affichée comme vous l'avez entré dans la configuration du serveur de management. Les utilisateurs peuvent utiliser cette valeur ou laisser le champ vide (vous pouvez mettre à jour cette valeur par la console d'Administration du serveur > 4ème icône en partant de la droite).
Sinon (si l'option TAG n'est pas activée), l'agent va effectuer l'inventaire et envoyer le résultat par HTTP au serveur de communication.
Comment le service Windows fonctionne ?
NB : Vous devez bénéficier des privilèges administrateurs pour installer l'Agent OCS Inventory NG comme service, ou vous devez utiliser OCS Inventory NG Packager ( http://wiki.ocsinventory-ng.org/index.php?title=Packager ) pour créer un exécutable d'installation qui peut s'exécuter même si vous n'avez pas les droits administrateurs.
Référez au paragraphe § 6.3Uploading Agent for deployement through launcher “OcsLogon.exe” ou à la documentation OCS Inventory NG Packager documentation (bientôt traduite ici, à moins que quelqu'un se porte volontaire).
L'agent OCS Inventory NG "OCSInventory.exe" est lancé par le service "OcsService.exe" toutes les X heures (défini par la variable PROLOG_FREQ).
Une mémoire du compte à rebours est conservé (en secondes) dans le fichier "service.ini" (valeur TTO_WAIT), c'est donc une durée avant son exécution réelle.
Le nombre d'heures à attendre est définit par défaut à l'installation, et à chaque fois que la variable "PROLOG_FREQ" est changée dans la console d'administration.
Ce système permet d'éviter d'avoir tous les agents qui contactent le serveur en même temps. La fréquence est alors aléatoire entre 0 et PROLOG_FREQ.
Vous pouvez ajuster ces paramètres en fonction de la charge supportée par votre serveur.
Quand le service démarre l'agent, il l'appelle avec les options de ligne de commandé spécifiés par la valeur "Miscellaneous" du fichier service.ini.
Exemple :
[OCS_SERVICE] NoProxy=1 Server=my-ocs-server.domain.tld Pnum=80 Miscellaneous=/DEBUG /NP /server: my-ocs-server.domain.tld /pnum:80 PROLOG_FREQ=10 OLD_PROLOG_FREQ=10 TTO_WAIT=1505
Comme vous pouvez le voir, service est seulement un lanceur qui va lancer l'agent régulièrement, même si personne ne se connecte à l'ordinateur.
Lequel dois-je utiliser?
Vous désirez avoir vos ordinateurs dans un inventaire, même si personne se connecte ? Utilisez le service.
Si vous désirez utiliser la fonction de déploiement de logiciels ? Utilisez le service.
Ainsi le programme à installer sera téléchargé en arrière plan, et les utilisateurs connectés pourrons continuer à travailler.
Si vous ne voulez pas enregistrer l'agent comme service, ou avoir un élément qui apparaît dans la base des registres ... Utilisez la version simple de l'Agent. Cependant un package peut durer plus longtemps à se déployer quand un utilisateur se connecte ...
Dans d'autres mots : il est recommandé d'utiliser la version service.
Installation manuelle de l'Agent en service
Installation manuelle de l'Agent sans le service
Déployer l'agent utilisant le lanceur "OcsLogon.exe" via un script de démarrage ou une GPO
Déployer l'agent par une GPO
Déployer l'agent par un script
Lignes de commandes avec l'agent
Liens
Externes
http://wiki.ocsinventory-ng.org/index.php?title=BAC_A_SABLE#Setting_up_agent_on_client_computers.

