Installation et configuration rapide de OCS NG

Aujourd’hui, la configuration de OCS inventory.

OCS NG (pour new generation) Inventory est un outil de gestion de parc. Il a (avait ?) besoin de GLPI pour fonctionner. Cet documentation a un an, elle sera donc peut être dépassé sur certains points.

 

Installation de GLPI

 Installation des serveurs APACHE, MYSQL et PHP

 apt-get install apache2 libapache2-mod-php5 php5 php5-mysql mysql-server-5.0

Laissez le paramétrage MySQL par défaut. Installez, le module de gestion des images dans les scripts (nécessaire pour éviter les erreurs)

apt-get install php5-gd

Relancez le serveur APACHE

/etc/init.d/apache2 restart

Création du compte sur le serveur « MYSQL »

mysql -uroot -hlocalhost -p

Se connecter en mode « MYSQL » et créez la base de données (nom interchangeable)

create database base_de_donnes_glpi;

Créez l’utilisateur « GLPI »

create user glpi@'localhost' identified by 'mon mot de passe';

Attribuez les droits à l’utilisateur crée précédemment

grant all on base_de_donnes_glpi.* to glpi@'localhost';

Rechargez les privilèges (par ricochet pour glpi) dans la base

flush privileges;

Quittez le mode « MYSQL »

quit;

Allez dans le dossier « www » sur le serveur APACHE

cd /var/www/

Téléchargez la dernière version de « GLPI » (forcez la « non vérification » des certificats)

wget https://forge.indepnet.net/attachments/download/1387/glpi-0.83.7.tar.gz --no-check-certificate

Extraire les fichiers

tar -xvzf glpi-0.83.7.tar.gz

Changez le propriétaire

chown -R www-data /var/www/glpi

Supprimez l’archive (fichier tar devenu inutile)

rm glpi-0.83.7.tar.gz

Installez certains modules nécessaires au bon fonctionnement et relancez le serveur «APACHE »

apt-get install libapache2-mod-php5 libapache2-mod-perl2

apt-get install libxml-simple-perl libcompress-zlib-perl

apt-get install libdbi-perl libdbd-mysql-perl

apt-get install libnet-ip-perl libphp-pclzip make

apt-get install libapache-dbi-perl

perl -MCPAN -e 'install XML::Entities'

perl -MCPAN -e 'install SOAP::Lite'

/etc/init.d/apache2 restart

Attention : des problèmes de lecture du langage PHP5 par le serveur « APACHE » peuvent apparaitre. Il est nécessaire de réaliser la manipulation suivante :

vim /etc/apache2/mods-available/php5.conf

 Commentez les lignes suivantes

# To re-enable php in user directories comment the following lines

# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it

# prevents .htaccess files from disabling it.

# <IfModule mod_userdir.c>

# <Directory /home/*/public_html>

# php_admin_value engine Off

# </Directory>

# </IfModule>

# </IfModule>

Installation graphique du serveur GLPI

Se connecter avec un navigateur web à l’adresse suivante:  http://adresse/glpi

Lors de la configuration de la base de données, ajoutez les informations suivantes :

Serveur mysql : localhost

Utilisateur: glpi

Mot de passe : le mot de passe

Sélectionnez « base_de_donnes_glpi ».

L’installation est terminée. Et on passe à l’installation de OCS.

 OCS Inventory

Installation de OCS Inventory

Allez dans le dossier Apache

cd /var/www/

Téléchargez la dernière version :

wget https://launchpad.net/ocsinventory-server/stable-2.1/2.1.1/+download/OCSNG_UNIX_SERVER-2.1.1.tar.gz --no-check-certificate

Extraire les fichiers

tar -xvzf OCSNG_UNIX_SERVER-2xxx.tar.gz

Supprimez l’archive

rm OCSNG_UNIX_SERVER-2.1.1.tar.gz

Allez dans le dossier « OCSNG_UNIX_SERVER-2.1.1 »

cd OCSNG_UNIX_SERVER-2.1.1

Lancez le script d’installation et laissez les paramètres par défaut

./setup.sh

Se connecter à la base «MYSQL »

mysql -uroot -hlocalhost -p

Créez la base « OCS »

create database base_de_donnes_ocs;

Créez l’utilisateur « OCS »

create user utilisateur_ocs@'localhost' identified by 'mot de passe choisi ';

Attribuez les droits

grant all on base_de_donnes_ocs.* to utilisateur_ocs@'localhost';

Relancez les privilèges

