OCS

Il existe un plu­gin qui s’ins­talle sur le ser­veur GLPI pour per­mettre de bas­cu­ler les infor­ma­tions du ser­veurs OCS sur le ser­ver GLPI qui se nomme ocsin­ven­to­ryng


Installation du plugin

On se déplace dans le réper­toire adé­quat sur notre ser­ver glpi

cd /srv/www/htdocs/glpi/plugins

On télé­charge l’ar­chive

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

On décom­presse

tar -zxvf glpi-ocsinventoryng-1.6.0.tar.gz

On sup­prime l’ar­chive

rm glpi-ocsinventoryng-1.6.0.tar.gz

On se rend sur l’in­ter­face de GLPI, sec­tion –>configuration–>plugins

On aper­çoit main­te­nant notre plu­gin ajou­té

Dans la colonne “Actions” on clique sur le petit dos­sier avec un + pour dire d’a­jou­ter ce plu­gin

Si le plu­gin à bien été ins­tal­lé, une fenêtre à bas à droite s’ouvre comme ceci

Il nous manque plus qu’à l’ac­ti­vé, un nou­veau bou­ton est appa­ru à la place du dos­sier avec un +, cli­qué des­sus


Importation

Ren­dez-vous dans la caté­go­rie –> Outils –> OCS Inven­to­ry NG dans GLPI

On clique sur Ajou­ter un ser­veur OCS Inven­to­ry NG

Pour l’hôte, indi­qué son nom, ici ocs car j’ai rajou­té une entrée DNS indi­quant l’Ip de mon ser­ver.
Si vous êtes sur le même ser­ver, vous pou­vez indi­quer local­host.
Si vous n’a­vez pas fais d’en­trée DNS, vous pou­vez indi­quer l’a­dresse IP

Indi­quez le nom d’u­ti­li­sa­teur et le mot de passe de la base de don­née d’OCS

Atten­tion, si en cli­quant sur test, votre connexion à la base de don­née à échoué, c’est que MariaDB sur OCS refuse toutes les autres connexions que sur lui même

Sur le ser­veur OCS, édi­ter cela:

vim /etc/mysql/mariadb.conf.d/50-server.cnf

Sur la ligne bind-address
mettre bind-address = 0.0.0.0 si l’on veut que tout le monde puisse se connec­ter
Ou
bind-address = ip_server_glpi si l’on veut que seul le ser­ver glpi puisse se connec­ter.

On redé­marre le ser­vice Mys­ql

service mysql restart

La connexion à la base de don­née OCS devrait avoir réus­si, sinon c’est qu’il y’a une erreur au niveau de vos iden­ti­fiants.

Ensuite, notre ser­veur est bien la, on clique sur Import de l’in­ven­taire puis impor­ta­tion de nou­veaux ordi­na­teurs.

Puis on clique sur Impor­ter et on attend que la pro­gres­sion se finissent !

Ensuite on se rend dans Parc, puis Ordi­na­teur, et on voit notre liste de tous les ordi­na­teurs !

 

L’agent d’OCS per­met la com­mu­ni­ca­tion jus­qu’au ser­veur pour lui envoyer des infor­ma­tions. Ici nous allons pro­cé­der à l’ins­tal­la­tion via les dépôts Debian, atten­tion les ver­sions dans les dépôts ne sont pas tou­jours les der­nières !


Installation des paquets nécessaires

apt install -y ocsinventory-agent

On choi­sit la méthode HTTP, et pour le champs du noms d’hôte, on met­tra l’a­dresse IP.

On édite le fichier de confi­gu­ra­tion de l’agent:

vim /etc/ocsinventory/ocsinventory-agent.cfg

Et l’on confi­gure le fichier comme cela:

server=https://ocs.hoplite.fr/ocsinventory
SSL=1
debug=1

On copie le cer­ti­fi­cat que l’on géné­ré dans le dos­sier SSL dans le dos­sier de l’agent en le renom­mant cacert.pem

cp /etc/apache2/ssl/ocs.crt /etc/ocsinventory/cacert.pem

Pour copier le cer­ti­fi­cat qui se situe sur un ser­ver dis­tant, on peut l’en­voyer via ssh ( vous avez besoin d’o­penssh-ser­ver sur votre client ), depuis le ser­veur faire:

scp /etc/apache2/ssl/ocs.crt theophile@192.168.43.26:/etc/ocsinventory/cacert.pem

 

