PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Perl und Apache 1.3.23



Opa Nolle
18.07.03, 13:24
Hallo,

ich habe Probleme Perl-Skripte unter Apache auszuführen. Beim Versuch ein Skript auszuführen bekomme ich die Meldung: "You don´t have permission to access /perl/ on this server." Sogar als root!?
Ich habe es folgendermaßen eingerichtet.Unter '/usr/local/http/' sind zwei Verzeichnisse fürs Austesten der Skripte/Dateien:
drwxr-xr-x 2 name root --- perl
drwxr-xr-x 5 name root --- www

Unter 'www' liegen html und php-Dateien. Das funktioniert alles, nur mit 'perl' klappt es eben nicht. 'mod-perl' ist geladen.

Die entsprechenden Abschnitte in der 'httpd.conf' sehen so aus:
---------------------------------------------------------
...
ServerRoot "/usr/local/httpd"
...
DocumentRoot "/usr/local/httpd/www"
...
<Directory "/usr/local/httpd/htdocs">
...
ScriptAlias /cgi-bin/ "/usr/local/httpd/cgi-bin/"

<IfModule mod_perl.c>
# Provide two aliases to the same cgi-bin directory,
# to see the effects of the 2 different mod_perl modes.
# for Apache::Registry Mode
ScriptAlias /perl/ "/usr/local/httpd/cgi-bin/"
# for Apache::Perlrun Mode
ScriptAlias /cgi-perl/ "/usr/local/httpd/cgi-bin/"
</IfModule>
#
# "/usr/local/httpd/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/usr/local/httpd/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

</IfModule>
# End of aliases.


#
# set /cgi-bin for CGI execution
#
<Location /cgi-bin>
AllowOverride None
Options +ExecCGI -Includes
SetHandler cgi-script
</Location>

#
# If mod_perl is activated, load configuration information
#
<IfModule mod_perl.c>
Perlrequire /usr/include/apache/modules/perl/startup.perl
PerlModule Apache::Registry

#
# set Apache::Registry Mode for /perl Alias
#
Alias /perl/ /user/local/httpd/perl/ ####Das ist von mir
<Location /perl>
SetHandler perl-script
PerlHandler Apache::Registry
Options +ExecCGI
PerlSendHeader On
</Location>

#
# set Apache::PerlRun Mode for /cgi-perl Alias
#
<Location /cgi-perl>
SetHandler perl-script
PerlHandler Apache::PerlRun
Options ExecCGI
PerlSendHeader On
</Location>

</IfModule>
...
------------------------------------------

Weiß vielleicht jemand wo der Fehler in der Konfiguration liegen könnte?
Danke!

Opa Nolle

TommeS73
18.07.03, 16:50
Stehen vielleicht detailliertere Fehlerausgaben in der error_log?

Opa Nolle
18.07.03, 21:24
Original geschrieben von TommeS73
Stehen vielleicht detailliertere Fehlerausgaben in der error_log?

Das sind die letzten Zeilen.Tja, ich kann damit nichts anfangen:

------------------------------------------------------------
Fri Jul 18 11:30:25 2003] [error] [client 127.0.0.2] File does not exist: /usr/local/httpd/www/test.php
[Fri Jul 18 12:19:36 2003] [warn] child process 827 still did not exit, sending a SIGTERM
[Fri Jul 18 12:19:36 2003] [warn] child process 1230 still did not exit, sending a SIGTERM
[Fri Jul 18 12:19:49 2003] [notice] Apache/1.3.23 (Unix) mod_python/2.7.8 Python/2.2 PHP/4.1.0 mod_perl/1.26 configured -- resuming normal operations
[Fri Jul 18 12:19:49 2003] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Jul 18 12:19:49 2003] [notice] Accept mutex: sysvsem (Default: sysvsem)
[Fri Jul 18 12:25:16 2003] [error] [client 127.0.0.2] attempt to invoke directory as script: /usr/local/httpd/cgi-bin
[Fri Jul 18 12:27:18 2003] [notice] caught SIGTERM, shutting down
[Fri Jul 18 12:28:47 2003] [notice] Apache/1.3.23 (Unix) mod_python/2.7.8 Python/2.2 PHP/4.1.0 mod_perl/1.26 configured -- resuming normal operations
[Fri Jul 18 12:28:47 2003] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Jul 18 12:28:47 2003] [notice] Accept mutex: sysvsem (Default: sysvsem)
####[Fri Jul 18 12:33:06 2003] [error] [client 127.0.0.2] attempt to invoke directory as script: /usr/local/httpd/cgi-bin
[Fri Jul 18 12:35:53 2003] [error] [client 127.0.0.2] attempt to invoke directory as script: /usr/local/httpd/cgi-bin
[Fri Jul 18 12:56:14 2003] [error] [client 127.0.0.2] attempt to invoke directory as script: /usr/local/httpd/cgi-bin
[Fri Jul 18 15:56:20 2003] [warn] child process 823 still did not exit, sending a SIGTERM
[Fri Jul 18 15:56:20 2003] [warn] child process 1229 still did not exit, sending a SIGTERM
[Fri Jul 18 20:36:50 2003] [notice] Apache/1.3.23 (Unix) mod_python/2.7.8 Python/2.2 PHP/4.1.0 mod_perl/1.26 configured -- resuming normal operations
[Fri Jul 18 20:36:50 2003] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Jul 18 20:36:50 2003] [notice] Accept mutex: sysvsem (Default: sysvsem)
-----------------------------------------------------------

####[Fri Jul 18 12:33:06 2003] [error] [client 127.0.0.2] attempt to invoke directory as script: /usr/local/httpd/cgi-bin
++Er versucht es aufzurufen, aber warum komme in das Verzeichnis '../perl/' nicht rein?
Ich finde in den Unterlagen die ich habe leider keinerlei Hinweise auf ein solches Problem.

Opa Nolle