Service apache2 problème avec Perl 5.14

Bien le bonjour,
(je m’excuse d’avance si le sujet n’est pas dans la bonne catégorie j’ai hésité entre “programmation” et “support Debian”)
Je vais essayé d’être la plus claire possible dans mes explications par rapport à mon problème mais comme je débute je risque de faire quelques erreurs.

Alors voilà, je me suis retrouvée avec un serveur apache2 qui tournait sur Debian 6.0.10 (qui fonctionnait très bien), je l’ai migré de la façon la plus propre possible selon moi et à l’aide de quelques tuto.
Aujourd’hui c’est un serveur apache2 sur Debian 8.5 qui ne “fonctionne” plus.

En gros lors de la migration je suppose que certes certaines conf ont pétées notamment celles d’apache2 mais lorsque j’essaie un :
service apache2 start
il me retourne l’erreur :
[warn] The ScriptAlias directive in /ewill probably never match because it overlaps an earlier ScriptAlias. [Wed Aug 03 10:46:52 2016] [warn] The Alias directive in /etc/apache2/conf.d/httpd.conf at line 14 wrlaps an earlier Alias.

Donc la conf httpd a un soucis.

Et quand je regarde dans mes logs il m’indique l’erreur suivante :
[Wed Aug 03 10:58:17 2016] [error] Can't locate Apache/Ocsinventory.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . /etc/apache2) at (eval 14) line 2.\n [Wed Aug 03 10:58:17 2016] [error] Can't load Perl module Apache::Ocsinventory for server srv:0, exiting...

J’avoue que je suis perdue à ce niveau là. Je vois qu’il y a apparemment un soucis avec ma version de perl et en effet quand je “demande” au système qu’elle version de perl je possède :
Ma commande : ls /usr/local/share/perl/ La réponse : 5.10.1
Mais quand je lui demande de cette façon :
Ma commande : perl -v
La réponse du système : This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-gnu-thread-multi

Je précise que mon apache2 est la version 2.2.22 et que j’ai (je crois) essayé d’appliquer la version 2.14 de perl mais sans succès à la vue des résultats des commandes précédentes …
Je ne sais pas si il faut des informations supplémentaires pour avoir de l’aide donc si besoin est je les fourniraient !
Si quelqu’un peux m’expliquer ces erreurs et/ou m’indiquer quoi faire.

Merci de votre aide, bonne journée à tous !

Yahallo,
Je pense que tu devrais purger apache2, puis le réinstaller. Peut-être que certains emplacements ont été changé depuis, et que la mise à jour n’a pas tout pris en compte…

Tente une purge, je pense.

Du coup c’est à peu prés ce que j’ai tenté hier soir et en relançant toujours le même soucis …
A priori le soucis viendrais de ma conf apache en perl (passer la syntaxe etc d’une conf en perl 5.10 en perl 5.14)
:confused:
Donc je vais tester encore aujourd’hui !

Merci de ta réponse !

1 J'aime

Bonjour SowLene,

il semblerait qu’apache recherche ce fichier
Apache/Ocsinventory.pm

essaye ça :
updatedb ; locate Ocsinventory.pm

Ensuite, si le fichier est trouvé, tu le copie dans le bon répertoire.
Si par exemple il est dans :
/usr/local/lib/perl/5.10.0
tu le copie dans :
/usr/local/lib/perl/5.14.2

Sinon tu migres GLPI sur la dernière version et tu installes fusioninventory (le projet OCS est abandonné…) pour ton inventaire et là, no more trouble.

Tu peux essayer un script que j’ai fait qui t’installera GLPI + FusionInventory avec un Shinken/Webui/Thruk/Graphite/Pnp4nagios

https://cloud.superserveur.org/index.php/s/kCNmwXsDcHRF9Gq

J’espère que ça t’aidera.

Merci @vincentsan je vais essayer cette après-midi :smiley:

Me renvois :

    /downloadtmp/download/OCSNG_UNIX_SERVER-2.0.3/Apache/Ocsinventory.pm
    /downloadtmp/download/OCSNG_UNIX_SERVER-2.0.3/Apache/blib/lib/Apache/Ocsinventory.pm
    /usr/local/share/perl/5.10.1/Apache/Ocsinventory.pm

Donc je déplace :

/usr/local/share/perl/5.10.1/Apache/Ocsinventory.pm <- Ocsinventory.pm

Vers

/usr/local/share/perl/5.14.2/Apache/

Je note que j’ai dû créer le répertoire Apache dans /perl/5.14.2

