Директива ScriptAlias предназначена исключительно для обработки
скрипта с помощью mod_cgi, но не mod_perl.
Привожу один из возможных вариантов (у меня это работает):
Alias /perl/ /home/httpd_perl/perl/
PerlModule Apache::Registry
<Location /perl>
SetHandler perl-script
PerlHandler Apache::Registry
Options ExecCGI
allow from all
PerlSendHeader On
</Location>
Для проверки всего этого дела предлагаю создать следующий скрипт
(файл /home/httpd_perl/perl/detect.pl):
#!/usr/bin/perl -w
use strict;
use CGI;
my $q;
my $s;
$q=CGI->new();
print $q->header(-expires=>'+30s'),
$q->start_html(-title=>"Detects everything"),
$q->h1("Here's info from %ENV hash"),
$q->h4("First - key, second - value");
foreach (keys %ENV) {
$s .= "<BR>$_ has value of '$ENV{$_}'";
}
print $q->p($s),
$q->end_html();
Назначаем полномочия на выполнение(!):
chmod +x detect.pl
Стартуем сервер, и запрашиваем в клиентском броузере следующий URL:
http://www.some.server.ru/perl/detect.pl
Если все было сделано правильно, то мы должны увидеть страничку
отображающую содержимое хеша %ENV скрипта (поэтому на рабочем
сервере пользователи ни в коем случае не должны иметь возможность
вызывать подобные скрипты).
Если вы найдете строчки похожие на:
GATEWAY_INTERFACE has value of 'CGI-Perl/1.1'
SERVER_SOFTWARE has value of 'Apache/1.3.17 (Unix) mod_perl/1.25'
то все Ok.
Если первая строка будет:
GATEWAY_INTERFACE has value of 'CGI/1.1'
то это означает, что скрипт обработался с помощью mod_cgi, а не mod_perl.
_________________
Кстати, на http://perl.apache.org/ содержится хорошая документация по
mod_perl.
Андрей
mailto:andrew@xxxxxxxx
----- Original Message -----
From: "alex" <alex@xxxxxxxxxxxxxxxxxxxxxxx>
To: <apache-rus@xxxxxxxxxxxxx>
Sent: Thursday, April 19, 2001 3:36 PM
Subject: [apache-rus] mod_perl qwestion
> Hi All!
> Возник вопрос следующего содержания -
> у меня в httpd.conf прописано
>
> Script Alias /чего-то-там /home/httpd/perl/чего-то-там
> В каталоге /perl прописанным mod_perl думалось что он подхватит
> скрипт в алиасе, а этого не происходит.
>
> Вопрос, что нужно прописать что-бы модперл эти скрипты видел и
> запускал?
>
> --
> Best regards,
> alex mailto:alex@xxxxxxxxxxxxxxxxxxxxxxx
>
>
>
============================================================================
=
> = Apache-Rus@xxxxxxxxxxxxx mailing list
=
> Mail "unsubscribe apache-rus" to majordomo@xxxxxxxxxxxxx if you want to
quit.
> = Archive avaliable at http://www.lexa.ru/mail-archive
=
>
=============================================================================
= Apache-Rus@xxxxxxxxxxxxx mailing list =
Mail "unsubscribe apache-rus" to majordomo@xxxxxxxxxxxxx if you want to quit.
= Archive avaliable at http://www.lexa.ru/mail-archive =
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.