Я пытаюсь заставить mod-python работать с apache2, но безуспешно. Я следовал нескольким учебникам по работе с mod-python, но я не вижу, что я делаю неправильно.
Когда я посещаю http://site.example.com/cgi-bin/test.py, я действительно получаю свою страницу 404! (тогда как я получаю 403, если файл действительно не существует)
Вот мои настройки:
В / etc / apache2 / sites-enabled / есть файлы конфигурации, названные в честь каждого из моих доменов. В файле site.example.com я добавил это в раздел директив пользователя:
# Begin user directives <--
<Directory /home/default/site.example.com/user/htdocs/cgi-bin/>
Options Indexes FollowSymLinks MultiViews
AllowOverride AuthConfig
Order allow,deny
allow from all
AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonDebug On
</Directory>
# --> End user directives
полный файл здесь , который включает в себя строку:
РЕДАКТИРОВАТЬ для добавления содержимого test.py:
#!/usr/bin/python
print "Content-type: text/html"
print
print 'hello world'
#print 1/0
Как показано выше, я получаю 404 /python/test.py was not found on this server
.
Но если я раскомментирую последнюю строку, я получу:
Mod_python error: "PythonHandler mod_python.publisher"
Traceback (most recent call last):
File "/usr/lib/python2.4/site-packages/mod_python/apache.py", line 299, in HandlerDispatch
result = object(req)
File "/usr/lib/python2.4/site-packages/mod_python/publisher.py", line 98, in handler
path=[path])
File "/usr/lib/python2.4/site-packages/mod_python/apache.py", line 457, in import_module
module = imp.load_module(mname, f, p, d)
File "/home/default/site.example.co.uk/user/htdocs/python/test.py", line 5, in ?
print 1/0
ZeroDivisionError: integer division or modulo by zero
Правильно ли выглядит эта трассировка? Кстати, включение cgitb не имеет никакого эффекта.
Есть ли какая-либо другая информация, которую я могу добавить, чтобы помочь диагностировать это?