Désolée du spam mais je note mes étapes comme ça si il y a une erreur peut-être que par la suite quelqu’un pourra comprendre plus vite que moi x) .

Du coup j’ai une erreur avec

service apache2 start

Qui me renvois :

[…] Starting web server: apache2[Fri Aug 05 13:38:31.964605 2016] [core:warn] [pid 6722] AH00117: Ignoring deprecated use of DefaultType in line 174 of /etc/apache2/apache2.conf.
Action ‘start’ failed.
The Apache error log may have more information.
. ok

Du coup c’est un soucis avec la conf :confused:
Je vais voir ça ^^.

Et dans les logs l’erreur indiquée est la suivante :

[perl:error] [pid 6722] Can’t locate Apache/Ocsinventory.pm in @INC (you may need to install the Apache::Ocsinventory module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/x86_64-linux-gnu/perl5/5.20 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl . /etc/apache2) at (eval 15) line 2.\n
[perl:error] [pid 6722] Can’t load Perl module Apache::Ocsinventory for server srv:0, exiting…

Bonjour,
je reviens avec presque le même soucis je crois …

Quand j’essaie de lancer le service :

service apache2 start

[....] Starting web server: apache2[Mon Aug 08 08:49:45.462898 2016] [core:warn] [pid 2226] AH00117: Ignoring deprecated use of DefaultType in line 174 of /etc/apache2/apache2.conf. Action 'start' failed. The Apache error log may have more information. . ok

et dans mes log :

[perl:error] [pid 2226] Can't locate Apache/Ocsinventory.pm in @INC (you may need to install the Apache::Ocsinventory module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/x86_64-linux-gnu/perl5/5.20 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl . /etc/apache2) at (eval 15) line 2.\n [perl:error] [pid 2226] Can't load Perl module Apache::Ocsinventory for server srv:0, exiting...

J’aurai bien fait ta technique @vincentsan mais je ne peux pas (pas le droit) me passer d’OCS … :confused:

Bonjour SowLene,

As-tu essayé de mettre à jour ton module ocs ? Il est possible que celui-ci ne soit pas correctement repéré par glpi.
Vu que c’est perl qui gueule tu peux essayer :
perl -MCPAN -e"install Apache::Ocsinventory"

Bon courage

Je viens d’essayer mais le système me retourne qu’il ne connais pas ce module :

CPAN: Storable loaded ok (v2.51)
Reading '/root/.cpan/Metadata'
  Database was generated on Mon, 08 Aug 2016 06:17:02 GMT
CPAN: LWP::UserAgent loaded ok (v6.15)
CPAN: Time::HiRes loaded ok (v1.9739)
Fetching with LWP:
http://www.perl.org/CPAN/authors/01mailrc.txt.gz
Reading '/root/.cpan/sources/authors/01mailrc.txt.gz'
CPAN: Compress::Zlib loaded ok (v2.069)
............................................................................DONE
Fetching with LWP:
http://www.perl.org/CPAN/modules/02packages.details.txt.gz
Reading '/root/.cpan/sources/modules/02packages.details.txt.gz'
  Database was generated on Tue, 09 Aug 2016 02:17:03 GMT
............................................................................DONE
Fetching with LWP:
http://www.perl.org/CPAN/modules/03modlist.data.gz
Reading '/root/.cpan/sources/modules/03modlist.data.gz'
DONE
Writing /root/.cpan/Metadata
Warning: Cannot install Apache::Ocsinventory, don't know what it is.
Try the command

    i /Apache::Ocsinventory/

to find objects with matching identifiers.

Je vais chercher si c’est faisable autrement :slight_smile:

Bon bin franchement je vois pas, j’ai même réinstallé les configurations OCS avec setup.sh et toujours la même erreur :

[Tue Aug 09 13:14:17.984719 2016] [perl:error] [pid 17616] Can't locate Apache/Ocsinventory/Server/Support.pm in @INC (you may need to install the Apache::Ocsinventory::Server::Support module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/x86_64-linux-gnu/perl5/5.20 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl . /etc/apache2) at (eval 21) line 2.\n

you may need to install the Apache::Ocsinventory::Server::Support module

Et je vois pas comment faire ça …
Et je sais pas comment modifier la conf que l’erreur m’indique avec les lignes etc…

Merci de votre aide !

Du coup j’ai résolu le soucis, je ne sais pas trop comment “précisément” mais j’ai fait :

