проблема с запуском .cgi
вроде бы сделал все как надо, а он не запускается.выдержка из faq хоста:
HTML файлы, картинки и PHP скрипты, нужно загружать в директорию public_html а CGI скрипты в директорию cgi-bin
Путь к "Perl" -- #!/usr/bin/perl
Путь к "Sendmail" -- /usr/sbin/sendmail
CGI скрипты загружайте на сервер ОБЯЗАТЕЛЬНО в ASC режиме.
Полный путь к вашей CGI и HTML директории указан на странице администрирования, попасть на которую можно с главной страницы сервера введя Ваш ID и пароль.
Разрешение (CHMOD) на CGI скрипты нужно ставить не 755, 777 а ОБЯЗАТЕЛЬНО 750
*.cgi *.pl - CHMOD = 750
Разрешение (CHMOD) на файлы относящиеся CGI скриптам нужно ставить не 666, 777 а 660, 600 при CHMOD 600 ваш файл будет невозможно выкачать/просмотреть с ним смогут работать только ваши скрипты (если у вас в файлах пароли и т.п. разрешение 600 рекомендуется)
Разрешение (CHMOD) на директории (папки) относящиеся CGI скриптам нужно ставить не 777 а 750.
Вообщем вместо последней цифры ОБЯЗАТЕЛЬНО всегда ставить 0
Последняя цифра 0 обозначает что все пользователи кроме вас не имеют никаких прав.Путь к Вашей домашней директории: /home/dax/s/e/r/serman/public_html/
Путь для Ваших скриптов: /home/dax/s/e/r/serman/public_html/cgi-bin/что сделал я:
залил index.html
залил test.cgi в ascii режиме
изменил разрешение test.cgi на 750
изменил разрешение cgi-bin на 750
изменил разрешение index.cgi на 777index.html:
<html>
<head> <title>word</title> </head>
<body> man!
<a href="/cgi-bin/test.cgi"> click </a>
</body>
</html>test.cgi:
#!/usr/bin/perl;
print "Content-Type: text/html\n\n";
print "<HTML><HEAD>\n<TITLE>title</TITLE></HEAD><body>Hi!</body>";проблема в том, что когда захожу index.html и перехожу по ссылке возникает ошибка: неверный запрос, Error:403 Forbidden
как запустить все-таки test.cgi?
> проблема в том, что когда захожу index.html и перехожу по ссылке возникает
> ошибка: неверный запрос, Error:403 Forbiddenнет прав доступа
<a href="/cgi-bin/test.cgi"> click </a>возможно так
<a href="cgi-bin/test.cgi"> click </a>или так
<a href="../cgi-bin/test.cgi"> click </a>
> нет прав доступа
> <a href="/cgi-bin/test.cgi"> click </a>
> возможно так
> <a href="cgi-bin/test.cgi"> click </a>
> или так
> <a href="../cgi-bin/test.cgi"> click </a>Это не помогло, менял путь по-всякому.
Может быть на скрипт прямо ссылаться нельзя?
может через action="......." у <FORM>?
> может через action="......." у <FORM>?так и надо, да :)
>> нет прав доступа
> Может быть на скрипт прямо ссылаться нельзя?Обычно можно.
Более того, обычно нужно.
И еще более того - обычно только так это и работает.и путь тут не при чем. вам же ясно сказали- нет прав доступа.
если бы ошибка была в скрипте- было бы еррор 500
если бы он не нашел этого файла- было бы 404
>[оверквотинг удален]
> <a href="/cgi-bin/test.cgi"> click </a>
> </body>
> </html>
> test.cgi:
> #!/usr/bin/perl;
> print "Content-Type: text/html\n\n";
> print "<HTML><HEAD>\n<TITLE>title</TITLE></HEAD><body>Hi!</body>";
> проблема в том, что когда захожу index.html и перехожу по ссылке возникает
> ошибка: неверный запрос, Error:403 Forbidden
> как запустить все-таки test.cgi?Вам выдается ошибка 403. Вам написали на чистом html-error что нет прав на доступ к файлу.
Поэтому, прилежный пользователь должен первым образом позвонить в сапорт и пожаловаться на то что он сделал все по ФАКу, а оно не работает.
Во вторых, он может таки поставить те самые права доступа, которых ему рекомендовали не ставить... тоесть разрешить чтение и запуск файлам cgi для всех.
Если сервер настроен адекватно - то установка последней цифры в 0 - странное и вообще говоря глупое требование.ну ради эксперименты
>[оверквотинг удален]
> на доступ к файлу.
> Поэтому, прилежный пользователь должен первым образом позвонить в сапорт и пожаловаться
> на то что он сделал все по ФАКу, а оно не
> работает.
> Во вторых, он может таки поставить те самые права доступа, которых ему
> рекомендовали не ставить... тоесть разрешить чтение и запуск файлам cgi для
> всех.
> Если сервер настроен адекватно - то установка последней цифры в 0 -
> странное и вообще говоря глупое требование.
> ну ради экспериментыпопробовал поставить на папку и скрипт права 755 - не получилось,
751, 754 пробовал, даже 777 и тп. - не хочет запускаться...в поддержку обращался, ответа не получил.
на другом хосте имею вот такую ошибку:
"lscgid: execve():/home/sermanx1/public_html/cgi-bin/test.cgi: No such file or directory"
права
test.cgi 0755
cgi-bin 0755
index.html 0777
> что сделал я:
> залил index.html
> залил test.cgi в ascii режимеА если все залить в binary режиме?
выбрал другой хост и проблема решилась сама собой: поставил стандартные разрешения 755небольшая сложность возникла с кодировкой, но помогло убрать ";" в первой строчке #!/usr/bin/perl;
всем большое спасибо!