URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7480
[ Назад ]

Исходное сообщение
"проблема с запуском .cgi"

Отправлено Сергей , 03-Мрт-12 21:49 
проблема с запуском .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>
</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?


Содержание

Сообщения в этом обсуждении
"проблема с запуском .cgi"
Отправлено alexmasz , 04-Мрт-12 00:01 
> проблема в том, что когда захожу 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>


"проблема с запуском .cgi"
Отправлено Сергей , 04-Мрт-12 17:43 
> нет прав доступа
> <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>?


"проблема с запуском .cgi"
Отправлено alexmasz , 04-Мрт-12 18:12 
> может через action="......." у <FORM>?

так и надо, да :)


"проблема с запуском .cgi"
Отправлено Square , 04-Мрт-12 18:28 
>> нет прав доступа
> Может быть на скрипт прямо ссылаться нельзя?

Обычно можно.
Более того, обычно нужно.
И еще более того - обычно только так это и работает.

и путь тут не при чем. вам же ясно сказали- нет прав доступа.
если бы ошибка была в скрипте- было бы еррор 500
если бы он не нашел этого файла- было бы 404


"проблема с запуском .cgi"
Отправлено Square , 04-Мрт-12 18:26 
>[оверквотинг удален]
> <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"
Отправлено Сергей , 04-Мрт-12 19:18 
>[оверквотинг удален]
> на доступ к файлу.
> Поэтому, прилежный пользователь  должен первым образом позвонить в сапорт и пожаловаться
> на то что он сделал все по ФАКу, а оно не
> работает.
> Во вторых, он может таки поставить те самые права доступа, которых ему
> рекомендовали не ставить... тоесть разрешить чтение и запуск файлам 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


"проблема с запуском .cgi"
Отправлено shadowmaan , 04-Мрт-12 21:31 
> что сделал я:
> залил index.html
> залил test.cgi в ascii режиме

А если все залить в binary режиме?


"проблема с запуском .cgi"
Отправлено Сергей , 05-Мрт-12 09:50 
выбрал другой хост и проблема решилась сама собой: поставил стандартные разрешения 755

небольшая сложность возникла с кодировкой, но помогло убрать ";" в первой строчке #!/usr/bin/perl;

всем большое спасибо!