Найти - Пользователи
Полная версия: Cgi показывает исходный код
Начало » Web » Cgi показывает исходный код
1 2 3
Egor2010
Добрый день!
Я создал фаил index.cgi в /var/www/
С содержанием
#!/usr/bin/python

print "Content-type:text/html\r\n\r\n"
print '<html>'
print '<head>'
print '<title>Hello Word - First CGI Program</title>'
print '</head>'
print '<body>'
print '<h2>Hello Word! This is my first CGI program</h2>'
print '</body>'
print '</html>'
При запуске из браузера выводит
#!/usr/bin/python

print “Content-type:text/html\r\n\r\n”
print ‘<html>’
print ‘<head>’
print ‘<title>Hello Word - First CGI Program</title>’
print ‘</head>’
print ‘<body>’
print ‘<h2>Hello Word! This is my first CGI program</h2>’
print ‘</body>’
print ‘</html>’
Что я неправильно делаю?
PooH
Апач по умолчанию не будет запускать скрипты из DocumentRoot, это можно сконфигурировать, но так делать не принято, и не без причин. Обычно конфигурируют на исполнение из каталога cgi-bin.

PS: а зачем вам CGI? может вы просто не знаете альтернатив?
Egor2010
А как это сконфигурировать?
PooH
В гугле куча рецептов

Egor2010
Непонятно что сделать надо ?
Можно объяснить это чайнику максимально просто ?
PooH
Открывает конфиг apacha, ищите запись типа <Directory /var/www>…</Directory>, вставляете внутри нее
строки AddHandler cgi-script .py и Options ExecCGI, если Options уже есть, то добавляете ExecCGI туда. Перезапускаете апач. У апача к тому же должны быть права на запуск вашего скрипта.

Слушайте, а нафига вам это все? Если очень хочется побаловаться с CGI я вам проще способ расскажу.
Создаете каталог, скажем “www”, здесь будет корневой каталог, внутри делаете каталог cgi-bin, в него кладете свой файлик, скажем test.py, даете права на запуск
chmod u+x test.py
, затем из каталога www выполняете
python -m CGIHTTPServer 8000
и все. Сайт будет доступен из броузера по адресу http://127.0.0.1:8000/ , а ваш скрипт по http://127.0.0.1:8000/cgi-bin/test.py. Гораздо меньше мороки.
Egor2010
Спасибо большое !
Egor2010
пишет ошибку если заходить из браузера
Error response
Error code 403.
Message: CGI script is not a plain file ('/cgi-bin/').
Error code explanation: 403 = Request forbidden – authorization will not help.
а вот в что в консоли
192.168.10.104 - - [05/Nov/2014 13:24:25] "GET /cgi-bin/ HTTP/1.1" 403 -
192.168.10.104 - - [05/Nov/2014 13:24:28] code 403, message CGI script is not a plain file ('/cgi-bin/')
что делать ? (делаю 2 способом)
AleksRevo
Вероятно в браузере стоит писать /cgi-bin/test.py или как там файл называется
Egor2010
AleksRevo
Вероятно в браузере стоит писать /cgi-bin/test.py или как там файл называется
не помогло
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB