|
|
|
| Сейчас DocumentRoot установлен как c:\Home_server\Pages . В этой папке есть подкаталог cgi-bin. Сам сервер работает, однако при вводе адреса http://localhost/cgi-bin/ сообщает, что доступ к папке закрыт, а файлы внутри нее не находит (404).
Настройка cgi-bin в файле конфигурации выглядит так:
ScriptAlias /cgi-bin/ "C:\Home_server\Pages\cgi-bin"
ScriptAlias /cgi/ "C:Home_server\cgi-bin\"
AddHandler выглядит так:
AddHandler cgi-script .cgi .bat .exe .pl
Заранее большое спасибо. | |
|
|
|
|
|
|
|
для: ck
(12.11.2005 в 17:52)
| | >однако при вводе адреса http://localhost/cgi-bin/ сообщает, что доступ к папке закрыт, а файлы внутри нее не находит (404).
А как вы обращаетесь к cgi-скрипту? Приведите URL.
Попробуйте так:
Alias /cgi/ "C:/Home_server/cgi-bin/"
<Directory "C:/Home_server/cgi-bin">
Options ExecCGI
AddHandler cgi-script .cgi .bat .exe .pl
</Directory>
|
Обратите внимание в какую сторону повернуты слеши в путях. Закомментируйте все директивы ScriptAlias. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(12.11.2005 в 22:11)
| | Настройки уже именно так и выглядят.
URL, приводящее к ошибке 403:
http://localhost/cgi-bin/
к 404:
http://localhost/cgi-bin/untitled.pl
Жду ответа. Заранее большое спасибо. | |
|
|
|
|
|
|
|
для: ck
(13.11.2005 в 03:28)
| | Прикрепите Ваш httpd.conf в форум. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(13.11.2005 в 19:28)
| | Выкладываю. Спасибо за участие, Дизайнер.
ps. С господином Симдяновым мне уже доводилось общаться здесь, а с Вами нет, поэтому, пользуясь случаем, хочу поблагодарить Вас за замечательную книгу. (Я имею в виду "PHP 5. Практика создания web-сайтов"). | |
|
|
|
|
|
|
|
для: ck
(15.11.2005 в 22:00)
| | Вместо
ScriptAlias /cgi-bin/ "C:/Home_server/Pages/cgi-bin"
|
нужно писать
ScriptAlias /cgi-bin/ "C:/Home_server/Pages/cgi-bin/"
|
Закрывающий слеш пропущен.
Ошибка также фиксируется в лог-файле error.log
>пользуясь случаем, хочу поблагодарить Вас за замечательную книгу.
Спасибо за добрый отзыв. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(15.11.2005 в 23:41)
| | Огромное спасибо. Действительно, Perl заработал. Вопрос из любопытства - то, что при попытке прямого доступа из адресной строки в саму папку ("http://localhost/cgi-bin/") сообщается о закрытом доступе (403) - это в порядке вещей? Потому что это есть и сейчас, хотя ни на что, конечно, на практике не влияет. | |
|
|
|
|
|
|
|
для: ck
(17.11.2005 в 21:48)
| | >это в порядке вещей
Да, так и должно быть. Это сделано для увеличения пассивной безопасности.
Попробуйте добавить директиву Options Indexes в контейнер директории cgi
<Directory "C:/Home_server/cgi-bin">
Options Indexes ExecCGI
AddHandler cgi-script .cgi .bat .exe .pl
</Directory>
|
| |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(15.11.2005 в 23:41)
| | Дизайнер, я только что выяснил, что теперь есть другая проблемка - если файл с расширением, например, ".pl" разместить не с папке cgi-bin, а, скажем, в корневой, то при обращении к нему - та же ошибка доступа (403). Это можно исправить, или так и должно быть? Выходит, если я разрабатываю на localhost разные файлы и они размещаются, соответственно, в подкаталогах "localhost/cat1", "localhost/cat2"...'localhost/catn", то серверные скрипты Perl-а все предстоит хранить в одной папке корневого каталога? | |
|
|
|
|
|
|
|
для: ck
(17.11.2005 в 22:00)
| | Так и должно быть.
Ведь ScriptAlias указывается только на строго определеные папки
ScriptAlias /cgi-bin/ "C:/Home_server/Pages/cgi-bin/
|
Соответсвенно только в них и будут исполняться cgi. Добавьте аналогичные директивы для других директорий, если это необходимо. | |
|
|
|
|
автор: tel (18.11.2005 в 15:23) |
|
|
для: glsv (Дизайнер)
(18.11.2005 в 08:51)
| | ScriptAlias /cgi-bin/ "C:/App/Apache2/cgi-bin/"
ScriptAlias /cgi-bin/ "C:/App/Apache2/htdocs/"
не работает | |
|
|
|
|
автор: tel (18.11.2005 в 15:33) |
|
|
для: tel
(18.11.2005 в 15:23)
| | Как настроить? У меня Forbidden на http://127.0.0.1/p.pl и http://127.0.0.1/php.php
ScriptAlias /cgi-bin/ "C:/App/Apache2/cgi-bin/"
ScriptAlias /cgi-bin/ "C:/App/Apache2/htdocs/"
<Directory "C:/App/Apache2/cgi-bin">
AllowOverride All
Options Indexes ExecCGI
Order allow,deny
Allow from all
</Directory>
|
не работает пхп
а перл только с .pl Хм.. c .cgi он выдает код
AddType application/x-perl .cgi .pl
AddHandler cgi-script .bat .exe .pl .cgi .php
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
|
почему | |
|
|
|
|
|
|
|
для: tel
(18.11.2005 в 15:33)
| | >не работает пхп
Для подключения php руководствуйтесь статьей по ссылке
http://www.softtime.ru/info/articlephp.php?id_article=24 | |
|
|
|
|
|
|
|
для: tel
(18.11.2005 в 15:23)
| | Кроме прописывания псевдонима для cgi
ScriptAlias /cgi-bin/ "C:/App/Apache2/htdocs/"
|
Нужно также указать для этой директории, что в ней можно исполнять cgi-приложения.
<Directory "C:/Apache2/htdocs">
Options ExecCGI
</Directory>
|
Но здесь очень важный момент. Вы НЕ ДОЛЖНЫ размещать свои cgi-скрипты по всему серверу, а тем более в директории htdocs.
CGI скрипты должны размещаться вне дерева документов web-сервера. Т.е. если DocumentRoot указывает на htdocs, например:
То каталог с CGI-скриптами не должен лежать внутри htdocs и нельзя разрешать выполнение CGI в самом каталоге htdocs. Каталог в cgi-скриптами должен лежать выше, либо на одном уровне с htdocs
ScriptAlias /cgi-bin/ "/www/cgi-bin/"
|
Конечно, в случае локального сервера, предназначенного для тестирования, эти рекомендации не имеют значения. Это важно для защиты интернетовского сервера. | |
|
|
|