Уведомления

Группа в Telegram: @pythonsu

#1 Июль 6, 2013 19:23:06

kozlo22
От: Беларусь, Минск
Зарегистрирован: 2012-11-01
Сообщения: 115
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает cgi-сценарий

py.user.next
какой код веб-сервера ?
Этого:
kozlo22
И еще вопрос: вот есть веб-сервер(тоже пример из книги) pastebin.com/qKrdvAun.

Прикреплённый файлы:
attachment apache2.conf (8,2 KБ)

Офлайн

#2 Июль 6, 2013 21:09:40

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10022
Репутация: +  857  -
Профиль   Отправить e-mail  

Не работает cgi-сценарий

kozlo22
Прикреплённый файлы:
attachment apache2.conf (8,2 KБ)
ну да, нету, походу, где-то внутри
выполни
grep -r 'cgi-bin' /etc/apache2

kozlo22
вот есть веб-сервер
не заметил; я его запустил, он скрипт запускает, но тот ничего не выводит, в отличие от apache

ещё пришлось править скрипт
#!/usr/bin/python3
 
import cgi
 
form = cgi.FieldStorage()
print('Content-type: text/html\n')
print('<title>Reply Page</title>')
 
if not 'user' in form:
    print('Who are you?')
else:
    print('<h1> Hello <i>{}<i>!</h1>'.format(cgi.escape(form['user'].value)))
иначе работало только Who are you?



Отредактировано py.user.next (Июль 6, 2013 21:10:22)

Офлайн

#3 Июль 7, 2013 14:30:59

kozlo22
От: Беларусь, Минск
Зарегистрирован: 2012-11-01
Сообщения: 115
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает cgi-сценарий

py.user.next

/etc/apache2/conf.d/localized-error-pages:#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
/etc/apache2/sites-available/default:	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
/etc/apache2/sites-available/default:	<Directory "/usr/lib/cgi-bin">
/etc/apache2/sites-available/default-ssl:	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
/etc/apache2/sites-available/default-ssl:	<Directory "/usr/lib/cgi-bin">
/etc/apache2/sites-available/default-ssl:	<Directory /usr/lib/cgi-bin>
/etc/apache2/sites-enabled/000-default:	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
/etc/apache2/sites-enabled/000-default:	<Directory "/usr/lib/cgi-bin">
Вот, что команда выдает

Офлайн

#4 Июль 7, 2013 20:48:36

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10022
Репутация: +  857  -
Профиль   Отправить e-mail  

Не работает cgi-сценарий

kozlo22
/usr/lib/cgi-bin
вот туда положи скрипт, поставь ему владельца и право выполнения для владельца
попробуй поставить apache, если не прокатит, то www-data
sudo chown apache:apache /usr/lib/cgi-bin/f.cgi
sudo chmod u+x /usr/lib/cgi-bin/f.cgi

убедись, что сервер запущен
netstat -tulpan
80 порт

и открой в браузере адрес
http://localhost/cgi-bin/f.cgi
должна открыться пустая страница

в html-файле запиши этот адрес в action



Офлайн

#5 Июль 7, 2013 21:23:35

kozlo22
От: Беларусь, Минск
Зарегистрирован: 2012-11-01
Сообщения: 115
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает cgi-сценарий

py.user.next
вот туда положи скрипт, поставь ему владельца и право выполнения для владельца
Сделал.
py.user.next
попробуй поставить apache
ну дык уже ш установлен.

В action прописал "http://localhost/cgi-bin/cgi101.py" - заработало.

Спасибо за помощь!

Отредактировано kozlo22 (Июль 7, 2013 21:23:48)

Офлайн

#6 Июль 8, 2013 10:55:46

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10022
Репутация: +  857  -
Профиль   Отправить e-mail  

Не работает cgi-сценарий

kozlo22
ну дык уже ш установлен.
имеется в виду пользователь, а не пакет
иначе право на выполнение нужно будет ставить всем пользователям
и любой, прошедший в каталог, сможет его запустить



Офлайн

#7 Июль 10, 2013 17:16:14

kozlo22
От: Беларусь, Минск
Зарегистрирован: 2012-11-01
Сообщения: 115
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает cgi-сценарий

Немного продвинулся и опять появилась проблема.
В прикрепленном файле вы можете видеть реализацию веб-сайта.
Cgi-скрипт(peoplecgi.py) я помещаю в /usr/lib/cgi-bin, там же лежит скрипт, с которым у меня были проблемы ранее (cgi101.py). В эту же директорию я поместил файл-хранилища class-shelve.db. Так вот, когда я обращаюсь за cgi скриптом:

http://localhost/cgi-bin/peoplecgi.py
выскакивает внутрення ошибка сервера.



Прикреплённый файлы:
attachment file.pdf (178,4 KБ)

Офлайн

#8 Июль 10, 2013 22:17:55

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10022
Репутация: +  857  -
Профиль   Отправить e-mail  

Не работает cgi-сценарий

там, вообще, ошибка в коде веб-интерфейса - нужно пустую строку вывести после заголовков, там в комментарии написано, а пустой строки на самом деле нет

ls -l /usr/lib/cgi-bin
прикрепи ещё peoplecgi.py



Офлайн

#9 Июль 11, 2013 12:29:33

kozlo22
От: Беларусь, Минск
Зарегистрирован: 2012-11-01
Сообщения: 115
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает cgi-сценарий

py.user.next
Вы это имели ввиду:

print('Content-type: text/html\n')
?

-rwxrwxrwx 1 root root 2235 июля   9 19:29 /usr/lib/cgi-bin/peoplecgi.py

Офлайн

#10 Июль 11, 2013 12:59:54

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10022
Репутация: +  857  -
Профиль   Отправить e-mail  

Не работает cgi-сценарий

kozlo22
print('Content-type: text/html\n')
да, но ошибки могут быть не только здесь, поэтому нужно выкладывать сам скрипт, а не то, что в книге
также ошибки могут возникать, когда какие-то файлы, используемые скриптом, недоступны, поэтому нужно выкладывать полный вывод ls по ним



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version