Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Проблема с запуском скрипта python  (Прочитано 9674 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alla

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Проблема с запуском скрипта python
« : 11 Августа 2010, 20:29:17 »
Мне нужно запустить скрипт, написанный на питоне (не мой). К нему прилагается файл с помощью по запуску и установке, в котором есть следующие строки:
Цитировать
Для работы нужна система с unix подобной ос (linux, cent os, freebsd, mac os) -
выделенный сервер или виртуальный выделенный сервер (VDS), по поводу ресурсов: чем их больше, тем быстрее будет работать, то есть ориентируетесь на свои потребности.
Веб-сервер apache, с поддержкой mod_rewrite и файлов .htaccess
Python, http://www.python.org/ (Python должен быть установлен как cgi), версии хотя бы 2.3, лучше новее.
База данных sqlite, http://www.sqlite.org/, версии 3.х.х.
Так вот, я установила apache2 простым sudo apt-get install и по адресу http://localhost  благополучно прочитала It works! Затем я поместила скрипт .py в /var/www/, попыталась открыть через браузер. Исполнения скрипта, как вы понимаете, не произошло, было предложено сохранить файл или открыть в gedit. Собственно это и есть моя проблема.
Наверняка у меня "Веб-сервер apache" БЕЗ поддержки "mod_rewrite и файлов .htaccess". Есть вариант исправить?
Кстати когда я поместьл рядом со скриптом файл .htaccess вышла ошибка 500.
Также я читала про cgi но так и не поняла принцип его работы, после установки apache папки с таким именем создано не было.
Заранее благодарю за помощь, второй день уже голову ломаю(((

Оффлайн easy2002

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2786
  • Мурманск
    • Просмотр профиля
Re: Проблема с запуском скрипта python
« Ответ #1 : 11 Августа 2010, 21:14:37 »
sudo apt-get install libapache2-mod-python
sudo a2enmod python
sudo /etc/init.d/apache2 restart
.htaccess - удалить
« Последнее редактирование: 11 Августа 2010, 21:17:05 от easy2002 »
Tempora mutantur et nos mutantur in illis

Оффлайн alla

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: Проблема с запуском скрипта python
« Ответ #2 : 11 Августа 2010, 21:29:21 »
easy2002
Спасибо, но запуска все равно нет, только предложение сохранить. скрипт положила в /var/www/localhost/www.
Да и с htaccess просто удаление не выход, ведь для скрипта этого нужна его поддержка...ну это ладно, пока основная беда это то что скрипт запустить не получается((

Оффлайн easy2002

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2786
  • Мурманск
    • Просмотр профиля
Re: Проблема с запуском скрипта python
« Ответ #3 : 11 Августа 2010, 21:33:27 »
что за скрипт?
Tempora mutantur et nos mutantur in illis

Оффлайн alla

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: Проблема с запуском скрипта python
« Ответ #4 : 11 Августа 2010, 21:40:33 »
(Нажмите, чтобы показать/скрыть)

Оффлайн easy2002

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2786
  • Мурманск
    • Просмотр профиля
Re: Проблема с запуском скрипта python
« Ответ #5 : 11 Августа 2010, 22:42:52 »
в конфиге хоста в секции Directory надо прописать -

  AddHandler mod_python .py
  PythonHandler mod_python.publisher

http://www.howtoforge.com/embedding-python-in-apache2-with-mod_python-debian-etch

перезапустить apache и очистить кеш браузера
Tempora mutantur et nos mutantur in illis

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Проблема с запуском скрипта python
« Ответ #6 : 12 Августа 2010, 08:43:16 »
Общие соображения.
1. На всякий случай, проверьте права на питоновский скрипт.
ls -l ...
2. Запустите скрипт в терминале, чтобы его пощупать.
3. Поглядите что у Вас за питон
Кажется так (на память)
python -V
ЗЫ. Вообще-то, для подключения питоновских скриптов как cgi к апачу достаточно только пакета
libapache2-mod-python
и перезапуска апача.

Оффлайн alla

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: Проблема с запуском скрипта python
« Ответ #7 : 12 Августа 2010, 13:01:09 »
Спасибо всем за помощь, но:
1) Когда я добавляю в настройки моего локального хоста секцию Directory, он перестает работать ("Попытка соединения не удалась"). Вот код файла /etc/apache2/sites-available/default:
(Нажмите, чтобы показать/скрыть)
2) libapache2-mod-python установлен, версия питона 2.6.5
3)
Цитировать
ЗЫ. Вообще-то, для подключения питоновских скриптов как cgi к апачу достаточно только пакета
libapache2-mod-python
и перезапуска апача.
раз не выходит, значит важно расположение скрипта (например в папке cgi-bin). Какой у Вас путь до cgi-скриптов?
зы: уже третий день пошел как я не могу запустить этот дурацкий скрипт((
Да, кстати, запускала в терминале, все работает - принтует html теги.

Оффлайн -=Иван=-

  • Участник
  • *
  • Сообщений: 134
    • Просмотр профиля
Re: Проблема с запуском скрипта python
« Ответ #8 : 12 Августа 2010, 13:14:45 »
Попоробуй AllowOverride None вот это поправь на AllowOverride All во всем файле. У меня без этого mod_rewrite не работало после этого конечно перезапусти апач
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Оффлайн alla

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: Проблема с запуском скрипта python
« Ответ #9 : 12 Августа 2010, 13:25:28 »
А какой смысл? Строки ж закомментированы. А если я добавлю Directory то сервак падает. Видно я что то не то пишу в <Directory ||тут должен быть какой то путь||>
вот этот путь я не знаю какой писать, поэтому, наверно все и падает)

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: Проблема с запуском скрипта python
« Ответ #10 : 12 Августа 2010, 13:41:36 »
Цитировать
Попоробуй AllowOverride None вот это поправь на AllowOverride All во всем файле. У меня без этого mod_rewrite не работало после этого конечно перезапусти апач
Верней нужно добавить AllowOverride All в секцию Directory.

Скрипт сейчас где лежит? По идее исходя из этого конфига должен в /var/www/localhost/www/
Цитировать
раз не выходит, значит важно расположение скрипта (например в папке cgi-bin). Какой у Вас путь до cgi-скриптов?
cgi-bin отдельно для виртуалхоста прописывается одним из нескольких способов http://httpd.apache.org/docs/2.0/howto/cgi.html Но сдаётся мне что это для mod_python не нужно.

Цитировать
А какой смысл? Строки ж закомментированы. А если я добавлю Directory то сервак падает. Видно я что то не то пишу в <Directory ||тут должен быть какой то путь||>
вот этот путь я не знаю какой писать, поэтому, наверно все и падает)
Попробуй использовать путь отличный от DocumentRoot (и не являющийся поддиректорией оного). И питоновский скрипт туда закинуть.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Проблема с запуском скрипта python
« Ответ #11 : 12 Августа 2010, 13:47:22 »
Это типа теории
http://www.ndd.ru/al/12/apache-conf_global.html
Если Вы используете питон в веб, то вероятнее всего будете использовать Django.
Если используете Django, хотя django уже есть в репозитариях и so модуль так или иначе появится в списке модулей и будет подключен. Это значит, что расширение py будет уже работать, а не обязательно cgi.
http://www.kixlive.ru/2009/06/django-mod_python-i-apache/
ЗЫ. Когда у Вас все заработает, то на второй день уже не будете помнить что и как.
Т.е. если все в голове сложится, напишите все как считаете правильным, чтобы было что-то в остатке.
« Последнее редактирование: 12 Августа 2010, 13:58:14 от alexander.pronin »

Оффлайн alla

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: Проблема с запуском скрипта python
« Ответ #12 : 12 Августа 2010, 14:15:22 »
Цитировать
Скрипт сейчас где лежит? По идее исходя из этого конфига должен в /var/www/localhost/www/
именно тут и лежит

Цитировать
Попробуй использовать путь отличный от DocumentRoot (и не являющийся поддиректорией оного). И питоновский скрипт туда закинуть.
насчет этого не поняла. Как я обращусь к скрипту, если он не будет лежать в /var/www/localhost/www/ или его поддиректории?

Django не использую.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Проблема с запуском скрипта python
« Ответ #13 : 12 Августа 2010, 14:30:13 »
Как я обращусь к скрипту, если он не будет лежать в /var/www/localhost/www/ или его поддиректории?
/var/www/ это есть место с которого все начинается (index.html)
Т.е. для сайта это корень. :coolsmiley:

Django не использую.
Все впереди.

Оффлайн alla

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: Проблема с запуском скрипта python
« Ответ #14 : 12 Августа 2010, 14:37:12 »
Цитировать
/var/www/ это есть место с которого все начинается (index.html)
Т.е. для сайта это корень. coolsmiley
Я ж поменяла конфиг, то есть для меня корень это /var/www/localhost/www

 

Страница сгенерирована за 0.048 секунд. Запросов: 25.