# **Serveur OCS** ## Objectif et environnement ### Objectif L’installation et configuration d’un serveur OCS Inventory dur un containeur Debian 11. ### Environnement Matériels : - Dell PowerEdge r240 avec Proxmox 7.1-7 Adressage des VMS : - Réseaux : 172.16.0.0/16 - Serveur OCS : CT-DEB-GLPI 172.28.1.205/16 (colocalisé avec GLPI) ### Documentation - ## Processus ### Installation et configuration des prérequis ### Installation Apache2 ```bash apt update apt install apache2 -y systemctl enable apache2 ``` Création la configuration fqdn ```bash nano /etc/apache2/conf-available/fqdn.conf # j'ai remplie le hostname ServerName CT-DEB-GLPI ``` ```console a2enconf fqdn systemctl reload apache2 ``` Installation Php ```bash apt install php -y ``` Créer index.php ```bash nano /var/www/html/index.php ``` ```php # le contenu du fichier \< ?php Phpinfo() ; ?\> ``` Vérifiez dans le navigateur Supprimer les fichiers inutiles ```bash rm /var/www/html/index.php systemctl restart apache2 ``` ### Installation Mariadb ```bash apt install mariadb-server mariadb-client -y systemctl enable mariadb.service ``` Création de la base de données ```bash mariadb -u root ``` ### Installation OCS Inventory ```bash apt install apache2-dev libmariadb-dev-compat php-soap cpanminus libnet-ssleay-perl libio-socket-ssl-perl -y cpan install YAML # répondre yes cpan install –f CPAN # répondre yes cpan install XML::Simple Compress::Zlib DBI DBD::mysql Apache::DBI Net::IP Archive::Zip XML::Entities apt install libxml-simple-perl libperl5.32 libdbi-perl libdbd-mysql-perl libapache-dbi-perl libnet-ip-perl libsoap-lite-perl libarchive-zip-perl make build-essential php-pclzip php-mbstring php-mysql php-curl php-xml php-zip php-gd -y cpan install Apache2::SOAP cpan install Mojolicious::Lite Switch Plack::Handler ``` ### Installation du serveur J’ai téléchargé ocsinventory sur ce site : download.ocsinventory-ng.org/nightly cd /tmp wget http://download.ocsinventory-ng.org/nightly/OCSNG_UNIX_SERVER_2.10.0-nightly-2022-08-19.tar.gz ```bash tar xzf OCSNG_UNIX_SERVER_2.10.0-nightly-2022-08-19.tar.gz cd OCSNG_UNIX_SERVER systemctl restart apache2 sh setup.sh # Tapez entrée à chaque question ``` ### Configuration du serveur OCS ```bash nano /etc/apache2/conf-available/z-ocsinventory-server.conf ``` J’ai modifié ses deux lignes pour faire correspond avec la configuration de notre base de données ```console PerlSetEnv OCS_DB_USER ocsbdd # Password for user PerlSetVar OCS_DB_PWD Azerty123+ ``` ```bash nano /etc/apache2/conf-available/zz-ocsinventory-restapi.conf ``` ```console $ENV{OCS_DB_USER} = 'ocsbdd'; $ENV{OCS_DB_PWD} = 'Azerty123+'; ``` ```bash chown root:www-data /var/lib/ocsinventory-reports chmod 775 /var/lib/ocsinventory-reports ``` ### Activation de la configuration de OCS ```bash a2enconf z-ocsinventory-server a2enconf ocsinventory-reports a2enconf zz-ocsinventory-restapi systemctl restart apache2 ``` On accède aux restes des configurations via le navigateur OCS va peupler la base de données J’ai cliqué sur « **Click here to enter OCS-NG GUI »** J’ai cliqué sur « **perform the update »** Choix de langue en français login: admin, mdp. : admin ### Paramétrer OCS J’ai supprimé le fichier indiqué et crée un nouvel utilisateur avec un différente mot de passe. Menu Configuration \> Utilisateurs \> Créer un utilisateur J’ai supprimé le compte créé par défaut J’ai supprimé également le fichier install.php ```console rm /usr/share/ocsinventory-reports/ocsreports/install.php ``` Une fois la page rafraîchi, l’ALERTE SECURITE disparait. Menu Configuration \> General Configuration \> Serveur J’ai activé TRACE_DELETED (à cause de l’interconnexion avec GLPI) ### Configuration OCS avec GLPI 10.0.2 J’ai créé un compte gratuit sur Ensuite j’ai copié la clé d’enregistrement J’ai copié la clé dans Menu Configuration \> Générale \> GLPI Network J’ai accédé GLPI marketplace et téléchargé le plugin OCS Inventory NG Configuration \> Plugins J’ai cliqué sur configurer Serveurs OCSNG ### Ajout serveur OCS Tester Menu Outils \> OCS Inventory NG Cliqué sur OCS est désormais lié, nous pouvons importer un inventaire. ### Configuration SSL Création un dossier pour stocker le certificat ```bash mkdir /etc/apache2/ssl # installation openssl si ce n’est pas déjà le cas* apt install openssl ``` Génération d’une clé RSA ```bash openssl genrsa 2048 \> /etc/apache2/ssl/gestparc.key ``` Création du certificat ```bash openssl req -new -key /etc/apache2/ssl/gestparc.key -x509 -days 365 -out /etc/apache2/ssl/gestparc.crt ``` A la question Common Name, j’ai mis : CT-DEB-GLPI Ensuite j’ai édité le fichier **/etc/apache2/sites-available/default-ssl.conf** ```console SSLCertificateFile /etc/apache2/ssl/gestparc.crt SSLCertificateKeyFile /etc/apache2/ssl/gestparc.key ``` J’ai activé SSL ```bash a2enmod ssl a2ensuite default-ssl systemctl restart apache2 ``` J’accède à la page GLPI en https ### Installation OCS Inventory agent sur Windows J’ai téléchargé l’agent sur le site officiel : J’ai installé l’agent J’ai lancé l’installateur J’ai lancé l’installation Ensuite j’ai copié le fichier **gestparc.crt** dans **c:\ProgramData\OCS Inventory NG\Agent**. Puis j’ai renommé en **cacert.pem**. J’ai arrêté puis redémarré le service OCS Inventory Notre client apparait dans OCS inventory ### Installation OCS Inventory agent sur Linux ```bash apt update apt install libmodule-install-perl dmidecode libxml-simple-perl libcompress-zlib-perl libnet-ip-perl libwww-perl libdigest-md5-perl libdata-uuid-perl apt install ocsinventory-agent ``` ### Choix http J’ai rentré l’adresse de mon serveur OCS : J’ai mis à jour le serveur (mis à jour manuel) ocsinventory-agent --server https://glpi-ocs.t2sr.io/ocsinventory J’ai modifié de manière que l’agent soit mis à jour par heure : ```bash mv /etc/cron.daily/ocsinventory-agent /etc/cron.hourly ``` Le client Debian est bien arrivé sur OCS ### Importer l’inventaire dans GLPI 10.0.2 Menu Outils \> OCS Inventroy NG \> Import de l’inventaire \> Importer et lier des ordinateurs ### Intégrer le serveur OCS dans Active Directory NB : le procédé d’intégration est expliqué dans le chapitre [Active Directory](active_directory.md). ## Conclusion L’importation des ordinateurs ne s’est pas déroulée correctement. J’ai créé une issue sur la page GitHub du développeur. ```{eval-rst} .. raw:: html :file: flyout.html ```