[Python-es] Configurar Apache para Python

Juan M. Puertas soft.sirius en gmail.com
Sab Feb 14 12:54:13 CET 2015


*¿Pero tienes la directiva <Directory> en .htaccess o no? (En otro mensaje
lo tienes puesto)*
No tengo la directiva <Directory>, la puse para una prueba, pero cuando
funcionaba bien no la tenía, ni la tengo ahora.
Ya digo que el programa comienza así:
#!/usr/bin/env python
import cgitb;cgitb.enable()
Ya he hecho la prueba de poner "#!/usr/bin/python2.7" y sigue fallando.
Claro, ahora que caigo; es una versión compatible con python2 y python3. :-)
Para ir descartando posibilidades, voy a instalar "Apache 2.2" y seguir las
instrucciones que tenía cuando todo funcionaba bien.
Muchas gracias por todo, Chema. :-)
Os mantendré informados.

El 14 de febrero de 2015, 12:06, Chema Cortes <pych3m4 en gmail.com> escribió:

> El 13 de febrero de 2015, 23:37, Juan M. Puertas <soft.sirius en gmail.com>
> escribió:
>
>> 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.
>>
>>
> ¿Pero tienes la directiva <Directory> en .htaccess o no? (En otro mensaje
> lo tienes puesto)
>
> No se puede cambiar esta directiva desde el .htaccess, ni en apache 2.4 ni
> en 2.2
>
> ¿Tienes bien puesto el hashtag, con la ruta del ejecutable python, en el
> cgi?
>
> Prueba a ejecutarlo desde la línea de comandos, como si fuera un script
> normal. (eg: ./mycgi.py)
>
>
>
>> ¿Puede deberse a que intenta lanzar python3.4 en lugar de python 2.7?. Ya
>> sabemos que ha cambiado la forma de hacer print.
>>
>
> python 2.7 está más próximo a python3 que a python 2.4. No creo que sea un
> problema del 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.*
>>
>> _______________________________________________
>> 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/20150214/c1e9da79/attachment.html>


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