Сразу предупреждаю, что на боевые сервера этого ставить нельзя. Во-первых для них существует более современный mod_wsgi, который ставится сложнее и который дает возможность использовать фреймворки, во-вторых данный вариант небезопасный, потому что код будет читаться Апачем, а аналога open_basedir, как у PHP, для Python нет. Этот пример только для тех, кто учит Python и кому нужно побыстренькому поднять вэб-сервер, сосредоточившись на языке, а не на системном администрировании. Вариант для Debian.
Устанавливаем модули Апача, чтобы научить его "хэндлить" Python'ий код:
Пишем общий для всего сервера конфиг Апача, который говорит, что все файлы, которые заканчиваются на .py или .psp, обрабатывать питоньим интерпретатором:
Так как при установке этот конфиг не добавился в раздел mods-enabled, то деактивируем и активируем модуль, чтобы он подцепил новые настройки:
И наконец рестартуем Apache:
==========
Для проверки создайте в корне сайта файл test.py со следующим содержимым:
и зайдите на этот сайт: http://site.com/test.py
Устанавливаем модули Апача, чтобы научить его "хэндлить" Python'ий код:
apt-get install libapache2-mod-python libapache2-mod-python-doc
Пишем общий для всего сервера конфиг Апача, который говорит, что все файлы, которые заканчиваются на .py или .psp, обрабатывать питоньим интерпретатором:
tee > /etc/apache2/mods-available/python.conf
<IfModule mod_python.c>AddHandler mod_python .py .pspPythonHandler mod_python.publisher | .pyPythonHandler mod_python.psp | .psp</IfModule>
Так как при установке этот конфиг не добавился в раздел mods-enabled, то деактивируем и активируем модуль, чтобы он подцепил новые настройки:
a2dismod python
a2enmod python
И наконец рестартуем Apache:
invoke-rc.d apache2 restart
==========
Для проверки создайте в корне сайта файл test.py со следующим содержимым:
def index(req):
return "This is python file test.py";
и зайдите на этот сайт: http://site.com/test.py
Комментариев нет:
Отправить комментарий