flush privileges

Quittez

quit;

Allez dans le fichier suivant afin de vérifier la configuration de la base de données

vim /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php

Si vous rencontrez des erreurs 500 sur l’agent c’est que votre configuration n’est pas bonne et qu’il faut la modifier.

vim /etc/apache2/conf.d/z-ocsinventory-server.conf

Ci joint, le fichier de conf à modifier:

# Master Database settings

# Replace localhost by hostname or ip of MySQL server for WRITE

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 base_de_donnes_ocs

PerlSetEnv OCS_DB_LOCAL base_de_donnes

# User allowed to connect to database

PerlSetEnv OCS_DB_USER utilisateur_ocs

# Password for user

PerlSetVar OCS_DB_PWD Votre mot de passe

Modifiez les informations « SGBD » crées précédemment dans ce fichier pour que l’agent fonctionne correctement. Relancez le serveur « APACHE »

Supprimez le fichier « install.php »

rm /usr/share/ocsinventory-reports/ocsreports/install.php

Changez le mot de passe du compte « administrateur », par un mot de passe plus compliqué en se connectant avec admin. De base, l’authentification se fait avec:

Admin

Admin

Sécurisation basique d’apache. Par défaut, Apache affiche la version que vous utilisez. Allez dans le répertoire suivant

cd /etc/apache2/conf.d/security

Changez la ligne suivante

ServerSignature

Par

ServerSignature Off

Et

ServerTokens

Par

ServerTokens Prod

Allez dans le fichier

vim /etc/apache2/sites-available/default

Insérez le code suivant avec votre ip :

<Directory />

Order Deny,Allow

Deny from all

Options None

AllowOverride None

</Directory>

<Directory /web>

Order Deny,Allow

Deny from all

Allow from ce quevous voulez autorisé

</Directory>

Cette liste est évidemment non exhaustive.

2 Changement de la langue par défaut

Le fichier qui détermine la langue de l’application « OCS » est le fichier var.php. Ce fichier se trouve dans

/usr/share/ocsinventory-reports/ocsreports/

A l’intérieur, il faut modifier en mettant french à la place de english

define("DEFAULT_LANGUAGE","french");    // Default language

Ne pas oublier de relancer le navigateur afin que les modifications soient prises en compte.

3 Correction du plugin Office

Ce plugin permet de connaitre les versions d’office installées sur le parc ainsi que les clés de séries.

Cependant, vous trouverez ci-dessous les informations nécessaires à son installation :

Après l’intégration du plugin, il est possible que vous ayez un « crsf attack » à la place du menu des plugins. C’est du à une erreur dans le code Dans cette version de l’interface OCS, et par mesures de sécurité, il n’est plus possible d’ouvrir un formulaire sans passer par ces deux fonctions. Il faut modifier dans les fichiers ci-dessous les lignes suivantes :

echo "<form name='".$form_name."' id='".$form_name."' method='POST' action=''>";

par

echo open_form($form_name);

Les fichiers, incluant les lignes, à modifier sont les suivants :

usr\share\ocsinventory-reports\ocsreports\plugins\computer_detail\cd_mobile\cd_mobile.php:18://~ echo "<form name='".$form_name."' id='".$form_name."' method='POST' action=''>";

usr\share\ocsinventory-reports\ocsreports\plugins\computer_detail\cd_officepack\cd_officepack.php:15://~ echo "<form name='".$form_name."' id='".$form_name."' method='post' action=''>";

usr\share\ocsinventory-reports\ocsreports\plugins\main_sections\ms_plugins\ms_plugins.php:16://~ echo "<form name='".$form_name."' id='".$form_name."' method='POST' action=''>";

usr\share\ocsinventory-reports\ocsreports\plugins\main_sections\conf\PluginOcsOfficekey-2.2.4\ms_plugins\ms_plugins.php:16://~ echo "<form name='".$form_name."' id='".$form_name."' method='POST' action=''>";

usr\share\ocsinventory-reports\ocsreports\plugins\main_sections\conf\PluginOcsOfficekey-2.2.4\ms_multi_search\ms_multi_search.php:125://~ echo "<form name='".$form_name."' id='".$form_name."' method='POST' action=''>";

usr\share\ocsinventory-reports\ocsreports\plugins\main_sections\conf\PluginOcsOfficekey-2.2.4\cd_officepack\cd_officepack.php:15://~ echo "<form name='".$form_name."' id='".$form_name."' method='POST' action=''>";

