Страница 1 из 1

apache 2.2+cgi

Добавлено: 2009-02-27 22:04:48
johns

Код: Выделить всё

uname -pri
7.0-RELEASE i386 FBSDROUTER

Код: Выделить всё

httpd -v
Server version: Apache/2.2.11 (FreeBSD)
Server built:   Feb 13 2009 11:06:39

Код: Выделить всё

httpd.conf

ScriptAlias /cgi-bin/ "/usr/local/www/apache22/cgi-bin/"
<Directory "/usr/local/www/apache22/cgi-bin">
    AllowOverride None
    Options ExecCGI
    DirectoryIndex printenv
    Order allow,deny
    Allow from all
</Directory>
При обращении http://server_name/cgi-bin/ 403 ошибка
права на папку и файлы 0777 для тестов стоят, соответственно http://server_name/cgi-bin/printenv отрабатывает + добавлял директивы AddHandler cgi-script .cgi и SetHandler cgi-script в Directory результат все тот же, может кто-нибудь сталкивался?

Re: apache 2.2+cgi

Добавлено: 2009-02-27 22:28:32
zg
johns писал(а):права на папку и файлы 0777
поставь 755
johns писал(а):При обращении http://server_name/cgi-bin/ 403 ошибка
ну.. ради теста создай index.html

Re: apache 2.2+cgi

Добавлено: 2009-02-27 23:12:54
thefree

Код: Выделить всё

Options ExecCGI FollowSymLinks
SetHandler cgi-script
AllowOverride None
Order allow,deny
allow from all

Re: apache 2.2+cgi

Добавлено: 2009-02-28 0:18:21
johns
tothefree все равно 403, тем более я уже писал что в каких только комбинациях не пробовал

Re: apache 2.2+cgi

Добавлено: 2009-02-28 5:28:16
thefree
хотим логи ... телепаты кончились ...
как у тебя printenv выглядит?

Re: apache 2.2+cgi

Добавлено: 2009-02-28 15:19:28
johns

Код: Выделить всё

cat /usr/local/www/js.localnet/cgi-bin/printenv

#!/usr/local/bin/perl
##
##  printenv -- demo CGI program which just prints its environment
##

print "Content-type: text/plain; charset=iso-8859-1\n\n";
foreach $var (sort(keys(%ENV))) {
    $val = $ENV{$var};
    $val =~ s|\n|\\n|g;
    $val =~ s|"|\\"|g;
    print "${var}=\"${val}\"\n";
}

Код: Выделить всё

httpd-error.log

[Sat Feb 28 15:07:24 2009] [error] [client 192.168.0.2] attempt to invoke directory as script: /usr/local/www/js.localnet/cgi-bin/
При обращении к странице.
Гуглил все ссылаются на неправильно прописанные алиасы, но почитав на apache.org про эту директиву у себя не нашёл ничего криминального в конфиге, все практически по дефолту.

Re: apache 2.2+cgi

Добавлено: 2009-02-28 17:12:41
zg
zg писал(а):ну.. ради теста создай index.html
8)

Re: apache 2.2+cgi

Добавлено: 2009-02-28 17:26:05
johns
to zg аналочино 403 что в принципе и следовало ожидать...

Re: apache 2.2+cgi

Добавлено: 2009-02-28 19:19:51
zg
johns писал(а):to zg аналочино 403 что в принципе и следовало ожидать...
для скриптов индексы не будут работать, поскольку ругань такая ругань идёт

Код: Выделить всё

attempt to invoke directory as script
тут есть только один выход:

Код: Выделить всё

Alias /cgi-bin/ "/usr/local/www/apache22/cgi-bin/"

<Directory "/usr/local/www/apache22/cgi-bin">
    AllowOverride None
    Order allow,deny
    Allow from all
    Options +ExecCGI
    AddHandler cgi-script .cgi .pl
    DirectoryIndex index.pl
</Directory>
в таком разрезе всё работает

Re: apache 2.2+cgi

Добавлено: 2009-03-01 21:52:32
johns
to спасибо, оставил пока так, но почему директива ScriptAlias не отрабатывает интересно было бы узнать? ну да ладно отпишусь на лист рассылки может там чего ответят, тему можно закрывать.

Re: apache 2.2+cgi

Добавлено: 2009-03-01 22:32:37
zg
johns писал(а):но почему директива ScriptAlias не отрабатывает интересно было бы узнать?
да фиг его знает, просто апач в этом случае пытается запустить папку аки скрипт, как в прочем и любой запрос. Но в принципе, можно и через ScriptAlias сделать пародию на индексы при помощи мод-реврайта.