Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 4, 2014 10:25:28

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

Cgi показывает исходный код

Добрый день!
Я создал фаил 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>’
Что я неправильно делаю?

Офлайн

#2 Ноя. 4, 2014 10:56:28

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Cgi показывает исходный код

Апач по умолчанию не будет запускать скрипты из DocumentRoot, это можно сконфигурировать, но так делать не принято, и не без причин. Обычно конфигурируют на исполнение из каталога cgi-bin.

PS: а зачем вам CGI? может вы просто не знаете альтернатив?



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#3 Ноя. 4, 2014 12:26:28

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

Cgi показывает исходный код

А как это сконфигурировать?

Офлайн

#4 Ноя. 4, 2014 12:33:35

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Cgi показывает исходный код

В гугле куча рецептов



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#5 Ноя. 4, 2014 14:28:41

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

Cgi показывает исходный код

Непонятно что сделать надо ?
Можно объяснить это чайнику максимально просто ?

Офлайн

#6 Ноя. 4, 2014 17:28:32

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Cgi показывает исходный код

Открывает конфиг 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. Гораздо меньше мороки.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#7 Ноя. 4, 2014 17:54:21

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

Cgi показывает исходный код

Спасибо большое !

Офлайн

#8 Ноя. 5, 2014 15:30:46

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

Cgi показывает исходный код

пишет ошибку если заходить из браузера
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 способом)

Офлайн

#9 Ноя. 6, 2014 01:19:02

AleksRevo
Зарегистрирован: 2014-10-20
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Cgi показывает исходный код

Вероятно в браузере стоит писать /cgi-bin/test.py или как там файл называется

Офлайн

#10 Ноя. 6, 2014 02:46:30

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

Cgi показывает исходный код

AleksRevo
Вероятно в браузере стоит писать /cgi-bin/test.py или как там файл называется
не помогло

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version