usr\share\ocsinventory-reports\ocsreports\plugins\main_sections\ms_multi_search\ms_multi_search.php:125://~ echo "<form name='".$form_name."' id='".$form_name."' method='POST' action=''>";

usr\share\ocsinventory-reports\ocsreports\plugins\main_sections\ms_config\ms_add_key.php:17://~ echo "<form name='".$form_name."' id='".$form_name."' method='POST' action=''>";

usr\share\ocsinventory-reports\ocsreports\plugins\main_sections\ms_config\ms_add_key.php:41: //~ echo "<form name='".$form_name."' id='".$form_name."' method='POST' action=''>";

usr\share\ocsinventory-reports\ocsreports\plugins\main_sections\ms_config\ms_add_key.php 

4 Mise à jour du serveur OCS Inventory

Il est déconseillé de réaliser une mise à jour, notamment pour changer de version mineure, notamment à cause du nombre de détails et de paramétrage à prendre en compte.

Mais, voici la procédure à réaliser :

Allez dans le dossier Apache :

cd /var/www/

Téléchargez la dernière version et extraire les fichiers

tar -xvzf OCSNG_UNIX_SERVER-2.1rc1.tar.gz

Supprimez l’archive

rm OCSNG_UNIX_SERVER-2.1rc1.tar.gz

Allez dans le dossier suivant

cd OCSNG_UNIX_SERVER-2.1rc1

Lancez le script d’installation et laissez les paramètres par défaut :

[pastacode lang= »markup » message= » » highlight= » » provider= »manual »]

./setup.sh

5 Modification de la configuration PHP

Par défaut, dans le fichier « PHP », le téléchargement (« upload ») autorisé ne dépasse pas 4 megaoctets.

Il faut donc modifier le fichier php.ini, pour éviter cette contrainte:

max_execution_time = 180

max_input_time = 180

memory_limit = 256M

upload_max_filesize = 300M

post_max_size = 300M

Et on passe à la configuration.

Configuration du serveur OCS Inventory

a. Authentification « LDAP »

L’authentification « LDAP » nécessite plusieurs paramètres à connaitre. En premier lieu, il faut installer le module « LDAP » pour php5 :

apt-get install php5-ldap

Se rendre ensuite sur l’interface d’OCS-NG et dans le menu de configuration du serveur  LDAP pour modifier votre configuration propre.

Modifier certains fichiers. En premier, celui-ci :

Chemin OCS /backend/AUTH/auth.php

Ce fichier gère la méthode de connexion. Dans le cadre d’une authentification LDAP, il est nécessaire de commenter la ligne suivante :

$list_methode=array(0=>"local.php");

Et supprimer les commentaires de cette ligne :

list_methode=array(0=>"ldap.php");

Dans le cadre d’une authentification par SSO, il est nécessaire de modifier le même fichier que précédemment. Dans ce cas, il faut modifier la ligne suivante :

$affich_method='HTML';

Par la ligne :

$affich_method='SSO';

Attention, il est obligatoire de figer la langue dans la fichier «  var.php » pour le sso (voir plus haut).

Allez ensuite dans le fichier suivant :

Chemin OCSbackend/identity/identity.php

Ce fichier permet de définir les droits que va avoir le compte connecté dans l’interface d’administration d’OCS Inventory NG. Pour que ces droits soient délégués à une base annexe, dans le cas du SI  c’est-à-dire un annuaire LDAP, il faut modifier la ligne :

$list_methode=array(0=>"local.php");

Par cette ligne :

list_methode=array(0=>"ldap.php",1=>"local.php")

Dans ce cas, les droits seront récupérés dans l’annuaire LDAP, et seront complétés par ceux trouvés en « local », sur le serveur « OCS Inventory ».

Il y a un « bug » concernant les champs dans le fichier » ldap.php ». En se rendant dans le fichier suivant :

Chemin OCS /backend/identity/methode/ldap.php

Les éléments suivants sont à remplacer :

$f1_value=$_SESSION['OCS']['details'][$f1_name];

$f2_value=$_SESSION['OCS']['details'][$f2_name];

Par :

$f1_value=$config['LDAP_CHECK_FIELD1_VALUE'];

$f2_value=$config['LDAP_CHECK_FIELD2_VALUE'];

b. Utilisation du SSL

En premier lieu, activez le mode SSL :

a2enmod

Relancez le serveur Apache

/etc/init.d/apache2 restart

Créez un hôte virtuel (Virtual host) dans le champ suivant :

vim /etc/apache2/sites-available/ssl