OCSIn­ven­to­ryNG pour Open Com­pu­ter and Soft­ware Inven­to­ry Next Gene­ra­tion per­met de faire un inven­taire du parc infor­ma­tique et du télé­dé­ploi­ment pour les entre­prises via la mise en place d’agent. Il se trouve sous GPLv2, qui nous donne le droit de l’utiliser gra­tui­te­ment et d’avoir accès aux codes sources.


Installation des paquets nécessaires :

apt install vim apache2 apache2-dev mariadb-server mariadb-client libmariadbclient-dev php-soap php build-essential perl libapache2-mod-perl2 libxml-simple-perl libarchive-zip-perl libio-compress-perl libdbi-perl libapache-dbi-perl libswitch-perl libdbd-mysql-perl libnet-ip-perl libsoap-lite-perl libxml-simple-perl libxml-libxml-perl libmojolicious-perl nmap snmp php7.3-mysql php7.3-gd php7.3-mbstring php-ldap php-imap php-pclzip php-apcu php-xmlrpc php-soap php-cas php-mysql php-curl php-xml php-zip libplack-perl

Sécurisation du mot de passe super-administrateur de Mariadb :

mysql_secure_installation
  • “Enter cur­rent pass­word for root (enter for none):”
    Nous ne pos­sé­dons actuel­le­ment pas encore de mot de passe super-admi­nis­tra­teur donc on appuie sur “Entrée”.
  • “Set root pass­word? [Y/n]”
    Nous vou­lons mettre un mot de passe donc “Entrée”.
  • “Remove ano­ny­mous users? [Y/n]
    Nous ne vou­lons pas des uti­li­sa­teurs ano­nymes donc “Entrée”.
  • “Disal­low root login remo­te­ly? [Y/n]”
    Nous vou­drons peut-être plus tard pou­voir se connec­ter à dis­tance donc “n” puis “Entrée”.
  • “Remove test data­base and access to it? [Y/n]”
    Oui nous vou­lons sup­pri­mer les bases de don­nées de test “Entrée”.
  • “Reload pri­vi­lege tables now? [Y/n]”
    Oui nous vou­lons avoir les droits main­te­nant “Entrée”.

Création de la base de données :

On se connecte en tant que Super-admi­nis­tra­teur à MariaDB en indi­quant le mot de passe pré­cé­dem­ment ren­sei­gné :

mysql -u root -p

On créé l’utilisateur “use­rocs” avec le mot de passe “pass­wor­docs“ :

create user 'userocs'@'%' identified by 'passwordocs';

On créé la base de don­née “ocs“ :

create database ocs;

On attri­bue tous les droits à l’utilisateur “use­rocs” pour la base de don­née “ocs”

grant all privileges on ocs.* TO 'userocs'@'%';

On recharge les droits :

flush privileges;

On quitte MariaDB :

quit;

Installation d’OCS :

On se déplace dans le réper­toire tem­po­raire pour l’effacement auto­ma­tique des archives que l’on aura plus besoin :

cd /tmp

On télé­charge le script d’ins­tal­la­tion sur le lien, à ce jour la ver­sion la plus abou­tie est la 2.8 :

wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/2.8/OCSNG_UNIX_SERVER_2.8.tar.gz

On décom­presse l’ar­chive :

tar -zxvf OCSNG_UNIX_SERVER_2.8.tar.gz

On se déplace dans le dos­sier décom­pres­sé :

cd OCSNG_UNIX_SERVER_2.8

On lance le script d’installation et on répond “y” ou appuyez direc­te­ment sur “Entrée” à toutes les ques­tions :

./setup.sh

Apache à besoin d’accéder, lire ET d’écrire sur les fichiers d’OCS, cela vous per­met­tra éga­le­ment d’éviter un war­ning à l’initialisation :

chown root:www-data /var/lib/ocsinventory-reports
chmod 775 /var/lib/ocsinventory-reports

Acti­va­tion des confi­gu­ra­tions :

a2enconf ocsinventory-reports
a2enconf z-ocsinventory-server
a2enconf zz-ocsinventory-restapi

Pour uti­li­ser le télé-déploie­ment, nous devons modi­fier cer­taines valeurs pour aller jusqu’à des logi­ciels de 10 GiO :

vim /etc/apache2/conf-available/ocsinventory-reports.conf

