OCSInventoryNG Server 2.8 — Debian 10

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