OVH Cloud OVH Cloud

lancement scripts perl sous apache

12 réponses
Avatar
Christophe PEREZ
Bonjour,

Non, non, attendez, ce n'est pas une question sur apache :-)

En effet, j'ai installé le module apache2-mod_perl
Or, le lancement de script perl ne donne rien, ou du moins une erreur :
Can't locate Apache/Registry.pm in @INC (@INC contains:
/var/www/perl/.modperl2 /var/www/perl
/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/Apache2
/usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0
/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl/5.6.0
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl .) at (eval 3)
line 3.

Pourtant, j'ai bien un :
apache2-mod_perl:/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/Apache2/ModPerl/Registry.pm

J'ai tenté un lien symbolique vers Apache2 ou vers Apache, mais ça ne va
pas mieux.
Est-ce un pur pb config apache ou un pb config générale ?

Merci.

--
Christophe PEREZ
Écrivez moi sans _faute !

10 réponses

1 2
Avatar
g.patel
On Tue, 07 Oct 2003 16:28:10 -0400, Christophe PEREZ
wrote:

(...)
Or, le lancement de script perl ne donne rien, ou du moins une erreur :
Can't locate Apache/Registry.pm in @INC (@INC contains:
/var/www/perl/.modperl2 /var/www/perl
/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/Apache2
(...)

Pourtant, j'ai bien un :
apache2-mod_perl:/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/Apache2/ModPerl/Registry.pm

J'ai tenté un lien symbolique vers Apache2 ou vers Apache, mais ça ne va
pas mieux.


un lien symbolique de quoi vers quoi ? Il me semble qu'il faudrait
quelque chose comme ln -s ModPerl Apache pour que cette
configuration puisse tomber en marche.

Gerard

Avatar
Christophe PEREZ
Le Tue, 07 Oct 2003 21:19:09 +0000, gerard patel a écrit:

On Tue, 07 Oct 2003 16:28:10 -0400, Christophe PEREZ
wrote:

(...)
Or, le lancement de script perl ne donne rien, ou du moins une erreur :
Can't locate Apache/Registry.pm in @INC (@INC contains:
/var/www/perl/.modperl2 /var/www/perl
/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/Apache2
(...)

Pourtant, j'ai bien un :
apache2-mod_perl:/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/Apache2/ModPerl/Registry.pm

J'ai tenté un lien symbolique vers Apache2 ou vers Apache, mais ça ne va
pas mieux.


un lien symbolique de quoi vers quoi ?


J'ai fait des
# pwd
/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi
# ln -s Apache2/ModPerl/* Apache/
et aussi des :
# ln -s Apache2/ModPerl/* Apache2/

Il me semble qu'il faudrait
quelque chose comme ln -s ModPerl Apache pour que cette
configuration puisse tomber en marche.


donc ça :
# ln -s Apache2/ModPerl/ Apache

?

Essayé, mais ça ne change rien.

Merci.

--
Christophe PEREZ
Écrivez moi sans _faute !


Avatar
g.patel
On Wed, 08 Oct 2003 02:30:07 -0400, Christophe PEREZ
wrote:

(...)
donc ça :
# ln -s Apache2/ModPerl/ Apache


Le chemin est sur Apache2, pas sur le répertoire de niveau
supérieur, linux-thread-multi ou quelque chose comme ça.

Gerard

Avatar
Christophe PEREZ
Le Wed, 08 Oct 2003 23:00:26 +0000, gerard patel a écrit:

# ln -s Apache2/ModPerl/ Apache


Le chemin est sur Apache2, pas sur le répertoire de niveau
supérieur, linux-thread-multi ou quelque chose comme ça.


Désolé, rien compris.
concrètement ?

--
Christophe PEREZ
Écrivez moi sans _faute !


Avatar
g.patel
On Thu, 09 Oct 2003 00:20:35 -0400, Christophe PEREZ
wrote:

concrètement ?


Le problème est là AMA :

# pwd
/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi


je pense qu'il faut se mettre dans le répertoire Apache2
avant de taper la commande que j'ai indiqué, sinon le
lien est dans un répertoire qui n'est pas dans le chemin
de Perl.

Gerard

Avatar
Christophe PEREZ
Le Thu, 09 Oct 2003 15:29:09 +0000, gerard patel a écrit:

je pense qu'il faut se mettre dans le répertoire Apache2
avant de taper la commande que j'ai indiqué, sinon le
lien est dans un répertoire qui n'est pas dans le chemin
de Perl.


Ok, compris, fait, mais ne change rien.
Mais de toutes les façons, si je comprends bien, il ne cherche pas dans
Apache2/Apache/ModPerl mais dans Apache2/Apache...

Par contre, le reste de mes recherches me fait voir :
$ ls -l /var/www/perl/
total 12
-rwxr-xr-x 1 root root 1075 fév 17 2003 apache2-mod_perl-testscript.pl*
-rwxrwxr-x 1 apache apache 294 jun 20 2002 registry.pl*
-rwxrwxr-x 1 apache apache 1075 mar 4 2003 test.pl*

Or, autant le lancement de apache2-mod_perl-testscript.pl et de test.pl me
donne bien une page d'information (la même), autant registry.pl me renvoie
la même erreur dans le navigateur, avec dans les logs :
[Thu Oct 09 12:50:52 2003] [error] 21894: ModPerl::Registry: Can't locate
object method "cgi_env" via package "Apache::RequestRec" at
/var/www/perl/registry.pl line 8.