Avec les informations à l’intérieur  suivantes :

#NameVirtualHost *:443

<VirtualHost _default_:443>

ServerAdmin votreadressemail@domaine

ServerName nomduserveur

DocumentRoot /var/www/

<Directory />

Options FollowSymLinks

AllowOverride None

</Directory>

<Directory /var/www/>

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

allow from all

</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

<Directory "/usr/lib/cgi-bin">

AllowOverride None

Options ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny

Allow from all

</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,

# alert, emerg.

LogLevel warn

SSLEngine On

SSLCipherSuiteALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

SSLCertificateKeyFile /etc/apache2/ssl/server.key

SSLCertificateFile /etc/apache2/ssl/server.crt

CustomLog /var/log/apache2/access.log combined

ServerSignature On

Alias /doc/ "/usr/share/doc/"

<Directory "/usr/share/doc/">

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order deny,allow

Deny from all

Allow from 127.0.0.0/255.0.0.0 ::1/128

</Directory>

</VirtualHost>

Création des clés. Pour cela, écrire :

openssl genrsa -des3 -out server.key 1024

Il faudra donner une « passphrase » avec confirmation (de préférence de 20 caractères). Pour éviter d’écrire la « passphrase » à chaque redémarrage, écrire celle-ci directement dans la configuration :

mv server.key server-old.key

openssl rsa -in server-old.key -out server.key

Ecrire, une dernière fois, la « passphrase », puis passez à la création du certificat

openssl req -new -key server.key -out server.csr

Plusieurs éléments seront demandés. Le plus important est le « common name » qui doit avoir le même nom entre le serveur « OCS » et l’adresse de l’agent. Sinon il sera impossible de déployer les paquets en SSL. Enfin, signez le certificat pour 10 ans :

openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

Placez ces 2 fichiers dans la configuration du serveur « apache » précédemment créé :

mkdir /etc/apache2/ssl

cp server.crt /etc/apache2/ssl/

cp server.key /etc/apache2/ssl/

c. Activation du VirtualHost SSL

Activez l’hôte virtuel (VirtualHost)

a2ensite ssl

Redémarrez le serveur Apache et testez avec l’adresse.

/etc/init.d/apache2 restart

Pour utiliser de déploiement via SSL, il faut se rendre dans le fichier suivant

/etc/apache2/conf.d/ocsinventory-reports.conf

Et supprimez le commentaire de la ligne suivant

SSLRequireSSL

 

d. Déploiement de l’agent et évocation de la fonction télé déploiement

Il est nécessaire de copier le certificat « server.crt » crée précédemment et le renommer en « cacert.pem », afin de pouvoir déployer des paquets.

Déployez ensuite l’agent.

Créez un répertoire de partage en lecture avec l’agent et le certificat « cacert.pem » dans le dossier de l’agent OCS sur un serveur accessible aux utilisateurs ciblés.

Dans notre cas, cela donne :

Le choix a été fait de déployer un script en utilisant une « GPO », au démarrage de l’ordinateur. Pour cela, le script officiel de Phillippe Beaumont a été modifié, facilement trouvable sur le site de OCS.

Création d’un paquet

Ils existent trois modes :
Stocker : Pour envoyer des fichiers, des pilotes qui ne seront pas lancés
Exécuter : Pour appeler un script
Lancer : Pour lancer une installation directement
Le point important est la priorité. OCS fonctionne sur un système de cycle. Plus le chiffre est bas, plus la priorité est grande.
Les logs clients se trouvent dans :

Program Files\ OCS-NG inventory \Agent pour XP
ProgramData\ OCS-NG inventory\Agent pour 7

Il y a deux fichiers de log :
– Un pour les téléchargements, Download, qui permet de voir l’état des téléchargements.
Exemple d’un téléchargement valide :

Starting OCS Inventory NG Package Download and Setup Tool on Thursday, December 12, 2013 12:12:00.
DOWNLOAD => Running OCS Inventory NG Download Version 2.1.0.1
DOWNLOAD => Using OCS Inventory NG FrameWork Version 2.1.0.1
DOWNLOAD => Using network connection with Communication Server
DOWNLOAD => Using Communication Provider <OCS Inventory NG cURL Communication Provider> Version <2.1.0.1>
DOWNLOAD => Starting new period of 10 cycles
DOWNLOAD => Parsing directory <C:\ProgramData\OCS Inventory NG\Agent\download> for packages
DOWNLOAD => Package <1386845535> verified and added to process queue
DOWNLOAD => Downloading package fragment <1386845535-1>
DOWNLOAD => Building package <1386845535>
DOWNLOAD => Executing action <EXECUTE> for package <1386845535>
DOWNLOAD => Sending result code <SUCCESS> for package <1386845535>
DOWNLOAD => Starting new period of 10 cycles
DOWNLOAD => Parsing directory <C:\ProgramData\OCS Inventory NG\Agent\download> for packages
DOWNLOAD => No package found, exiting
DOWNLOAD => Unloading communication provider
DOWNLOAD => Execution duration: 00:10:48.

