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

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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