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_pythonPara 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
SuSEconfigy reinicia Apache:
/etc/init.d/apache2 restart5.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
vi /etc/apache2/conf.d/python.conf| |
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 restartAhora 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
vi /etc/apache2/conf.d/python.conf| |
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 restartAhora 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
- mod_python: http://www.modpython.org
- Python: http://www.python.org
- Apache: http://httpd.apache.org
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.