Error al correr cgi en python
aNgel rEsendiz g.
sonajadiabolica en gmail.com
Lun Nov 6 18:05:02 CET 2006
Que tal.
Solo alcarar algunas cosas. El archivo /etc/apache2/httpd.conf ya
no se utiliza en apache2, seguramente leiste algún manual de versiones
anteriores, antes *TODO* se metia en el archivo httpd.conf, y no habia
tantos directorios en /etc/apache2/ pero para cambiar cualquier cosa,
tenias que abrir ese monstruo de archivo de configuración, así que
ahora se han separado algunas cosas en sus propios archivos y
directorios.
En tu caso, la configuración que pusiste en httpd.conf, es la
configuración de directorios, alias, servidores virtuales, etc. de
apache2, y para esa configuración ahora se utiliza el directorio
/etc/apache2/sites-available , que es el directorio que contiene los
archivos de configuración de directorios, y el directorio
/etc/apache2/sites-enabled , que contiene enlaces a los archivos de
sites-available que van a estar funcionando, es decir, en
sites-available estan todas las posibles configuraciones
(configuraciones disponibles), y en sites-enabled, enlaces a los
archivos de sites-available que SI queremos que funcionen
(configuraciones activas). Lo mismo sucede con mods-available y
mods-enabled.
A su vez, todos esos archivos son llamados desde apache2.conf, que
es ahora el archivo de configuración principal, desde él se llama a
sites-enabled, mods, enabled, ports, y a httpd.conf (para mantener
cierta compatibilidad, aunque es mejor utilizar los archivos de la
nueva manera)entre otros. Las lineas que llaman a esos archivos
inician con "Include" en apache2.conf.
En resumen, te recomiendo que la configuración que utilizaste en
httpd.conf, la apliques en sites-enabled/000-default.
Y aún tengo dudas en que funcione bien el script que te hice con
las modificaciones, prueba que funcione correctamente (que al
seleccionar un color y presionar un boton, vuelva a aparecer la misma
pantalla con el color de texto que seleccionaste).
Saludos.
On 11/6/06, vicente villaveces <jvicentevilla en yahoo.es> wrote:
> Saludos.
> Agradecimiento a el Sr. aNgel rEsendiz g.
> Para el momento de recibir el correo estaba haciendo algunas pruebas agregando algunas directivas al archivo http.conf el cual está ubicado en mi equipo en /etc/apache2
> Siguiendo sus indicaciones copié y pegué el archivo color.py en: /usr/lib/cgi-bin lo ejecutè desde el naveador con: http://locallhost/cgi-bin/color.py y el navegador presentò el mensaje:
> Internal Server error Por lo que abrì el archivo /var/log/apache2/error.log para leer las causas del error, las entradas correspondientes al error segùn la hora de ocurrencia son:
>
> Premature end of script headers: color.py
> File not existe: /var/www/faviscom.Ico.
>
> Editè el archivo color.py y busquè alguna informaciòn sobre codigo html y pude hacer algunas modificaciones, finalmente el archivo quedò asi:
>
> #!/usr/bin/python
> import cgi
>
> print "Content-Type: text/html\n"
> form=cgi.FieldStorage()
> color=form.getvalue('color')
>
> print '''<html><header><title>Seleccionar color</title></header><body>
> <form action="/cgi-bin/color.py" method="post">
> <input type="radio" name="color" value="black" checked>Negro<br>
> <input type="radio" name="color" value="red" checked>Rojo<br>
> <input type="radio" name="color" value="green" >green<br>
> <input type="submit" value="escojer">
> </form>'''
> if color:
> print '''<font> color=%s>"El color de este texto es: %s" </font>%(color,color)
> </body></html>'''
>
> Despuès de que corriò el cgi fuì eliminando una a una las directivas agregadas al archivo: http.cof hasta producir el error nuevamente y lograr asì determinar cual directa era la requerida, el archivo quedò asi:
>
> # This is here for backwards compatability reasons and to support
> # installing 3rd party modules directly via apxs2, rather than
> # through the /etc/apache2/mods-{available,enabled} mechanism.
> #
> #LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so
> LoadModule python_module /usr/lib/apache2/modules/mod_python.so
>
> <Directory /usr/lib/cgi-bin>
> Options +ExecCGI
> </Directory>
>
> Para finalizar nuevamente mi agradecimiento al señor aNgel rEsendiz g. , a la administraciòn de la lista y todos los usuarios listeros por permitir que se propague el conocimiento.
>
>
>
>
> "aNgel rEsendiz g." <sonajadiabolica en gmail.com> escribió: Intenta nuevamente, pero con http://localhost/cgi-bin/color.py.
>
> Otra cosa es que probablemente cambiaste algo en la configuración de
> apache que no recuerdas.
>
> Escribe en la terminal "ps ax", y busca una linea que sea algo así:
> /usr/sbin/apache2
> si no la encuentras, escribe "sudo /etc/init.d/apache2 start" y nos
> dices que mensaje obtienes.
>
> De hecho, si obtienes algún mensaje de error, para facilitar las
> cosas, puedes hacer esto:
>
> sudo apt-get remove --purge apache2
> sudo rm -rf /etc/apache2/
> sudo apt-get install apache2
>
> Despues vuelve a intentar con http://localhost/cgi-bin/color.py
>
> Saludos
>
>
>
>
>
> ---------------------------------
>
> LLama Gratis a cualquier PC del Mundo.
> Llamadas a fijos y móviles desde 1 céntimo por minuto.
> http://es.voice.yahoo.com
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>
--
aNgel rEsendiz.!
Más información sobre la lista de distribución Python-es