Проблемы с mod_python на Debian Lenny

Столкнулся сегодня с проблемой работы модуля Apache 2 mod_python на Debian Lenny. Вполне возможно, такая же проблема существует и в других дистрибутивах. Проблема проявляется просто – файлы .py не исполняются, а показываются в браузере как текстовые.

Не знаю почему, но обработчик Python после установки mod_python приходится потом прописывать в конфигурации Apache вручную. Например, для дефолтного сайта это делается так:

$ sudo nano /etc/apache2/sites-available/default

И заменяется (~10 строка)
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

на
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
#
AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonDebug On
</Directory>

После этого рестартуем Apache:

$ sudo /etc/init.d/apache2 restart

Теперь вместо содержимого скрипта получаем просто “404 Not Found”, хотя сам скрипт на месте, с правильными правами доступа и прекрасно отрабатывает в консоли. Это уже связано с особенностями ввода-вывода в Python и mod_python совершенно ни при чем. Тут уже придется смотреть документацию Python.

Описание проблемы и примеры пары скриптов на сайте Ubuntu forums: Python and Apache2 (mod_python)

1 Comment

siniyApril 6th, 2010 at 12:15

в теле скрипта должна быть определена функция, принимающая параметр request и возвращающая строку.
http://www.modpython.org/live/current/doc-html/tut-pub.html

Leave a comment

Your comment