Свежие обсуждения
Компьютеры

CGI скрипты на Shell. Инструкция для чайников

1 2 4

Атрибуты (права доступа) у /cgi-bin/test.sh какие?
Попробуй выставить 755.

 

чтение-запись-выполнение ....

 

Для какого пользователя? Или для всех?
755 - это выполнять и читать могут все, а писать - только рут.

 

Вот содержимое файла:

#!/bin/busybox
echo Content-type: text/html
echo
echo '<HTML><HEAD></HEAD><BODY>'
echo '<H1>переменные окружения</H1>'
echo '<TABLE BORDER=1>'
echo '<TR><TD>Р˜РјСЏ</TD><TD>значение</TD></TR>'
IFS='='
set | while read x y
do
echo '<TR><TD>'$x'</TD><TD>'$y'</TD></TR>'
done
echo '</TABLE>'
echo '<HR>'
echo '</BODY></HTML>'

Кодировка ессно кои-8. chmod 755 выполнено. Экран пустой.

 

К сожалению, ничего не могу сказать. Никогда не писал CGI-скрипты. На первый взгляд - должен нормально выводить. Кто у нас тут специалист в CGI-скриптах?
--------
Во! Кажись, начинаю соображать. Надо проверить права доступа ПАПКИ, где лежит скрипт. Мне кажется, дело в этом. Сам сталкивался с ситуацией, когда из-за этого не читался конфиговый файл (X font server'а). Поправил, до сих пор работает.

 

Num Lock: Надо проверить права доступа ПАПКИ, где лежит скрипт. Мне кажется, дело в этом. Сам сталкивался с ситуацией, когда из-за этого не читался конфиговый файл (X font server'а). Поправил, до сих пор работает.

Скрипт лежит там, где и родные.

 

Вот запуск thttpd

/usr/sbin/thttpd -d /usr/www -u root -p 80 -c '/cgi-bin/*' -l /dev/null

 

slava2005: Вот запуск thttpd

/usr/sbin/thttpd -d /usr/www -u root -p 80 -c '/cgi-bin/*' -l /dev/null

А собсна httpd - работает? Статические странички - выдаются?

 

А собсна httpd - работает? Статические странички - выдаются?
----
Да. без проблем.

 

Новый скрипт лежит в той же папке, что и родные скрипты настройки роутера, но родные скрипты из этой же папки работают нормально, а новый скрипт - нет?
Тогда:
1. Посмотреть, какие атрибуты у родных скриптов, и выставить такие же для нового скрипта;
2. Изучить текст родных скриптов, и попробовать в новом скрипте сделать нечто похожее.