Welcome to OCS Inventory NG community support, where you can ask questions and receive answers from other members of the community.

Please ask questions only in English or French.

Release 2.12.3 available

The official documentation can be found on https://wiki.ocsinventory-ng.org. Read it before asking your question.

Mise à jour vers Debian11 et crash OCSInventory

Bonjour

Mon serveur OCSInventory fonctionne sans problème sous debian 10 mais voilà, vient le moment ou il faut bien le mettre à jour vers debian 11 puis bien sur vers debian 12.

La première phase de mise à jour de l'OS vers Debian 11 s'est passé sans problème sauf que quand je veux accéder à la plateforme web, je n'ai plus rien.

J'ai donc vérifié apache et voila ce qu'il me sort

root@OCSInventory:~# /etc/init.d/apache2 status
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Tue 2024-02-27 09:49:45 CET; 4min 10s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 524 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)
        CPU: 267ms

févr. 27 09:49:38 OCSInventory systemd[1]: Starting The Apache HTTP Server...
févr. 27 09:49:45 OCSInventory apachectl[555]: [Tue Feb 27 09:49:45.697494 2024] [perl:error] [pid 555] Can't locate Apache/Ocsinventory/Plugins.pm in @INC (you may need to install…
févr. 27 09:49:45 OCSInventory apachectl[555]: [Tue Feb 27 09:49:45.697579 2024] [perl:error] [pid 555] Can't load Perl module Apache::Ocsinventory::Plugins for server…0, exiting...
févr. 27 09:49:45 OCSInventory apachectl[524]: Action 'start' failed.
févr. 27 09:49:45 OCSInventory apachectl[524]: The Apache error log may have more information.
févr. 27 09:49:45 OCSInventory systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE
févr. 27 09:49:45 OCSInventory systemd[1]: apache2.service: Failed with result 'exit-code'.
févr. 27 09:49:45 OCSInventory systemd[1]: Failed to start The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.

Comment me sortir de ce problème et récupérer le service web?

Par avance merci pour votre aide

in OCS Inventory NG server for Unix by (440 points)

4 Answers

0 votes
 
Best answer

Bonjour

Bon ben après pas mal de reflexion, j'ai enfin trouvé la solution.

Bien entendu avant toute action il faut arreter apache2 puis sauvegarder les fichiers essentiels:

/etc/apache2/conf-available/z-ocsinventory-server.conf
/etc/apache2/conf-available/zz-ocsinventory-restapi.conf
etc/apache2/conf-available/ocsinventory-reports.conf
/usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php

Puis on lance la procédure habituelle de mise à jour de l'OS en finissant par dist-upgrade.

Dans mon cas, dans un premier temps, je suis donc passé de debian 10 vers debian 11

Une fois le dernier reboot fait, dans mon cas, j'avais encore OCSInventory 2.8 donc je suis allé télécharger la dernière version 2.12.1

wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/2.12.1/OCSNG_UNIX_SERVER-2.12.1.tar.gz
tar -xvzf OCSNG_UNIX_SERVER-2.12.1.tar.gz

et ensuite j'ai installé les 3 modules PERL manquants

cpan
install Mojolicious::Lite
install Switch
install Plack::Handler

Une fois installé j'ai lancé le programme d'installation de OCSInventory: sh setup.sh

Réponse par défaut à toutes les questions, puis une fois fini, restauration des fichiers précédemment sauvegardés.

cp ocsinventory-reports.conf z-ocsinventory-server.conf zz-ocsinventory-restapi.conf /etc/apache2/conf-available/ && cp dbconfig.inc.php /usr/share/ocsinventory-reports/ocsreports/

Enfin derniere commande: rm /usr/share/ocsinventory-reports/ocsreports/install.php

Et on peut lancer apache2 et se connecter laugh

A l'ouverture OCSInventory a demandé à mettre à jour la base de données, ce que j'ai validé et qu'il a fait tout seul.

Tout est bien là. J'en ai profité pour passer de php 7.4 à php 8.2 et laissé le tout fonctionner 12h pour vérifier que tout remontait bien.

Ce matin, passage de debian 11 à debian 12 en suivant exactement la même procédure et en relançant la procédure complète d'installation de OCSInventory, reinstallation des modules PERL et enfin la commande sh setup.sh.

Une fois que l'on a le coup de main, la mise à jour complète ne prend pas plus de 30 minutes.

Voilà, donc si ça peut servir à d'autres, c'est la raison de ce post.

by (440 points)
0 votes
Pas fameuse idée : un upgrade serveur ça se teste ! En particulier la partie Inventory est basée sur Perl et DONC l'upgrade Debian augmente la version de Perl et le chemin (ancien) de ce qu'ajoute OCS n'est plus dans les bons chemins. Par ailleurs, comme indiqué récemment, OCS se croit seul pour Apache : il est beaucoup plus facile de traiter des fichiers de conf de virtualhost ... Si vous connaissez pas 'apache2ctl -t', ...

Il est probable que pour changer de version d'OS, il est préférable de créer un nouveau serveur et de migrer la base de données puis monter la version d'OCS ... (Enfin c'est ce que j'aurais fait, en plus on part d'une install neuve et propre)
by (20.1k points)
0 votes
Evidemment, lors de l'installation d'OCS, les librairies Perl spécifiques d'OCS sont installées dans les BONS chemins pour la version de l'OS. (Les anciennes restent à leur place.)

Sans installation d'OCS, on est dans le problème que j'ai décrit, et Apache ne démarre pas faute de présence des librairies Perl d'OCS à la bonne place. Ce qui ne peut surprendre ...
by (20.1k points)
0 votes
Effectivement, donc ça veux dire qu'il y a quand même un problème dans l'architecture d'OCSI si il ne supporte même pas une mise à jour majeure de l'OS qui l'héberge, ce qui dans la vie d'un logiciel de ce type arrive pas une seule fois.
by (440 points)
 
Powered by Question2Answer
...