Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > проблема с .cgi


Автор: serman 3.3.2012, 21:57
проблема с запуском .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 на 777

index.html:
Код

<html> 
<head> <title>word</title> </head> 
<body> man!
<a href="/cgi-bin/test.cgi"> click </a><br>
</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?

Автор: krypt3r 5.3.2012, 13:41
Что в логах? Попробуйте также провести эксперимент:
Код

chmod 0755 cgi-bin
chmod 0755 test.cgi
chmod 0755 index.cgi


Автор: FishHunter 7.3.2012, 23:01
совет, включай use CGI::Carp qw(warningsToBrowser fatalsToBrowser); это.  Очень облегчает жизнь при отладке cgi скриптов. Ошибки все будут в браузер выводится, а не тупо 500 или какая там.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)