The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Apache не запускает cgi скрипты"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [ Отслеживать ]

"Apache не запускает cgi скрипты"  
Сообщение от Gekt0r email(ok) on 16-Апр-07, 12:40 
Всем привет, я копаюсь с apache и cgi программированием, на перле.
Возник ламерский вопрос, на который, однако, я не нашел ответа в сети: у меня не запускаются мои cgi приложения. Так, к примеру, в моем файле index.html создаю форму, которая отсылает данные скрипту в этом же каталоге. Захожу через браузер, заполняю форму, жму enter, и на экране появляется мой cgi скрипт, в текстовом виде. То есть браузер просто его выводит на экран, а не запускает.

И еще вопрос. Я пробовал размещать скрипты в каталоге cgi-bin, но в браузере вываливается ошибка 404 Not Found. В файле httpd.conf есть строка ScriptAlias /cgi/bin "usr/local/www/apache22/cgi-bin". В логах сервера появляется запись:


Loading CGI at runtime. You could increase shared memory between prosesses by preloading it in your httpd.conf or handler.pl file
[Mason] Cannot resolve file to component: /usr/local/www/apache22/cgi-bin/printenv (is file outside component root?) at /usr/local/lib/perl5/site_perl/5.8.8/HTML/Mason/Apachehandler.pm line 853


Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Apache не запускает cgi скрипты"  
Сообщение от A on 16-Апр-07, 12:46 
Видимо надо написать не
ScriptAlias /cgi/bin "usr/local/www/apache22/cgi-bin
а
ScriptAlias /cgi-bin /usr/local/www/apache22/cgi-bin
а лучшe
ScriptAlias /cgi-bin/ /usr/local/www/apache22/cgi-bin/
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Apache не запускает cgi скрипты"  
Сообщение от Gekt0r email(ok) on 16-Апр-07, 12:57 
>Видимо надо написать не
>ScriptAlias /cgi/bin "usr/local/www/apache22/cgi-bin

>ScriptAlias /cgi-bin /usr/local/www/apache22/cgi-bin
>а лучшe
>ScriptAlias /cgi-bin/ /usr/local/www/apache22/cgi-bin/


подправил, ничего не изменилось. При попытке обратиться в браузере к каталогу /cgi-bin/ напрямую, выскакивает ошибка forbidden, хоть право доступа на чтение я выставил. При попытке доступа к cgi-bin/printenv - not found

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Apache не запускает cgi скрипты"  
Сообщение от A on 16-Апр-07, 13:06 
>>Видимо надо написать не
>>ScriptAlias /cgi/bin "usr/local/www/apache22/cgi-bin
>>а
>>ScriptAlias /cgi-bin /usr/local/www/apache22/cgi-bin
>>а лучшe
>>ScriptAlias /cgi-bin/ /usr/local/www/apache22/cgi-bin/
>
>
>подправил, ничего не изменилось. При попытке обратиться в браузере к каталогу /cgi-bin/
>напрямую, выскакивает ошибка forbidden, хоть право доступа на чтение я выставил.
>При попытке доступа к cgi-bin/printenv - not found

forbidden -- это правильно
а not found это и значит нот фаунд: либо скрипт лежит не в /usr/local/www/apache22/cgi-bin/, либо разывается иначе. вы уверены, что он называется cgi-bin/printenv? может cgi-bin/printenv.cgi?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Apache не запускает cgi скрипты"  
Сообщение от Gekt0r email(ok) on 16-Апр-07, 13:20 
>>>Видимо надо написать не
>>>ScriptAlias /cgi/bin "usr/local/www/apache22/cgi-bin
>>>а
>>>ScriptAlias /cgi-bin /usr/local/www/apache22/cgi-bin
>>>а лучшe
>>>ScriptAlias /cgi-bin/ /usr/local/www/apache22/cgi-bin/
>>
>>
>>подправил, ничего не изменилось. При попытке обратиться в браузере к каталогу /cgi-bin/
>>напрямую, выскакивает ошибка forbidden, хоть право доступа на чтение я выставил.
>>При попытке доступа к cgi-bin/printenv - not found
>
>forbidden -- это правильно
>а not found это и значит нот фаунд: либо скрипт лежит не
>в /usr/local/www/apache22/cgi-bin/, либо разывается иначе. вы уверены, что он называется cgi-bin/printenv?
>может cgi-bin/printenv.cgi?

Абсоютно точно - printenv. Из командной строки запускается нормально. Повторюсь, в error-логах сервера при попытке доступа к нему появляется запись:
Loading CGI at runtime. You could increase shared memory between prosesses by preloading it in your httpd.conf or handler.pl file
[Mason] Cannot resolve file to component: /usr/local/www/apache22/cgi-bin/printenv (is file outside component root?) at /usr/local/lib/perl5/site_perl/5.8.8/HTML/Mason/Apachehandler.pm line 853

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Apache не запускает cgi скрипты"  
Сообщение от exn (ok) on 16-Апр-07, 17:00 
Чет я непонял, а ExecCGI добавлял ?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Apache не запускает cgi скрипты"  
Сообщение от Gekt0r email(ok) on 16-Апр-07, 19:00 
>Чет я непонял, а ExecCGI добавлял ?


