Попытка настроить apache на моем ноутбуке для выполнения сценария python для небольшого задания:
- Я создал папку / scripts в корне и предоставил ей все разрешения 777.
- В моем файле виртуальных хостов я добавил
ScriptAlias /scripts/ /scripts/
Добавлен дескриптор каталога также в моем файле conf:
Опции + ExecCGI FollowSymLinks Индексы MultiViews
AllowOverride All
Заказать разрешить, отказать
Разрешить от всех
AddHandler cgi-скрипт .py
Сценарий, который я пытаюсь запустить (пример сценария тестирования Python):
<code>#!/usr/bin/python
print "Content-type: text/html"
print
print "<pre>"
import os, sys
from cgi import escape
print "<strong>Python %s</strong>" % sys.version
keys = os.environ.keys()
keys.sort()
for k in keys:
print "%s\t%s" % (escape(k), escape(os.environ[k]))
print "
»
Когда я получаю к нему доступ через http://127.0.0.1/scripts/results.py, я получаю внутреннюю ошибку сервера и в своем журнале ошибок я получаю следующую ошибку:
[Пн. Дек 05 20:58:30 2011] [ошибка] [клиент 127.0.0.1] (2) Нет такого файла или каталога: не удалось выполнить exec из /scripts/result.py
[Пн Дек 05 20:58:30 2011] [ошибка] [клиент 127.0.0.1] Преждевременный конец заголовков скриптов: result.py
В Apache действительно загружен модуль suexec из того, что я обнаружил при запуске apachectl -v, и подозреваю, что это может быть как-то связано с проблемой.
Также работает / usr / bin / python /scripts/result.py работает нормально, но так как apache работает под другим пользователем, думаю, это мало что значит.
Также я запускаю это на OSX Lion, и я не смог найти, как запустить скрипт из cli как apache, во время моей отладки.
Буду признателен за любую помощь.