[Python-es] Configurar Apache para Python

Carlos Zuniga carlos.zun en gmail.com
Vie Feb 13 13:33:13 CET 2015


2015-02-13 5:16 GMT-05:00 Juan M. Puertas <soft.sirius en gmail.com>:
> Gracias por vuestras ideas.
> Juan ignacio. Si, los archivos .py tienen permisos de ejecutable (755).
> Alejandro.  No estoy utilizando un framework. El programa es un simple CGI,
> de momento las pruebas las estoy haciendo así. En el .htaccess (puesto en
> /var/www y var/www/cgi-bin) tengo lo siguiente:
>
> DirectoryIndex index.html
> Options +ExecCGI
> AddHandler cgi-script .py .cgi
> AddType text/html .py .cgi
> <Directory /var/www/cgi-bin/>
>     Order deny,allow
>     Allow from all
> </Directory>
>
>  Mi pregunta sobre todo va por si a alguien le ha pasado que el navegador
> intente abrir el archivo python en lugar de que corra.
>  Saludos :-)
>
>

Lo intenta abrir, pero te devuelve el contenido del script python o el
resultado de ejecutarlo? Si es lo segundo, tal vez el problema sea que
el navegador no lo reconoce como un html. Intenta poner un `print
'Content-type: text/html'` o 'text/plain' entre tus headers.

Que dice el error.log / access.log de apache?

También prueba chequear lo que dicen por aquí:
http://stackoverflow.com/a/10135416

****

Por otro lado, sería mucho mejor que utilizaras mod_wsgi. Si no
quieres usar un framework, todo lo que tienes que hacer es poner una
funcion llamada `application` [0] en tu script que retorne una cadena
dentro de una lista:

def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return ["<html><body>Hello World</body></html>"]

Y configurar mod_wsgi para que apunte a tu script:

WSGIScriptAlias /wsgi_app /srv/http/wsgi_app.py

--
Saludos


[0] http://webpython.codepoint.net/wsgi_application_interface


Más información sobre la lista de distribución Python-es