Utiliser Fedora et monde Red Hat (RHEL, CentOS, AlmaLinux, Oracle Linux)

CentOS 8 : Installer OCS Inventory pour l'inventaire du parc

Table des matières

logo-ocs



Introduction



OCS est une solution de gestion technique de parc informatique. Il permet l'inventaire matériel, logiciel, le télédéploiement et bien d'autres options.
Nous allons voir comment mettre en oeuvre un serveur OCS Inventory.

Prérequis



Nous avons besoin de quelques prérequis sur notre CentOS à savoir :

Le dépôt EPEL :
Code BASH :
dnf install epel-release


L'activation du dépôt PowerTools :
Code BASH :
dnf config-manager --set-enabled powertools


L'installation du dépôt de remi pour des modules PHP spécifiques :
Code BASH :
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf config-manager --set-enabled remi


Et du dépôt d'OCS :
Code BASH :
dnf install https://rpm.ocsinventory-ng.org/ocsinventory-release-latest.el8.ocs.noarch.rpm


Installation



Dans un premier temps, on va activer la version 7.3 de remi au lieu du PHP fourni par défaut de CentOS :

Code BASH :
dnf module reset php
dnf module install php:remi-7.3


Puis on installe OCS Inventory avec le paquet qui va bien (cela installera toutes les dépendances nécessaires, apache, php, mariadb, etc...) :
Code BASH :
dnf install  ocsinventory


Configuration



SElinux



Il n'est nullement nécessaire de désactiver SELinux, ni de créer des exceptions, tout fonctionne sans soucis.

Base de données



On va démarrer et activer au démarrage le moteur de base de données :

Code BASH :
systemctl enable --now mariadb


On effectue la première initialisation de MariaDB en définissant un mot de passe à root :

Code BASH :
mysql_secure_installation


On va ensuite créer une base de données pour OCS (je garderai le nom par défaut ocsweb) et un utilisateur (que j'appellerai ocs) :

Code BASH :
mysql -u root -p


Code BASH :
CREATE DATABASE ocsweb;
GRANT ALL ON ocsweb.* TO 'ocs'@'localhost' IDENTIFIED BY 'hAtdvUQ26aEIjslHmQVy';
FLUSH PRIVILEGES;


Pour information, il faut modifier le mot de passe de l'utilisateur de base de données dans 2 fichiers :

Code BASH :
vi /etc/httpd/conf.d/ocsinventory-server.conf

Code TEXT :
  PerlSetVar OCS_DB_PWD hAtdvUQ26aEIjslHmQVy


Code BASH :
vi /etc/httpd/conf.d/ocsinventory-restapi.conf

Code TEXT :
  $ENV{OCS_DB_PWD} = 'hAtdvUQ26aEIjslHmQVy';


Serveur Web



On active le service Apache au démarrage et on le démarre. On fait de même avec php-fpm :

Code BASH :
systemctl enable --now httpd
systemctl enable --now php-fpm


Pare-feu



On va ouvrir les ports 80/TCP et 443/TCP, seuls ports nécessaires à l'accès OCS Web ou avec les agents :

Code BASH :
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload


Initialisation de l'interface web



Pour accéder à l'installation de l'interface web, on accède à la page http://serveur/ocsreports/ par exemple :

http://192.168.221.123/ocsreports/

On se laisse guider par la seule fenêtre de paramétrage nous demandant de compléter les informations d'identification de la base de données

Pour info, les paramétrages sont placés dans /etc/ocsinventory/ocsinventory-reports/dbconfig.inc.php

On supprimera l'assistant d'installation par précaution :

Code BASH :
rm /usr/share/ocsinventory-reports/ocsreports/install.php 


Utiliser OCS



Connexion et création d'un utilisateur



Une fois l'installation terminée, l'accès se fait avec l'utilisateur et mot de passe par défaut : admin/admin

On créera un utilisateur sadmin puis on désactivera le compte par défaut, pour respecter les bonnes pratiques informatiques.

Paramétrer une redirection de la racine du serveur



Par défaut, si on affiche la racine du serveur Web, on arrive sur la page par défaut et on n'accède pas à OCS.
Si sur ce serveur il n'y a que OCS, on pourra créer un fichier index.php à la racine du serveur Web, pour rediriger vers l'interface d'OCS :

Code BASH :
vi /var/www/html/index.php


Code PHP :
<?php
header('Location: /ocsreports');
?>



Installer les agents



Windows



L'agent pour Windows se situe ici : https://github.com/OCSInventory-NG/WindowsAgent/releases

UNIX à compiler



L'agent pour UNIX, à compiler, se situe ici : https://github.com/OCSInventory-NG/UnixAgent/releases

Debian et Ubuntu



Pour Debian et Ubuntu, ajouter, le la clé dans apt (en root) :

Code BASH :
curl -sS http://deb.ocsinventory-ng.org/pubkey.gpg | apt-key add -


Editer les sources :
Code BASH :
vi /etc/apt/sources.list.d/ocsinventory.list


Ajouter le repo d'OCS, pour Debian Buster :

Code BASH :
deb http://deb.ocsinventory-ng.org/debian/ buster main


Pour Ubuntu Focal :
Code BASH :
deb http://deb.ocsinventory-ng.org/ubuntu/ focal main


On met à jour les dépôts et on installe l'agent :

Code BASH :
apt update
apt install ocsinventory-agent


CentOS



Pour CentOS 7, on ajoute EPEL + le repo d'OCS :

Code BASH :
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install https://rpm.ocsinventory-ng.org/ocsinventory-release-latest.el7.ocs.noarch.rpm


Puis on installe l'agent :

Code BASH :
yum install ocsinventory-agent


Pou CentOS 8, on ajoute EPEL et le repo d'OCS :

Code BASH :
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf install https://rpm.ocsinventory-ng.org/ocsinventory-release-latest.el8.ocs.noarch.rpm


On installe l'agent avec activation des dépôts nécessaires :
Code BASH :
dnf --enablerepo=powertools --enablerepo=epel-playground install ocsinventory-agent


Fedora



Pour Fedora, on installe le dépôt d'OCS :
Code BASH :
dnf install https://rpm.ocsinventory-ng.org/ocsinventory-release-latest.fc$(rpm -E %fedora).ocs.noarch.rpm


Puis on installe l'agent :
Code BASH :
dnf install ocsinventory-agent


Paramétrer l'agent



Windows



Sous Windows, les informations sont demandées à l'installation, il n'y a rien à faire.

Linux



Sous Linux, il est nécessaire de paramétrer le fichier de configuration pour indiquer à quel serveur envoyer l'inventaire :

Code BASH :
vi /etc/ocsinventory/ocsinventory-agent.cfg 


On commentera la ligne local et on indiquera dans la ligne server le nom du serveur (ou l'adresse complète, même si l'agent converti le nom ou IP directement avec l'URL mentionnée) :

Code BASH :
server = http://192.168.221.123/ocsinventory
#local


Pour lancer un inventaire de suite :

Code BASH :
ocsinventory-agent

Cette page a été vue 3286 fois