Ligne 49 php_value post_max_size 9999m
Ligne 50 upload_value upload_max_filesize 9999m
Ligne 68 php_value post_max_size 9999m
Ligne 69 upload_value upload_max_filesize 9999m

Adap­ta­tion des fichiers d’OCS à la base de don­née :

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

Ligne 26 Perl­Se­tEnv OCS_DB_NAME ocs
Ligne 27 Perl­Se­tEnv OCS_DB_LOCAL ocs
Ligne 29 Perl­Se­tEnv OCS_DB_USER use­rocs
Ligne 31 Perl­Set­Var OCS_DB_PWD pass­wor­docs

vim /etc/apache2/conf-available/zz-ocsinventory-restapi.conf

Ligne 9   $ENV{OCS_DB_LOCAL} = ‘ocs‘;
Ligne 10 $ENV{OCS_DB_USER} = ‘use­rocs‘;
Ligne 11 $ENV{OCS_DB_PWD} = ‘pass­wor­docs‘;

On redé­marre le ser­vice Apache2 puis on pour­ra par la suite se rendre dans un navi­ga­teur web à l’ip de la machine /ocsreports :

service apache2 restart

Initialisation de l’interface web :

Sur l’in­ter­face web, on ren­seigne à OCS les infor­ma­tions de la base de don­nées four­nit pré­cé­dem­ment pour son ini­tia­li­sa­tion :
Pour la par­tie SSL, nous allons la faire par la suite. On peut appuyer sur Send.

On clique sur ” Click here to enter OCS-NG GUI ”

On clique sur “Per­form the update”

On clique sur “Click here to enter OCS-NG GUI”

Nous arri­vons main­te­nant sur l’in­ter­face de connexion d’OCS. Le compte par défault à l’ins­tal­la­tion de tout OCS est ” admin ” en uti­li­sa­teur et ” admin ” en mot de passe.

En arri­vant sur la page de OCS, une alerte de sécu­ri­té appa­rait, pour la cor­ri­ger nous allons sup­pri­mer le fichier d’ins­tal­la­tion pour évi­ter que n’im­porte qui pour réini­tia­li­ser notre OCS :

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

Mise en place de SSL :

On va sto­cker le cer­ti­fi­cat et la clef dans un dos­sier :

mkdir /etc/apache2/ssl

Créa­tion de la clef :

openssl genrsa 2048 > /etc/apache2/ssl/ocs.key

Géné­ra­tion du cer­ti­fi­cat en fonc­tion de la clef géné­ré pré­ce­dem­ment :

openssl req -new -key /etc/apache2/ssl/ocs.key -x509 -days 365 -out /etc/apache2/ssl/ocs.crt

Répon­dez aux ques­tions comme cela :

Coun­try Name : FR
Pro­vince Name : France
Loca­li­ty Name : Lille
Orga­ni­za­tion Name : over­com­pu­ting
Orga­ni­za­tio­nal Unit Name : DSI
Com­mon Name : ocs.overcomputing.net
Email Address : theophile@overcomputing.net

Il fau­dra en consé­quence ajou­ter une entrée DNS de tel sorte à relier l’a­dresse IP de votre ser­ver à ocs. Si vous ne pos­sé­dez pas de ser­veur DNS, faites comme cela:

vim /etc/hosts

Rem­plir le fichier de telle sorte, en rem­pla­cant bien sur l’ip par la votre :

192.168.0.57 ocs.overcomputing.net ocs

On ren­seigne le fichier d’apache pour le SSL:

vim /etc/apache2/sites-available/default-ssl.conf

Ligne-32 SSL­Cer­ti­fi­ca­te­File /etc/apache2/ssl/ocs.crt
Ligne-33 SSL­Cer­ti­fi­ca­te­Key­File /etc/apache2/ssl/ocs.key

On active le module ssl:

a2enmod ssl

On active la confi­gu­ra­tion SSL que l’on vient de ren­sei­gner

a2ensite default-ssl

On redé­marre apache2 :

service apache2 restart

Nous pou­vons main­te­nant se connec­ter en rajou­tant https devant votre URL tel que (depuis le navi­ga­teur web de votre machine vir­tuelle, sinon il fau­dra ren­sei­gner la par­tie hosts vu plus haut sur chaque ordi­na­teur qui doit y accé­der) :
https://ocs.overcomputing.net/ocsreports