Python Apache · 2 min read · Nov 12, 2025

Incrustar Python En Apache2 Con mod_python (Debian Etch)

Incrustar Python En Apache2 Con mod_python (Debian Etch)

Versión 1.0
Autor: Falko Timme

Este tutorial muestra cómo instalar y usar mod_python en un servidor Debian Etch con Apache2. mod_python es un módulo de Apache que incrusta el intérprete de Python dentro del servidor. Te permite escribir aplicaciones web en Python que se ejecutarán muchas veces más rápido que el CGI tradicional y tendrán acceso a características avanzadas como la capacidad de mantener conexiones a bases de datos y otros datos entre solicitudes y acceso a los internos de Apache.

¡No emito ninguna garantía de que esto funcione para ti!

1 Nota Preliminar

He probado esto en un servidor Debian Etch con la dirección IP 192.168.0.100 donde Apache2 ya está instalado.

Estoy usando un host virtual con la raíz del documento /var/www en este ejemplo.

2 Instalando mod_python

Para instalar mod_python, simplemente ejecutamos:

apt-get install libapache2-mod-python

3 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. Te permite escribir scripts de 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. Te permite incrustar código Python directamente en código HTML, similar a PHP. Los archivos PSP tienen la extensión .psp.

3.1 El Publisher Handler

Para habilitar el Publisher Handler, debemos abrir nuestra configuración de vhost (estoy usando el vhost predeterminado en Debian con la raíz del documento /var/www; la configuración para este vhost se encuentra en /etc/apache2/sites-available/default) y agregar las líneas AddHandler mod_python .py, PythonHandler mod_python.publisher, y PythonDebug On:

vi /etc/apache2/sites-available/default

| [...] Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all AddHandler mod_python .py PythonHandler mod_python.publisher PythonDebug On [...] |

Reinicia Apache después:

/etc/init.d/apache2 restart

Ahora creamos un pequeño script de prueba en Python (por ejemplo, /var/www/test.py) con código Python puro en él…

vi /var/www/test.py

| def index(req): return "Test exitoso"; |

… y lo llamamos en un navegador (por ejemplo, http://192.168.0.100/test.py). Si todo va bien, debería mostrar Test exitoso en tu navegador.

3.2 El PSP Handler

Para habilitar el PSP Handler, debemos abrir nuestra configuración de vhost (estoy usando el vhost predeterminado en Debian con la raíz del documento /var/www; la configuración para este vhost se encuentra en /etc/apache2/sites-available/default) y agregar las líneas AddHandler mod_python .psp, PythonHandler mod_python.psp, y PythonDebug On:

vi /etc/apache2/sites-available/default

| [...] Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all AddHandler mod_python .psp PythonHandler mod_python.psp PythonDebug On [...] |

Reinicia Apache después:

/etc/init.d/apache2 restart

Ahora creamos un pequeño script de prueba PSP (por ejemplo, /var/www/test.psp) con código HTML y Python en él…

vi /var/www/test.psp

|

<% req.write("¡Hola!") %>

|

… y lo llamamos en un navegador (por ejemplo, http://192.168.0.100/test.psp). Si todo va bien, debería mostrar ¡Hola! en tu navegador.

4 Módulos de Python

Si necesitas más módulos de Python, puedes buscarlos así:

apt-cache search python

Elige los que necesites e instálalos de la siguiente manera:

apt-get install python-mysqldb python-xml

Reinicia Apache después:

/etc/init.d/apache2 restart

5 Enlaces

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.