- Un pour suivre la remontée d’inventaire, nommé OCSinventory :
==============================================================================
Starting OCS Inventory NG Agent on Thursday, December 19, 2013 07:43:41.
AGENT => Running OCS Inventory NG Agent Version 2.1.0.1
AGENT => Using OCS Inventory NG FrameWork Version 2.1.0.1
AGENT => Loading plug-in(s)
AGENT => Using network connection with Communication Server
AGENT => Using Communication Provider <OCS Inventory NG cURL Communication Provider> Version <2.1.0.1>
AGENT => Sending Prolog
AGENT => Prolog successfully sent
SUPPORT => No support detected, Registration key : N/A
AGENT => Inventory change forced by /NOTIFY option
AGENT => Launching hardware and software checks
AGENT => Sending Inventory
INVENTORY => Network adapters inventory state changed
AGENT => Inventory successfully sent
AGENT => Unloading communication provider
AGENT => Unloading plug-in(s)
AGENT => Execution duration: 00:00:10.

Le fichier de configuration est ocsinventory.ini

[OCS Inventory Agent]
ComProvider=ComHTTP.dll
Debug=0
Local=
NoSoftware=0
HKCU=0
NoTAG=0
IpDisc=
[HTTP]
Server=votreserveur/ocsinventory
SSL=1
CaBundle=cacert.pem
AuthRequired=0
User=
Pwd=
ProxyType=0
Proxy=
ProxyPort=0
ProxyAuthRequired=0
ProxyUser=
ProxyPwd=
[OCS Inventory Service]
PROLOG_FREQ=20
OLD_PROLOG_FREQ=20
TTO_WAIT=56520 

Debug permet d’avoir des logs plus ou moins verbeux. Il y a trois niveaux : 0, 1 ou 2.
Server indique l’url du serveur utilisé pour l’inventaire.
SSL est utilisé pour l’utilisation du « SSL » du déploiement. Ne désactivez que pour les phases de test car la non activation du ssl ouvre une grosse faille de sécurité.
CaBundle est le nom du certificat dans le dossier.
Enfin, si vous souhaitez tester votre configuration, il faut supprimer les fichiers ocsinventory.ini et last_state.
A savoir :
Si lors de la première création de paquet, vous rencontrez l’erreur suivante :
ERROR: can’t create or write in /var/lib/ocsinventory-reports/download/xxxxxxx folder, please refresh when fixed.

Il faut créer les chemins et se rendre propriétaire :

mkdir /var/lib/ocsinventory-reports

mkdir /var/lib/ocsinventory-reports/download

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

Si un souci, n’hésitez pas à laisser dans les commentaires.

• Site officiel et forum OCS Inventory :

http://wiki.ocsinventory-ng.org/index.php
cheap football shirts  |
cheap AC Milan football shir  |
cheap Celtic football shirts  |
cheap football shirts  |
cheap football shirts  |
cheap football shirts  |
cheap Barcelona football shirts  |
cheap Portugal football shirts  |
cheap AC Milan football shir  |
cheap Juventus football shirts  |
cheap France football shirt  |
cheap football shirts  |
cheap football shirts  |
cheap France football shirt  |
cheap Barcelona football shirts  |
cheap AC Milan football shir  |
cheap football shirts  |
cheap Bayern Munich football shirts  |
cheap Bayern Munich football shirts  |
cheap Portugal football shirts  |
cheap Portugal football shirts  |
cheap PSG football shirts  |
cheap Juventus football shirts  |
cheap France football shirt  |
cheap Celtic football shirts  |
cheap Juventus football shirts  |
cheap football shirts  |
cheap Inter Milan football shirts  |
cheap Real Madrid football shirts  |
cheap football shirts  |
cheap Germany football shirt  |
cheap football shirts  |
cheap Spain football shirts  |
cheap Manchester City football shirts  |
cheap Belgium football shirts  |

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *