Apache Python · 2 min read · Nov 13, 2025

Incrustando Python En Apache2 Con mod_python (Debian/Ubuntu, Fedora/CentOS, Mandriva, OpenSUSE) - Página 3

5 OpenSUSE 11

5.1 Instalando mod_python

Para instalar mod_python, simplemente ejecutamos:

yast -i apache2-mod_python

Para habilitar mod_python, abre /etc/sysconfig/apache2 y agrega python a la línea APACHE_MODULES, por ejemplo, así:

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" [...] |

Después, ejecuta

SuSEconfig

y reinicia Apache:

/etc/init.d/apache2 restart

5.2 Configurando Apache

Ahora debemos configurar Apache para que pueda manejar archivos Python. Hay dos formas de hacerlo. La primera (y por defecto) es usar el Publisher Handler. Esto te 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.

5.2.1 El Publisher Handler

Para habilitar el Publisher Handler, creamos una configuración de mod_python en /etc/apache2/conf.d/python.conf (este archivo no existe, así que lo creamos). Estoy usando la raíz del documento predeterminada de OpenSUSE /srv/www/htdocs aquí en la directiva - ajusta esto a tus necesidades. Las líneas importantes son AddHandler mod_python .py y PythonHandler mod_python.publisher:

vi /etc/apache2/conf.d/python.conf

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

Por favor nota: si usas ISPConfig (desde la versión 2.2.24 en adelante) en el servidor, por favor no crees ese archivo ya que habilitaría mod_python globalmente para el directorio en cuestión. En ISPConfig puedes habilitar mod_python por sitio web, lo que te da más control sobre si un sitio web puede usar mod_python o no.

Reinicia Apache después:

/etc/init.d/apache2 restart

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

vi /srv/www/htdocs/test.py

| def index(req): return "Prueba exitosa"; |

… y llámalo en un navegador (por ejemplo, http://192.168.0.100/test.py). Si todo va bien, debería mostrar Prueba exitosa en tu navegador.

5.2.2 El PSP Handler

Para habilitar el PSP Handler, creamos una configuración de mod_python en /etc/apache2/conf.d/python.conf (este archivo no existe, así que lo creamos). Estoy usando la raíz del documento predeterminada de OpenSUSE /srv/www/htdocs aquí en la directiva - ajusta esto a tus necesidades. Las líneas importantes son AddHandler mod_python .py y PythonHandler mod_python.psp:

vi /etc/apache2/conf.d/python.conf

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

Por favor nota: si usas ISPConfig (desde la versión 2.2.24 en adelante) en el servidor, por favor no crees ese archivo ya que habilitaría mod_python globalmente para el directorio en cuestión. En ISPConfig puedes habilitar mod_python por sitio web, lo que te da más control sobre si un sitio web puede usar mod_python o no. También ten en cuenta que ISPConfig no soporta el PSP Handler - usa el Publisher Handler.

Reinicia Apache después:

/etc/init.d/apache2 restart

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

vi /srv/www/htdocs/test.psp

|

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

|

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

6 Enlaces

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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