Python в Apache · 2 min read · Nov 13, 2025
Встраивание Python в Apache2 с помощью mod_python (Debian/Ubuntu, Fedora/CentOS, Mandriva, OpenSUSE) - Страница 3
5 OpenSUSE 11
5.1 Установка mod_python
Чтобы установить mod_python, просто выполните:
yast -i apache2-mod_pythonЧтобы включить mod_python, откройте /etc/sysconfig/apache2 и добавьте python в строку APACHE_MODULES, например, так:
vi /etc/sysconfig/apache2| [...] APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile authz_default authz_user authn_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif ssl suexec userdir php5 rewrite python" [...] |
После этого выполните
SuSEconfigи перезапустите Apache:
/etc/init.d/apache2 restart5.2 Настройка Apache
Теперь мы должны настроить Apache так, чтобы он мог обрабатывать файлы Python. Существует два способа сделать это. Первый (и по умолчанию) способ - использовать Publisher Handler. Он позволяет вам писать чистые Python-скрипты с расширением .py, которые будут интерпретироваться Apache. Второй способ - это PSP Handler. PSP означает Python Server Pages. Он позволяет вам встраивать код Python непосредственно в HTML-код, аналогично PHP. Файлы PSP имеют расширение .psp.
5.2.1 Publisher Handler
Чтобы включить Publisher Handler, мы создаем конфигурацию mod_python в /etc/apache2/conf.d/python.conf (этого файла не существует, поэтому мы создаем его). Я использую корневую директорию OpenSUSE по умолчанию /srv/www/htdocs в директиве
vi /etc/apache2/conf.d/python.conf| |
Пожалуйста, обратите внимание: если вы используете ISPConfig (начиная с версии 2.2.24) на сервере, не создавайте этот файл, так как это включит mod_python глобально для данной директории. В ISPConfig вы можете включить mod_python для каждого сайта отдельно, что дает вам больше контроля над тем, может ли сайт использовать mod_python или нет.
Перезапустите Apache после этого:
/etc/init.d/apache2 restartТеперь мы создаем небольшой тестовый скрипт на Python (например, /srv/www/htdocs/test.py) с чистым кодом Python в нем…
vi /srv/www/htdocs/test.py| def index(req): return "Тест успешен"; |
… и вызываем его в браузере (например, http://192.168.0.100/test.py). Если все пройдет хорошо, он должен отобразить “Тест успешен” в вашем браузере.
5.2.2 PSP Handler
Чтобы включить PSP Handler, мы создаем конфигурацию mod_python в /etc/apache2/conf.d/python.conf (этого файла не существует, поэтому мы создаем его). Я использую корневую директорию OpenSUSE по умолчанию /srv/www/htdocs в директиве
vi /etc/apache2/conf.d/python.conf| |
Пожалуйста, обратите внимание: если вы используете ISPConfig (начиная с версии 2.2.24) на сервере, не создавайте этот файл, так как это включит mod_python глобально для данной директории. В ISPConfig вы можете включить mod_python для каждого сайта отдельно, что дает вам больше контроля над тем, может ли сайт использовать mod_python или нет. Также обратите внимание, что ISPConfig не поддерживает PSP Handler - он использует Publisher Handler.
Перезапустите Apache после этого:
/etc/init.d/apache2 restartТеперь мы создаем небольшой тестовый скрипт PSP (например, /srv/www/htdocs/test.psp) с HTML и кодом Python в нем…
vi /srv/www/htdocs/test.psp| |<% req.write("Привет!") %>
… и вызываем его в браузере (например, http://192.168.0.100/test.psp). Если все пройдет хорошо, он должен отобразить “Привет!” в вашем браузере.
6 Ссылки
- mod_python: http://www.modpython.org
- Python: http://www.python.org
- Apache: http://httpd.apache.org
Get new posts in your inbox
No spam. Unsubscribe anytime.