[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