apt-get install ocsinventory-reports
apt-get install ocsinventory-support
apt-get install ocsinventory-agent

Et ducoup mon service tourne mais j’ai une erreur 403 comme quoi j’ai pas l’accés. :wink:
Ca devrais se résoudre rapidement j’espère :smiley:

Hello,

et avec :

apt-get install -y ocsinventory-server

pour le 403, il faudrait voir le vhost notamment le DocumentRoot et la section :

DocumentRoot /var/www/html/MySite
<Directory /var/www/html/MySite/>
                Options FollowSymLinks
                AllowOverride all
                Order allow,deny
                allow from all
</Directory>

Et tu peux aussi vérifier les droits

ls -l /var/www

Et si besoin :

chown -R www-data:www-data /var/www

Pour GLPI mon Vhost ressemble à ça :

cat > /etc/apache2/sites-available/glpi.conf << EOF
<VirtualHost $(hostname).$(hostname -d):443>
			ServerAdmin webmaster@$(hostname -d)
			DocumentRoot /usr/share/glpi
			ServerName $(hostname).$(hostname -d)
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory /usr/share/>
    Options Indexes FollowSymLinks
    AllowOverride all
    Require all granted
</Directory>
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
                </Directory>
        AccessFileName .httpdoverride
           <Files ~ "^\.ht">
                   Order allow,deny
                   Deny from all
                   Satisfy All
           </Files>
                SSLEngine on
                SSLCertificateFile    /etc/ssl/$(hostname).$(hostname -d).crt
                SSLCertificateKeyFile /etc/ssl/$(hostname).$(hostname -d).key
                SSLVerifyClient none
                SSLProtocol all -SSLv2 -SSLv3
                SSLHonorCipherOrder on
</VirtualHost>
EOF

==> il faut bien sûr adapter les variables à ton environnement
j’imagine que tu as fait :

a2dissite 000-default.conf
a2enmod ssl
a2enmod php5
a2ensite ton_site.conf
systemctl restart apache2.service

##### un peu de sécurité : 

sed -i "s|;default_charset = \"UTF-8\"|default_charset = \"UTF-8\"|"  /etc/php5/apache2/php.ini
a2ensite glpi
sed -i "s/ServerSignature On/ServerSignature Off/" /etc/apache2/conf-available/security.conf
sed -i "s/ServerTokens OS/ServerTokens Prod/" /etc/apache2/conf-available/security.conf
sed -i "s|expose_php = On|expose_php = Off|" /etc/php5/apache2/php.ini 

Bon courage !

Merci @vincentsan ! :smiley: J’ai réussi a faire ça toute seule hier dans la journée (petite fierté personnelle ^^).
Mais du coup comme c’est pas moi qui ai mis cet environnement en place je continue d’adapter les conf préexistantes !
La j’ai un soucis de log avec OcsInventory j’ai du rater l’installation web --" !

Et

apt-get install -y ocsinventory-server

As-tu installé/activé le plugin dans glpi ?
/Configuration/plugins/

Quand je fais ça, ça me dit que tout est déja installé :

`root@srv-supervision:~# apt-get install -y ocsinventory-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
ocsinventory-server is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.`

Aucune idée :confused:
Dans quel répertoire je peux trouver /Configuration/plugins/ ?

dans l’interface de glpi

Alors je t’avoue que je suis perdue là :confused:

Merci pour la capture ! Après configuration j’ai rien qui s’affiche et j’ai une version de glpi qui date un peu … Mais plugins n’apparait pas !
C’est un glpi vert et jaune !

!!! Il faut faire attention à la version de ton GLPI, !!!

voir ici :
http://plugins.glpi-project.org/

et surtout là :
http://plugins.glpi-project.org/#/plugin/ocsinventoryng

tu récupère le plugin :

cd /usr/share/glpi/plugins/
wget --no-check-certificate https://github.com/pluginsGLPI/ocsinventoryng/releases/download/1.2.2/glpi-ocsinventoryng-1.2.2.tar.gz
tar xvzf glpi-ocsinventoryng-1.2.2.tar.gz
rm *.gz

Ensuite tu le verras dans l’interface de glpi

Pardon, mais je suis censée voir quoi sur https://www.debian-fr.org/t/service-apache2-probleme-avec-perl-5-14/ et http://plugins.glpi-project.org/ ?

Si je n’ai pas de repertoire /glpi/plugins/ je les créent ?

Je veux bien te renseigner la version de glpi mais aucune idée de comment la trouver :confused:

J’suis un peu un boulet là :confused: