Apache HTTP Server (Español)/mod_python (Español)

From ArchWiki
Estado de la traducción: esta traducción de Apache HTTP Server/mod_python fue revisada el 2021-01-21. Si existen cambios puede actualizarla o avisar al equipo de traducción.
Advertencia: mod_python está desatendido y tiene múltiples problemas de seguridad, rendimiento y estabilidad. Se recomienda encarecidamente utilizar mod_wsgi en su lugar.

Mod_python es un módulo de Apache HTTP Server que integra el interprete de Python dentro del servidor. Con mod_python usted puedes escribir aplicaciones web basadas en Python que se ejecutarán mucho mas rápido que el CGI tradicional y tendrá acceso a características avanzadas tales como la capacidad de mantener conexiones con la base de datos y otros datos entre los accesos y los accesos de Apache internos. Una descripción más detallada acerca de que es mod_python puede ser encontrada en este artículo O'Reilly.

Instalación

Instale el paquete mod_pythonAUR desde AUR.

Configurar Apache

  • Añada esta linea a /etc/httpd/conf/httpd.conf:
LoadModule python_module modules/mod_python.so
  • Reinicie Apache
# httpd -k restart
  • Asegúrese que Apache haya cargado correctamente

Probando Mod_python

  • Añada estas líneas a /etc/httpd/conf/httpd.conf:
<Directory /srv/httpd/> 
   AddHandler mod_python .py
   PythonHandler mod_python.publisher 
   PythonDebug On 
</Directory>
  • Cree un archivo en /srv/httpd/ llamado mptest.py y añada este contenido:
from mod_python import apache
def handler(req):
    req.content_type = 'text/plain'
    req.send_http_header()
    req.write("Hola mundo!")
    return apache.OK
  • Reinicie Apache
# apachectl restart
  • Revise que Apache haya cargado correctamente
Hola mundo!

Con la configuración descrita anteriormente, puede apuntar su navegador a cualquier archivo .py en el directorio de prueba. Por ejemplo, puede ingresar con su navegador a /algo.py y la petición será manejada por mptest.py.

Véase también