Python en Apache · 3 min read · Nov 12, 2025
Incrustando Python en Apache2 Con mod_python (Debian/Ubuntu, Fedora/CentOS, Mandriva, OpenSUSE) - Página 2
4 Mandriva 2008 Spring (2008.1)
4.1 Instalando mod_python
Antes de poder instalar mod_python, debemos habilitar los repositorios main, main_updates, contrib y contrib_updates. Ve a http://easyurpmi.zarb.org/ - debería darte los comandos que necesitas ejecutar para habilitar estos repositorios. En mi caso, ejecuté
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.czpara habilitarlos.
Para instalar mod_python, simplemente ejecutamos:
urpmi apache-mod_python4.2 Configurando Apache
Ahora debemos configurar Apache para que pueda manejar archivos Python. Hay dos formas de hacerlo. La primera (y predeterminada) es usar el Publisher Handler. Permite escribir scripts Python puros con la extensión .py que serán interpretados por Apache. La segunda forma es el PSP Handler. PSP significa Python Server Pages. Permite incrustar código Python directamente en código HTML, similar a PHP. Los archivos PSP tienen la extensión .psp.
4.2.1 El Publisher Handler
Para habilitar el Publisher Handler, debemos editar la configuración de mod_python que puedes encontrar en /etc/httpd/modules.d/16_mod_python.conf. Este archivo contiene muchos ejemplos - hacemos una copia de seguridad de él y creamos ese archivo nuevamente desde cero. Estoy usando la raíz del documento predeterminada de Mandriva /var/www/html aquí en la directiva
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 |
Por favor nota: si usas ISPConfig (desde la versión 2.2.24 en adelante) en el servidor, por favor omite la parte
Reinicia Apache después:
/etc/init.d/httpd restartAhora creamos un pequeño script de prueba en Python (por ejemplo, /var/www/html/test.py) con código Python puro en él…
vi /var/www/html/test.py| def index(req): return "Test successful"; |
… y lo llamamos en un navegador (por ejemplo, http://192.168.0.100/test.py). Si todo va bien, debería mostrar Test successful en tu navegador.
4.2.2 El PSP Handler
Para habilitar el PSP Handler, debemos editar la configuración de mod_python que puedes encontrar en /etc/httpd/modules.d/16_mod_python.conf. Este archivo contiene muchos ejemplos - hacemos una copia de seguridad de él y creamos ese archivo nuevamente desde cero. Estoy usando la raíz del documento predeterminada de Mandriva /var/www/html aquí en la directiva
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 |
Por favor nota: si usas ISPConfig (desde la versión 2.2.24 en adelante) en el servidor, por favor omite la parte
Reinicia Apache después:
/etc/init.d/httpd restartAhora creamos un pequeño script de prueba PSP (por ejemplo, /var/www/html/test.psp) con código HTML y Python en él…
vi /var/www/html/test.psp| |<% req.write("Hello!") %>
… y lo llamamos en un navegador (por ejemplo, http://192.168.0.100/test.psp). Si todo va bien, debería mostrar Hello! en tu navegador.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.