Re: [Python-es] Configurar Apache para Python
Hola amigos. Acabo de encontrar la solución. Lo que cambia de Apache 2.2 a Apache 2.4 es que hay que incluir lo siguiente en el archivo apache2.conf: LoadModule cgi_module /usr/lib/apache2/modules/mod_cgi.so Ahora todo funciona correctamente. Espero que esto ayude a quien lo necesite. :-) Saludos. El 14 de febrero de 2015, 13:44, Juan M. Puertas soft.sir...@gmail.com escribió: Hola. Acabo de instalar apache2.2 en lugar de la versión 2.4, que viene en el repositorio de Linux Mint. Ahora todo funciona perfectamente. Tendré que leer las novedades de apache 2.4. Gracias por vuestra ayuda. :-) El 14 de febrero de 2015, 12:54, Juan M. Puertas soft.sir...@gmail.com escribió: *¿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 pych...@gmail.com escribió: El 13 de febrero de 2015, 23:37, Juan M. Puertas soft.sir...@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 pych...@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.sir...@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 j...@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@gmail.com: 2015-02-13 5:16 GMT-05:00 Juan M. Puertas soft.sir...@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
Re: [Python-es] Configurar Apache para Python
*¿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 pych...@gmail.com escribió: El 13 de febrero de 2015, 23:37, Juan M. Puertas soft.sir...@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 pych...@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.sir...@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 j...@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@gmail.com: 2015-02-13 5:16 GMT-05:00 Juan M. Puertas soft.sir...@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
Re: [Python-es] Configurar Apache para Python
Hola. Acabo de instalar apache2.2 en lugar de la versión 2.4, que viene en el repositorio de Linux Mint. Ahora todo funciona perfectamente. Tendré que leer las novedades de apache 2.4. Gracias por vuestra ayuda. :-) El 14 de febrero de 2015, 12:54, Juan M. Puertas soft.sir...@gmail.com escribió: *¿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 pych...@gmail.com escribió: El 13 de febrero de 2015, 23:37, Juan M. Puertas soft.sir...@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 pych...@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.sir...@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 j...@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@gmail.com: 2015-02-13 5:16 GMT-05:00 Juan M. Puertas soft.sir...@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
Re: [Python-es] Configurar Apache para Python
El 13 de febrero de 2015, 23:37, Juan M. Puertas soft.sir...@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 pych...@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.sir...@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 j...@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@gmail.com: 2015-02-13 5:16 GMT-05:00 Juan M. Puertas soft.sir...@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 [htmlbodyHello 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@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 ___
Re: [Python-es] Configurar Apache para Python
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 :-) El 13 de febrero de 2015, 0:46, Alexandro Colorado j...@oooes.org escribió: No se si sea muy segura esa manera de poner un servidor web (hablo de los permisos). Aqui te doy unos tips (como no se que framework usas) para hacerlo en un microframework llamado web.py. Como ves las instrucciones son muy sencillas, usas wsgi en vez de cgi. http://webpy.org/cookbook/mod_wsgi-apache apt-get install libapache2-mod-wsgi editas el httpd.conf con: LoadModule wsgi_module modules/mod_wsgi.so WSGIScriptAlias /appname /var/www/webpy-app/code.py/ Alias /appname/static /var/www/webpy-app/static/ AddType text/html .py Directory /var/www/webpy-app/ Order deny,allow Allow from all /Directory 2015-02-12 18:25 GMT-05:00 Juan Ignacio euriba...@gmail.com: Los scripts de python tienen el bit de ejecutable? chmod a+x *.py On 12 Feb 2015 22:53, Juan M. Puertas soft.sir...@gmail.com wrote: Gracias Alexandro. Mi Sistema Operativo es Linux Mint 17 Mate La versión de Apache es la 2.4.7 Lo que me funcionaba hace dos años es: __ Al principio del cgi en Python hay que escribir: #!/usr/bin/env python import cgitb;cgitb.enable() 1.- En /etc/apache2/ añade lo siguiente al final de apache2.conf: # *** Mi configuracion de apache2.conf *** AddHandler cgi-script .cgi .py Directory / Options FollowSymLinks ExecCGI AllowOverride None /Directory 2.- En sites-available/default-ssl.conf cambia la cosa asi: #ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ ScriptAlias /cgi-bin/ /var/www/cgi-bin/ #Directory /usr/lib/cgi-bin Directory /var/www/cgi-bin PERMISOS * La carpeta www ha de tener el permiso 777 La carpeta cgi-bin ha de tener el permiso 755 __ Veo que en la versión nueva hay que tocar también en /etc/apache2/sites-available cambiar el archivo 000-default.conf De esto: #DocumentRoot /var/www/html A esto: DocumentRoot /var/www __ Pero nada, el navegador intenta abrir el archivo python en lugar de ejecutarlo. El 12 de febrero de 2015, 23:23, Alexandro Colorado j...@oooes.org escribió: Necesitas el mod_wsgi en apache. Por favor di que hiciste, refiere el tutorial que seguiste, y muestra que errores te da. Tambien da la version de sistema operativo, apache, y modulos. https://code.google.com/p/modwsgi/wiki/IntegrationWithDjango 2015-02-12 17:17 GMT-05:00 Juan M. Puertas soft.sir...@gmail.com: Hola amigos: Tengo un programa que corre perfectamente en el servidor remoto, pero quiero hacer pruebas en local. Hace un par de años me funcionaba en local, pero veo que la nueva versión de Apache ha cambiado algo. A pesar de seguir las instrucciones que escribí, lo más que consigo es que el navegador intente abrir el archivo py en lugar de ejecutarlo. ¿A alguien le ha pasado y sabe a qué se debe?. Gracias :-) ___ Python-es mailing list Python-es@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@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@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@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@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.*
Re: [Python-es] Configurar Apache para Python
Hola, ¿Tienes habilitado el módulo cgi en el servidor Apache? En la versión que supongo que estás utilizando para realizar esto has de crear un enlace desde el directorio /etc/apache2/mods-enabled al fichero /etc/apache2/mods-available/cgi.load Saludos, Pepe 2015-02-13 11:16 GMT+01:00 Juan M. Puertas soft.sir...@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 :-) -- Pepe Lloret http://www.pepell.com ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Configurar Apache para Python
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@gmail.com: 2015-02-13 5:16 GMT-05:00 Juan M. Puertas soft.sir...@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 [htmlbodyHello 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@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@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Configurar Apache para Python
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 j...@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@gmail.com: 2015-02-13 5:16 GMT-05:00 Juan M. Puertas soft.sir...@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 [htmlbodyHello 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@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@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@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Configurar Apache para Python
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.sir...@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 j...@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@gmail.com: 2015-02-13 5:16 GMT-05:00 Juan M. Puertas soft.sir...@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 [htmlbodyHello 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@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@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@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@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Configurar Apache para Python
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 pych...@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.sir...@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 j...@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@gmail.com: 2015-02-13 5:16 GMT-05:00 Juan M. Puertas soft.sir...@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 [htmlbodyHello 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@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@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@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:
Re: [Python-es] Configurar Apache para Python
2015-02-13 5:16 GMT-05:00 Juan M. Puertas soft.sir...@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 [htmlbodyHello 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@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Configurar Apache para Python
Gracias Alexandro. Mi Sistema Operativo es Linux Mint 17 Mate La versión de Apache es la 2.4.7 Lo que me funcionaba hace dos años es: __ Al principio del cgi en Python hay que escribir: #!/usr/bin/env python import cgitb;cgitb.enable() 1.- En /etc/apache2/ añade lo siguiente al final de apache2.conf: # *** Mi configuracion de apache2.conf *** AddHandler cgi-script .cgi .py Directory / Options FollowSymLinks ExecCGI AllowOverride None /Directory 2.- En sites-available/default-ssl.conf cambia la cosa asi: #ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ ScriptAlias /cgi-bin/ /var/www/cgi-bin/ #Directory /usr/lib/cgi-bin Directory /var/www/cgi-bin PERMISOS * La carpeta www ha de tener el permiso 777 La carpeta cgi-bin ha de tener el permiso 755 __ Veo que en la versión nueva hay que tocar también en /etc/apache2/sites-available cambiar el archivo 000-default.conf De esto: #DocumentRoot /var/www/html A esto: DocumentRoot /var/www __ Pero nada, el navegador intenta abrir el archivo python en lugar de ejecutarlo. El 12 de febrero de 2015, 23:23, Alexandro Colorado j...@oooes.org escribió: Necesitas el mod_wsgi en apache. Por favor di que hiciste, refiere el tutorial que seguiste, y muestra que errores te da. Tambien da la version de sistema operativo, apache, y modulos. https://code.google.com/p/modwsgi/wiki/IntegrationWithDjango 2015-02-12 17:17 GMT-05:00 Juan M. Puertas soft.sir...@gmail.com: Hola amigos: Tengo un programa que corre perfectamente en el servidor remoto, pero quiero hacer pruebas en local. Hace un par de años me funcionaba en local, pero veo que la nueva versión de Apache ha cambiado algo. A pesar de seguir las instrucciones que escribí, lo más que consigo es que el navegador intente abrir el archivo py en lugar de ejecutarlo. ¿A alguien le ha pasado y sabe a qué se debe?. Gracias :-) ___ Python-es mailing list Python-es@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@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@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
[Python-es] Configurar Apache para Python
Hola amigos: Tengo un programa que corre perfectamente en el servidor remoto, pero quiero hacer pruebas en local. Hace un par de años me funcionaba en local, pero veo que la nueva versión de Apache ha cambiado algo. A pesar de seguir las instrucciones que escribí, lo más que consigo es que el navegador intente abrir el archivo py en lugar de ejecutarlo. ¿A alguien le ha pasado y sabe a qué se debe?. Gracias :-) ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/