TU WEB CON CGI GRATIS
CGI es la interfase mediante la cual las páginas web ejecutan programas del lado del servidor, de ese modo el contenido de las páginas es mucho más dinámico e interesante (y la página será más visitada). Un ejemplo de CGI es Yahoo.com. En ella la pantalla de los resultados de la búsqueda se arma automáticamente, de acuerdo a lo que el visitante buscó. (Eso es lo que hace el CGI)
En otras palabras, CGI es la diferencia entre un sitio personal y uno profesional, uno estático y uno interactivo, uno que vale la pena visitar una sola vez y uno al que vale regresar seguido.
Pero ¿qué hace falta para que yo ponga mi propio sitio con CGI's gratis?
1) Saber programar
CGI's. (En este caso elegimos el lenguaje Perl)
2)
Contar con un servidor que permita la ejecución de ese
lenguaje.
3) Tener un software servidor HTTP
en tu PC para probar los programas.
4)
Opcionalmente, tener programas de ejemplo en los cuales basarnos.
5) Y por supuesto, tener la creatividad suficiente
como para hacer de tu sitio algo interesante y novedoso.
Dónde aprender Perl
Tutoriales de
Perl:
http://gratislandia.hypermart.net/prog2.htm
(incluye tutoriales de HTML)
http://kal-el.ugr.es/~jmerelo/tutoperl/
http://www.uco.es/~i22oscav/tutor.html
http://www.tres.com/perl/
Información
espectacular para usuarios avanzados de Perl. Incluye "trucos"
para mejorar tu programación y un tutorial muy completo sobre
Programación Orientada a Objetos en Perl, un listado de las
incompatibilidades entre Perl 4 y 5, y cómo solucionarlas, y
mucho, pero mucho más.
Se llama "Por
Lejos Mucho Más De Lo Que Siempre Quisiste Saber"
El URL es:
http://www.perl.com/CPAN-local/doc/FMTEYEWTK/index.html
Ejemplos y programas listos para andar
Aquí encontrarás algunos scripts listos para instalar, configurar y ejecutar:
http://www.tres.com/perl/
(En castellano!)
http://www.worldwidemart.com/scripts/
Y el mejor:
http://cgi.resourceindex.com/
(Este
sitio es mucho más que un depósito de scripts, también
hay documentacíon, libros, artículos y bolsa de trabajo
referido a la programación de CGI)
Servidores gratuitos que permiten CGI
http://www.virtualave.net
http://hypermart.net
Ambos servers
molestan bastante con la publicidad que incluyen en las páginas.
Tanto las páginas HTML como las generadas por
el CGI deben tener un banner.
Si no lo tienen
se abrirá (en el caso de Virtualave) un pop-up con la
publicidad del servidor.
No es muy cómodo
pero es lo que hay...
Software para probarlos en tu PC
De aquí te
podés bajar el Sambar Server, que no es lo más
profesional que hay, pero viene con una versión de Perl y te
va a permitir probar tus scripts sin tener Linux instalado en tu PC:
http://www.skyweb.se/sambar/files/sambar42_production.zip
De aquí
siempre podras descargar la última version de este programa:
http://phon.net/sambar/
FAQ (preguntas
comunes) acerca del Sambar Server:
http://www.sambar.com/help/faq.htm
Intrucciones para
la Instalación y configuración (no es muy dificil)
http://www.sambar.com/help/install.htm
Los "How To"
de Sambar Server
http://www.sambar.com/help/howto.htm
El maldito error 500 (Internal Server Error)
De todos los errores que podemos recibir cuando intentamos ejecutar nuestro script en el servidor, el error 500 es el que más va a aparecer, y lo malo es que no podemos saber cuál fué el problema que lo causó. Afortunadamente yo ya hice el intento por ustedes y averigué los motivos más comunes que causan este error cuando aparentemente todo debería andar bien:
COMO EVITAR EL ERROR 500 DEL SERVIDOR.
1) Poner el
"Content-type"
Es necesario que las
páginas que nuestro programa genere (las respuestas) comiencen
siempre con una línea que diga "Content-type: text/html".
Esto se logra muy fácilmente insertando el siguiente código
antes de cualquier respuesta a imprimir:
print
"Content-type: text/html\n\n";
2) Siempre hacer
el upload en modo texto
Cuando terminamos
nuestro programa debemos enviarlo al servidor, que generalmente corre
bajo Linux. Como Windows y Linux manejan los saltos de linea de
formas diferentes en los archivos de texto, hace falta que señalemos
la opción "transferencia en modo de texto" (en vez
de "modo binario") en el programa de FTP que vayamos a
usar.
3) Debugguear bien
el código usando el Sambar Server
Cualquier
error que el perl incluído en Sambar nos pueda mostrar no se
verá si el programa es ejecutado remotamente. En su lugar sólo
veremos el famoso error 500. Para ver si el error 500 es causado en
realidad por otro tipo de error de Perl, alcanza con ir al directorio
donde está grabado nuestro programa y ejecutarlo desde D.O.S
escribiendo:
"c:\archivos de
programa\sambar\perl\perl.exe nombre_del_programa.pl"
y
ver si la respuesta es la que se esperaba del programa.
4)
Configurar bien los permisos del script y de los archivos de datos
Cuando un servidor Linux intenta ejecutar un
programa requiere que el mismo tenga permiso de ejecución, y a
veces también hacen falta permisos en los archivos de datos.
Si hace falta debemos cambiarlos con un cliente de FTP que nos
permita tal operación (yo recomiendo el Windows Commander, del
que hablé en la d~Zone nro. 32)