Il y a bien un problème quelque part...

J'ai déjà posé la question sur fciws mais ça a l'air de laisser sans voix
:-)

--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
g.patel
On Thu, 09 Oct 2003 13:04:06 -0400, Christophe PEREZ
wrote:

Mais de toutes les façons, si je comprends bien, il ne cherche pas dans
Apache2/Apache/ModPerl mais dans Apache2/Apache...


En étant dans le répertoire Apache2, il y a bien quelque chose
comme ça ?

[ Apache2]$ ll
total 4
lrwxrwxrwx 1 gerard gerard 7 oct 9 00:55 Apache ->
ModPerl/
drwxr-xr-x 2 gerard gerard 4096 oct 9 22:04 ModPerl/

Gerard

Avatar
Christophe PEREZ
Le Thu, 09 Oct 2003 20:05:55 +0000, gerard patel a écrit:

En étant dans le répertoire Apache2, il y a bien quelque chose
comme ça ?

[ Apache2]$ ll
total 4
lrwxrwxrwx 1 gerard gerard 7 oct 9 00:55 Apache ->
ModPerl/
drwxr-xr-x 2 gerard gerard 4096 oct 9 22:04 ModPerl/


Non, dans Apache2, il y a un répertoire Apache en dur :
...Apache2 # ll
total 36
drwxr-xr-x 2 root root 4096 oct 9 12:53 Apache/
drwxr-xr-x 2 root root 4096 oct 7 15:47 APR/
-rw-r--r-- 1 root root 325 jan 11 2003 APR.pm
drwxr-xr-x 5 root root 4096 oct 7 15:47 auto/
drwxr-xr-x 2 root root 4096 oct 7 15:47 ModPerl/
-rw-r--r-- 1 root root 94 jan 11 2003 mod_perl.pm
-rw-r--r-- 1 root root 11257 fév 17 2003 typemap


--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
g.patel
On Thu, 09 Oct 2003 17:21:15 -0400, Christophe PEREZ
wrote:

(...)
Non, dans Apache2, il y a un répertoire Apache en dur :
...Apache2 # ll
total 36
drwxr-xr-x 2 root root 4096 oct 9 12:53 Apache/


ah. C'est encore plus problématique que je ne le pensais.
Dans ce cas, si on ne peux pas changer le chemin Perl
(je n'ai aucune idée de la manière de procéder), il faut essayer
de faire le lien symbolique sur le fichier en question. Le lien
symbolique vers le répertoire ne fonctionnera pas. Ou bien
il faut faire le lien symbolique dans un autre répertoire qui
est dans le chemin de recherche et qui lui n'a pas de sous-répertoire
de ce nom. Ou bien il faut relire la doc, peut-etre qu'il y a
simplement quelque chose qui n'a pas été configuré et qui
aurait du l'etre.

Gerard

Avatar
Christophe PEREZ
Le Fri, 10 Oct 2003 06:41:46 +0000, gerard patel a écrit:

ah. C'est encore plus problématique que je ne le pensais.


:-)

Dans ce cas, si on ne peux pas changer le chemin Perl
(je n'ai aucune idée de la manière de procéder)


J'ai un peu cherché, mais ça me gêne philosophiquement d'avoir à modifier
quelque chose qui doit s'installer correctement...

, il faut essayer
de faire le lien symbolique sur le fichier en question. Le lien
symbolique vers le répertoire ne fonctionnera pas. Ou bien


C'est ce que j'avais fait, et donc je parlais au tout début.
si je fais un lien des fichiers eux-mêmes (ceux de Apache2/ModPerl/*) vers
Apache2, je n'ai plus que l'erreur :
[Thu Oct 09 17:25:08 2003] [error] failed to resolve handler
`Apache::Registry'

Mais ça, c'est quand je décommente les lignes :
<IfModule mod_perl.c>
PerlSendHeader On
SetHandler perl-script
PerlHandler Apache::Registry
</IfModule>

Du fichier de conf de Validator. Or, d'origine, elles sont commentée, mais
alors j'ai une page blanche et une erreur sur l'exécution du script, dans
les logs.
Mais comme je ne sais pas s'il faut ou pas décommenter ces lignes... je
tourne un peu en rond, et à taton, je sens que j'aurai bien du mal à
tomber sur LA solution propre.
Et c'est pour ça qu'initialement je cherchais plutôt quelqu'un qui soit
passé par la même install dans les mêmes conditions, mais manifestement,
je ne suis pas tombé dessus :-)

de ce nom. Ou bien il faut relire la doc, peut-etre qu'il y a
simplement quelque chose qui n'a pas été configuré et qui
aurait du l'etre.


Franchement, à moins de la lire de bas en haut, je ne vois pas tellement
j'ai déjà cherché. Et le pire, c'est que ce n'est pas ma première
tentative.

Merci quand même pour ton aide, mais je ne vais pas continuer à t'embêter
avec ça. En plus, c'est trop HS ici, seulement, il n'y a qu'ici que j'ai
eu une réponse :-)

--
Christophe PEREZ
Écrivez moi sans _faute !

1 2