куда?
В доках, что я читал, написано про ScriptAlias

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Apache не запускает cgi скрипты"  
Сообщение от A on 16-Апр-07, 17:30 
>>>>Видимо надо написать не
>>>>ScriptAlias /cgi/bin "usr/local/www/apache22/cgi-bin
>>>>а
>>>>ScriptAlias /cgi-bin /usr/local/www/apache22/cgi-bin
>>>>а лучшe
>>>>ScriptAlias /cgi-bin/ /usr/local/www/apache22/cgi-bin/
>>>
>>>
>>>подправил, ничего не изменилось. При попытке обратиться в браузере к каталогу /cgi-bin/
>>>напрямую, выскакивает ошибка forbidden, хоть право доступа на чтение я выставил.
>>>При попытке доступа к cgi-bin/printenv - not found
>>
>>forbidden -- это правильно
>>а not found это и значит нот фаунд: либо скрипт лежит не
>>в /usr/local/www/apache22/cgi-bin/, либо разывается иначе. вы уверены, что он называется cgi-bin/printenv?
>>может cgi-bin/printenv.cgi?
>
>Абсоютно точно - printenv. Из командной строки запускается нормально. Повторюсь, в error-логах
>сервера при попытке доступа к нему появляется запись:
>Loading CGI at runtime. You could increase shared memory between prosesses by
>preloading it in your httpd.conf or handler.pl file
>[Mason] Cannot resolve file to component: /usr/local/www/apache22/cgi-bin/printenv (is file outside component root?)
>at /usr/local/lib/perl5/site_perl/5.8.8/HTML/Mason/Apachehandler.pm line 853

Так у вас там Mason? можут у вас ещё и mod_perl включен? вы уж рассказывайте доконца :-)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Apache не запускает cgi скрипты"  
Сообщение от Gekt0r email(ok) on 16-Апр-07, 19:00 
>>>>>Видимо надо написать не
>>>>>ScriptAlias /cgi/bin "usr/local/www/apache22/cgi-bin
>>>>>а
>>>>>ScriptAlias /cgi-bin /usr/local/www/apache22/cgi-bin
>>>>>а лучшe
>>>>>ScriptAlias /cgi-bin/ /usr/local/www/apache22/cgi-bin/
>>>>
>>>>
>>>>подправил, ничего не изменилось. При попытке обратиться в браузере к каталогу /cgi-bin/
>>>>напрямую, выскакивает ошибка forbidden, хоть право доступа на чтение я выставил.
>>>>При попытке доступа к cgi-bin/printenv - not found
>>>
>>>forbidden -- это правильно
>>>а not found это и значит нот фаунд: либо скрипт лежит не
>>>в /usr/local/www/apache22/cgi-bin/, либо разывается иначе. вы уверены, что он называется cgi-bin/printenv?
>>>может cgi-bin/printenv.cgi?
>>
>>Абсоютно точно - printenv. Из командной строки запускается нормально. Повторюсь, в error-логах
>>сервера при попытке доступа к нему появляется запись:
>>Loading CGI at runtime. You could increase shared memory between prosesses by
>>preloading it in your httpd.conf or handler.pl file
>>[Mason] Cannot resolve file to component: /usr/local/www/apache22/cgi-bin/printenv (is file outside component root?)
>>at /usr/local/lib/perl5/site_perl/5.8.8/HTML/Mason/Apachehandler.pm line 853
>
>Так у вас там Mason? можут у вас ещё и mod_perl включен?
>вы уж рассказывайте доконца :-)

Да, у меня Apache с mod_perl и HTML::Mason.
Вот весь рассказ)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Apache не запускает cgi скрипты"  
Сообщение от Gekt0r email(ok) on 24-Апр-07, 13:30 
>Всем привет, я копаюсь с apache и cgi программированием, на перле.
>Возник ламерский вопрос, на который, однако, я не нашел ответа в сети:
>у меня не запускаются мои cgi приложения. Так, к примеру, в
>моем файле index.html создаю форму, которая отсылает данные скрипту в этом
>же каталоге. Захожу через браузер, заполняю форму, жму enter, и на
>экране появляется мой cgi скрипт, в текстовом виде. То есть браузер
>просто его выводит на экран, а не запускает.
>
>И еще вопрос. Я пробовал размещать скрипты в каталоге cgi-bin, но в
>браузере вываливается ошибка 404 Not Found. В файле httpd.conf есть строка
>ScriptAlias /cgi/bin "usr/local/www/apache22/cgi-bin". В логах сервера появляется запись:
>
>
>Loading CGI at runtime. You could increase shared memory between prosesses by
>preloading it in your httpd.conf or handler.pl file
>[Mason] Cannot resolve file to component: /usr/local/www/apache22/cgi-bin/printenv (is file outside component root?)
>at /usr/local/lib/perl5/site_perl/5.8.8/HTML/Mason/Apachehandler.pm line 853


Отчасти я разобрался. С ошибкой 404. Проблема была в том, что не был указан ComponentRoot для Mason, соответственно, файлы в каталоге cgi-bin были за пределами корневой директории, и Mason их не видел. Я добавил в httpd.conf строку
PerlAddVar MasonCompRoot "main => /usr/local/www/apache22"
Теперь директория с cgi-bin видна через браузер.

Однако скрипты все равно не запускаются((((
Просто в браузере выводится текст скрипта.
Я добавил в httpd.conf строки
AddHandler cgi-script .cgi .pl
<Directory "/usr/local/www/apache22/cgi-bin".
Options ExecCGI
</Directory>

Но это не помогло.
Как заставить apache выполнять cgi?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Apache не запускает cgi скрипты"  
Сообщение от решилось email on 04-Мрт-08, 20:15 
>[оверквотинг удален]
>Однако скрипты все равно не запускаются((((
>Просто в браузере выводится текст скрипта.
>Я добавил в httpd.conf строки
>AddHandler cgi-script .cgi .pl
><Directory "/usr/local/www/apache22/cgi-bin".
>Options ExecCGI
></Directory>
>
>Но это не помогло.
>Как заставить apache выполнять cgi?

Аналогичную проблему решил включением модуля Apache для CGI:

LoadModule cgi_module modules/mod_cgi.so

Он у меня был закомментирован.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру