OCSInventoryNG Server 2.8 – Debian 10

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