OCS

Il existe un plugin qui s’installe sur le serveur GLPI pour permettre de basculer les informations du serveurs OCS sur le server GLPI qui se nomme ocsinventoryng


Installation du plugin

On se déplace dans le répertoire adéquat sur notre server glpi

cd /srv/www/htdocs/glpi/plugins

On télécharge l’archive

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

On décompresse

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

On supprime l’archive

rm glpi-ocsinventoryng-1.6.0.tar.gz

On se rend sur l’interface de GLPI, section –>configuration–>plugins

On aperçoit maintenant notre plugin ajouté

Dans la colonne « Actions » on clique sur le petit dossier avec un + pour dire d’ajouter ce plugin

Si le plugin à bien été installé, une fenêtre à bas à droite s’ouvre comme ceci

Il nous manque plus qu’à l’activé, un nouveau bouton est apparu à la place du dossier avec un +, cliqué dessus


Importation

Rendez-vous dans la catégorie –> Outils –> OCS Inventory NG dans GLPI

On clique sur Ajouter un serveur OCS Inventory NG

Pour l’hôte, indiqué son nom, ici ocs car j’ai rajouté une entrée DNS indiquant l’Ip de mon server.
Si vous êtes sur le même server, vous pouvez indiquer localhost.
Si vous n’avez pas fais d’entrée DNS, vous pouvez indiquer l’adresse IP

Indiquez le nom d’utilisateur et le mot de passe de la base de donnée d’OCS

Attention, si en cliquant sur test, votre connexion à la base de donnée à échoué, c’est que MariaDB sur OCS refuse toutes les autres connexions que sur lui même

Sur le serveur OCS, éditer 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 connecter
Ou
bind-address = ip_server_glpi si l’on veut que seul le server glpi puisse se connecter.

On redémarre le service Mysql

service mysql restart

La connexion à la base de donnée OCS devrait avoir réussi, sinon c’est qu’il y’a une erreur au niveau de vos identifiants.

Ensuite, notre serveur est bien la, on clique sur Import de l’inventaire puis importation de nouveaux ordinateurs.

Puis on clique sur Importer et on attend que la progression se finissent !

Ensuite on se rend dans Parc, puis Ordinateur, et on voit notre liste de tous les ordinateurs !

 

L’agent d’OCS permet la communication jusqu’au serveur pour lui envoyer des informations. Ici nous allons procéder à l’installation via les dépôts Debian, attention les versions dans les dépôts ne sont pas toujours les dernières !


Installation des paquets nécessaires

apt install -y ocsinventory-agent

On choisit la méthode HTTP, et pour le champs du noms d’hôte, on mettra l’adresse IP.

On édite le fichier de configuration de l’agent:

vim /etc/ocsinventory/ocsinventory-agent.cfg

Et l’on configure le fichier comme cela:

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

On copie le certificat que l’on généré dans le dossier SSL dans le dossier de l’agent en le renommant cacert.pem

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

Pour copier le certificat qui se situe sur un server distant, on peut l’envoyer via ssh ( vous avez besoin d’openssh-server sur votre client ), depuis le serveur faire:

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

 

OCSInventoryNG pour Open Computer and Software Inventory Next Generation permet de faire un inventaire du parc informatique et du télédéploiment pour les entreprises via la mise en place d’agent. Il se trouve sous GPLv2, qui nous donne le droit de l’utiliser gratuitement 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 current password for root (enter for none):”
    Nous ne possédons actuellement pas encore de mot de passe super-administrateur donc on appuie sur “Entrée”.
  • “Set root password? [Y/n]”
    Nous voulons mettre un mot de passe donc “Entrée”.
  • “Remove anonymous users? [Y/n]
    Nous ne voulons pas des utilisateurs anonymes donc “Entrée”.
  • “Disallow root login remotely? [Y/n]”
    Nous voudrons peut-être plus tard pouvoir se connecter à distance donc “n” puis “Entrée”.
  • “Remove test database and access to it? [Y/n]”
    Oui nous voulons supprimer les bases de données de test “Entrée”.
  • “Reload privilege tables now? [Y/n]”
    Oui nous voulons avoir les droits maintenant “Entrée”.

