En Apache, la funcionalidad necesaria para interpretar scripts Python la provee el módulo "mod_python".

mod_python es un módulo que embebe el intérprete python en el servidor Web Apache. Permite escribir aplicaciones Web en Python que se ejecuten más rápido que el tradicional CGI y tengan acceso a características avanzadas tales como la capacidad de retener conexiones a bases de datos, datos entre accesos y características internas de Apache.



Para instalar mod_python en Apache en un servidor Debian o Ubuntu Server, es necesario instalar el paquete "libapache2-mod-python" (y "python-mysqldb" si se van a utilizar bases de datos MySQL).

# apt-get install libapache2-mod-python

Una vez instalado es posible verificar en Apache que el módulo "mod_python" se encuentra cargado utilizando la herramienta apache2ctl:

# apache2ctl -t -D DUMP_MODULES | grep -i python
Syntax OK                                                             
 python_module (shared) 

Se observa que existe el link simbólico en el directorio mods-enabled:

# ls -l /etc/apache2/mods-enabled/ | grep python
lrwxrwxrwx 1 root root   29 nov 15 09:50 python.load -> ../mods-available/python.load

Luego de instalar el módulo mod_python es necesario configurar un sitio Web (VirtualHost) para que sea capaz de utilizar Python. Editar el archivo de configuración del sitio (por ejemplo /etc/apache2/sites-enabled/mi_sitio) y agregar las directivas LoadModule, AddHandler, PythonHandler y PythonDebug tal como se observa a continuación:

LoadModule python_module modules/mod_python.so

%lt;Directory "/var/www/mi_sitio">
  AddHandler mod_python .py
  PythonHandler mi_aplicacion
  PythonDebug On

[...]

La directiva PythonHandler apunta al módulo Python base dentro del directorio del sitio Web (en este ejemplo "/var/www/mi_sitio/mi_aplicacion.py"):

# ls /var/www/mi_sitio/mi_aplicacion.py
mi_aplicacion.py

Finalmente, reiniciar el servidor Apache:

# /etc/init.d/apache2 restart

Para mayor información sobre mod_python remitirse a la documentación oficial:

Mod_python v3.5.0-3.5.0 documentation

Mod_python Manual, Gregory Trubetskoy - Release 3.3.1 (January 29, 2007)


Tal vez pueda interesarte


Compartí este artículo