Error al correr cgi en python
vicente villaveces
jvicentevilla en yahoo.es
Lun Nov 6 16:52:05 CET 2006
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
Más información sobre la lista de distribución Python-es