[Python-es] Configurar Apache para Python

Juan M. Puertas soft.sirius en gmail.com
Vie Feb 13 23:37:37 CET 2015


Muchas gracias Chema :-) Ahora hace algo más raro.
He dejado el ".htaccess" así:

DirectoryIndex index.html
Options ExecCGI
AddHandler cgi-script .py .cgi
AddType text/html .py .cgi

Por que "error.log" indica que en este archivo no se permite "<Directory ...
He puesto "AllowOverride All" en el sitio adecuado de "apache2.conf", y
Firefox me lanza una mezcla del código fuente y de la parte visual de la
página web. :-?
Chromium sigue mostrando sólo el código fuente.

¿Puede deberse a que intenta lanzar python3.4 en lugar de python 2.7?. Ya
sabemos que ha cambiado la forma de hacer print.

¿Puede deberse al cambio entre apache 2.2 a apache 2.4?

 Seguiré investigando...

El 13 de febrero de 2015, 21:29, Chema Cortes <pych3m4 en gmail.com> escribió:

> Holas,
>
> En la configuración principal de apache2.conf tienes un "AllowOverride
> None". Si no lo cambias, no tendrá en cuenta nada de lo que pongas en
> ficheros ".htaccess"
>
>
>
> El 13 de febrero de 2015, 17:42, Juan M. Puertas <soft.sirius en gmail.com>
> escribió:
>
> Pepe:
>>  He hecho la prueba de lo que me dices así:
>> "$ sudo a2enmod python"
>> Y me devuelve:
>> "ERROR: Module python does not exist!"
>> Luego lo he intentado así:
>> "$ sudo a2enmod cgi"
>> Luego reinicio apache.
>> Lo que sucede ahora es que no encuentra el programa.py (NOT FOUND)
>>
>> Carlos:
>>  Con Firefox pregunta si abrir o guardar el archivo programa.py. Con
>> Chromium abre el código fuente en el mismo navegador.
>> Ya tenía el print 'Content-type: text/html'
>> El error.log de apache parece no indicar error alguno:
>>
>> [Fri Feb 13 17:07:10.531526 2015] [mpm_event:notice] [pid 5700:tid
>> 3074771584] AH00491: caught SIGTERM, shutting down
>> [Fri Feb 13 17:07:11.650739 2015] [mpm_event:notice] [pid 5815:tid
>> 3074701952] AH00489: Apache/2.4.7 (Ubuntu) configured -- resuming normal
>> operations
>> [Fri Feb 13 17:07:11.651031 2015] [core:notice] [pid 5815:tid 3074701952]
>> AH00094: Command line: '/usr/sbin/apache2'
>>
>> Carlos y Alexandro:
>> Si no lo consigo, buscaré cómo convertir un simple cgi en wsgi.
>>
>> Muchas gracias a todos por vuestras recomendaciones. :-)
>>
>>
>> El 13 de febrero de 2015, 14:31, Alexandro Colorado <jza en oooes.org>
>> escribió:
>>
>> Te reocomiendo quitar cgi, y usar wsgi. Es mas facil de configurar, aun
>>> asi, creo que tu problema tiene que ver con que apache no esta cogiendo la
>>> configuracion del mime-type (o tipo de archivo).
>>>
>>> 2015-02-13 7:33 GMT-05:00 Carlos Zuniga <carlos.zun en gmail.com>:
>>>
>>> 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
>>>> _______________________________________________
>>>> Python-es mailing list
>>>> Python-es en python.org
>>>> https://mail.python.org/mailman/listinfo/python-es
>>>> FAQ: http://python-es-faq.wikidot.com/
>>>>
>>>
>>>
>>>
>>> --
>>> Alexandro Colorado
>>> Apache OpenOffice Contributor
>>> 882C 4389 3C27 E8DF 41B9  5C4C 1DB7 9D1C 7F4C 2614
>>>
>>> _______________________________________________
>>> Python-es mailing list
>>> Python-es en python.org
>>> https://mail.python.org/mailman/listinfo/python-es
>>> FAQ: http://python-es-faq.wikidot.com/
>>>
>>>
>>
>>
>> --
>> *Nota: Por problemas con el e-mail. Puede que recibas de nuevo este
>> mensaje en un tiempo.*
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> https://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>>
>
>
> --
> Hyperreals *R  "Quarks, bits y otras criaturas infinitesimales":
> http://ch3m4.org/blog
> Buscador Python Hispano: http://ch3m4.org/python-es
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>


-- 
*Nota: Por problemas con el e-mail. Puede que recibas de nuevo este mensaje
en un tiempo.*
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20150213/ed73dd22/attachment.html>


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