Python в Apache · 2 min read · Nov 12, 2025
Встраивание Python в Apache2 с помощью mod_python (Debian/Ubuntu, Fedora/CentOS, Mandriva, OpenSUSE) - Страница 2
4 Mandriva 2008 Spring (2008.1)
4.1 Установка mod_python
Перед тем как установить mod_python, мы должны включить основные репозитории: main, main_updates, contrib и contrib_updates. Перейдите на http://easyurpmi.zarb.org/ - он должен предоставить вам команды, которые нужно выполнить для включения этих репозиториев. В моем случае я выполнил
urpmi.addmedia contrib ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/contrib/release with media_info/hdlist.czurpmi.addmedia --update contrib_updates ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/contrib/updates with media_info/hdlist.czurpmi.addmedia main ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/main/release with media_info/hdlist.czurpmi.addmedia --update main_updates ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/main/updates with media_info/hdlist.czчтобы их включить.
Чтобы установить mod_python, мы просто выполняем:
urpmi apache-mod_python4.2 Конфигурирование Apache
Теперь мы должны настроить Apache так, чтобы он мог обрабатывать файлы Python. Существует два способа сделать это. Первый (и по умолчанию) - использовать Publisher Handler. Он позволяет вам писать чистые Python-скрипты с расширением .py, которые будут интерпретироваться Apache. Второй способ - это PSP Handler. PSP означает Python Server Pages. Он позволяет вам встраивать код Python непосредственно в HTML-код, аналогично PHP. Файлы PSP имеют расширение .psp.
4.2.1 Publisher Handler
Чтобы включить Publisher Handler, мы должны отредактировать конфигурацию mod_python, которую вы можете найти в /etc/httpd/modules.d/16_mod_python.conf. Этот файл содержит много примеров - мы создаем его резервную копию и создаем этот файл заново. Я использую корневую директорию документа Mandriva /var/www/html здесь в директиве
cp /etc/httpd/modules.d/16_mod_python.conf /etc/httpd/modules.d/16_mod_python.conf_orig
cat /dev/null > /etc/httpd/modules.d/16_mod_python.conf
vi /etc/httpd/modules.d/16_mod_python.conf| LoadModule python_module extramodules/mod_python.so |
Обратите внимание: если вы используете ISPConfig (начиная с версии 2.2.24) на сервере, пожалуйста, исключите часть
Перезапустите Apache после этого:
/etc/init.d/httpd restartТеперь мы создаем небольшой тестовый скрипт Python (например, /var/www/html/test.py) с чистым кодом Python в нем…
vi /var/www/html/test.py| def index(req): return "Тест успешен"; |
… и вызываем его в браузере (например, http://192.168.0.100/test.py). Если все пройдет хорошо, он должен отобразить “Тест успешен” в вашем браузере.
4.2.2 PSP Handler
Чтобы включить PSP Handler, мы должны отредактировать конфигурацию mod_python, которую вы можете найти в /etc/httpd/modules.d/16_mod_python.conf. Этот файл содержит много примеров - мы создаем его резервную копию и создаем этот файл заново. Я использую корневую директорию документа Mandriva /var/www/html здесь в директиве
cp /etc/httpd/modules.d/16_mod_python.conf /etc/httpd/modules.d/16_mod_python.conf_orig
cat /dev/null > /etc/httpd/modules.d/16_mod_python.conf
vi /etc/httpd/modules.d/16_mod_python.conf| LoadModule python_module extramodules/mod_python.so |
Обратите внимание: если вы используете ISPConfig (начиная с версии 2.2.24) на сервере, пожалуйста, исключите часть
Перезапустите Apache после этого:
/etc/init.d/httpd restartТеперь мы создаем небольшой тестовый скрипт PSP (например, /var/www/html/test.psp) с HTML и Python-кодом в нем…
vi /var/www/html/test.psp| |<% req.write("Привет!") %>
… и вызываем его в браузере (например, http://192.168.0.100/test.psp). Если все пройдет хорошо, он должен отобразить “Привет!” в вашем браузере.
Get new posts in your inbox
No spam. Unsubscribe anytime.