Création de la base de données :

On se connecte en tant que Super-administrateur à MariaDB en indiquant le mot de passe précédemment renseigné :

mysql -u root -p

On créé l’utilisateur “userocs” avec le mot de passe “passwordocs“ :

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

On créé la base de donnée “ocs“ :

create database ocs;

On attribue tous les droits à l’utilisateur “userocs” pour la base de donné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épertoire temporaire pour l’effacement automatique des archives que l’on aura plus besoin :

cd /tmp

On télécharge le script d’installation sur le lien, à ce jour la version la plus aboutie 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écompresse l’archive :

tar -zxvf OCSNG_UNIX_SERVER_2.8.tar.gz

On se déplace dans le dossier décompressé :

cd OCSNG_UNIX_SERVER_2.8

On lance le script d’installation et on répond “y” ou appuyez directement sur “Entrée” à toutes les questions :

./setup.sh

Apache à besoin d’accéder, lire ET d’écrire sur les fichiers d’OCS, cela vous permettra également d’éviter un warning à l’initialisation :

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

Activation des configurations :

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

Pour utiliser le télé-déploiement, nous devons modifier certaines valeurs pour aller jusqu’à des logiciels 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

Adaptation des fichiers d’OCS à la base de donnée :

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

Ligne 26 PerlSetEnv OCS_DB_NAME ocs
Ligne 27 PerlSetEnv OCS_DB_LOCAL ocs
Ligne 29 PerlSetEnv OCS_DB_USER userocs
Ligne 31 PerlSetVar OCS_DB_PWD passwordocs

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

Ligne 9   $ENV{OCS_DB_LOCAL} = ‘ocs‘;
Ligne 10 $ENV{OCS_DB_USER} = ‘userocs‘;
Ligne 11 $ENV{OCS_DB_PWD} = ‘passwordocs‘;

On redémarre le service Apache2 puis on pourra par la suite se rendre dans un navigateur web à l’ip de la machine /ocsreports :

service apache2 restart

Initialisation de l’interface web :

Sur l’interface web, on renseigne à OCS les informations de la base de données fournit précédemment pour son initialisation :
Pour la partie 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 « Perform the update »

On clique sur « Click here to enter OCS-NG GUI »

Nous arrivons maintenant sur l’interface de connexion d’OCS. Le compte par défault à l’installation de tout OCS est  » admin  » en utilisateur et  » admin  » en mot de passe.

En arrivant sur la page de OCS, une alerte de sécurité apparait, pour la corriger nous allons supprimer le fichier d’installation pour éviter que n’importe qui pour réinitialiser notre OCS :

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

Mise en place de SSL :

On va stocker le certificat et la clef dans un dossier :

mkdir /etc/apache2/ssl

Création de la clef :

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

Génération du certificat en fonction de la clef généré précedemment :

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

Répondez aux questions comme cela :

Country Name : FR
Province Name : France
Locality Name : Lille
Organization Name : overcomputing
Organizational Unit Name : DSI
Common Name : ocs.overcomputing.net
Email Address : theophile@overcomputing.net

Il faudra en conséquence ajouter une entrée DNS de tel sorte à relier l’adresse IP de votre server à ocs. Si vous ne possédez pas de serveur DNS, faites comme cela:

vim /etc/hosts

Remplir le fichier de telle sorte, en remplacant bien sur l’ip par la votre :

192.168.0.57 ocs.overcomputing.net ocs

On renseigne le fichier d’apache pour le SSL:

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

Ligne-32 SSLCertificateFile /etc/apache2/ssl/ocs.crt
Ligne-33 SSLCertificateKeyFile /etc/apache2/ssl/ocs.key

On active le module ssl:

a2enmod ssl

On active la configuration SSL que l’on vient de renseigner

a2ensite default-ssl

On redémarre apache2 :

service apache2 restart

Nous pouvons maintenant se connecter en rajoutant https devant votre URL tel que (depuis le navigateur web de votre machine virtuelle, sinon il faudra renseigner la partie hosts vu plus haut sur chaque ordinateur qui doit y accéder) :
https://ocs.overcomputing.net/ocsreports

Retour en haut