Internet: instalando CGIs en el servidor

 Volver al Indice – Internet y Tutoriales de Diseño Web

Por Alejandro Franco – contáctenos

Instalando y probando los CGI’s

Ante todo debes tener en cuenta que un CGI debe instalarse en el servidor ya que es un programa. Es decir que a diferencia de un documento HTML, no basta con pasarlo al servidor. Normalmente hay que dar cierta información al CGI sobre nuestro servidor Web, donde se localizan ciertos ficheros, etc. Un CGI que tomes de cualquier sitio dificilmente va a funcionar “tal cual”. Las diferencias entre las configuraciones de los servidores hacen algunas veces imposible “portar” un programa de un servidor a otro. Sobre todo la diferencia entre servidores Windows y Unix algunas veces es tremenda. En muchas ocasiones puede ser bastante complejo adaptar a sistemas Windows CGIs creados para sistemas UNIX (o viceversa). Mi recomendación es que, siempre que sea posible, creeis los CGIs pensando en ambas plataformas. Si la portabilidad se ataca durante el periodo de creación del CGI el ahorro de tiempo es considerable. Para hacer portables los CGIs creados en Perl entre ambas plataformas hay que tener en cuenta varias cosas. Entre ellas cabe destacar:

El salto de línea en sistemas Unix es diferente al del los sistemas Windows (en UNIX es n mientras que en sistemas Windows es rn)

La trayectoria (“path”) de un fichero en sistemas UNIX es de la forma /directorio/subdirectorio/fichero mientras que en sistemas Windows es de la forma X:directoriosubdirectoriofichero

En UNIX existe el ejecutable de sistema “sendmail” que puede aprovecharse para que el CGI envie correos electrónicos de forma sencilla. En sistemas Windows no existe sendmail (aunque en ocasiones el sistema puede tener instalados programas similares) por lo que el envio de correos electrónicos debe hacerse generalmente estableciendo una comunicación directa con un servidor de SMTP.

Así pues, lo más indicado para probar CGIs en modo local (antes de pasarlos al servidor Web que aloja vuestras páginas) es instalar en vuestro ordenador el sistema operativo que tenga vuestro servidor, y a ser posible el mismo servidor Web (además del interprete Perl). El servidor Web es imprescindible ya que un CGI no funciona fuera del mismo (a diferencia de un documento HTML que es legible por el navegador aunque no se encuentre en un servidor Web). No obstante, si se tienen claras las diferencias entre los sistemas UNIX y Windows es posible probar muchos de los CGIs en sistemas Windows y, tras los cambios pertinentes, pasarlos al servidor UNIX. Naturalmente, no todos estamos dispuestos a instalar un servidor Web en nuestro ordenador y aún somos menos los dispuestos a instalar LINUX para probar los CGIs por tanto la persona que sólo instala CGIs de forma ocasional suele probar el mismo en el servidor Web que aloja sus páginas. Esta es una de las razones por las que Perl está tan extendido, ya que no se tiene que compilar el CGI cada vez que se haga una modificación (normalmente porque no funciona el CGI). Por esta misma razón (la de no tener que compilar) es bueno el Perl. Por cierto: PERL (http://www.perl.com/) esta disponible para (casi) todas las plataformas. En el caso de Windows es aconsejable usar ActivePerl

Entorno Linux

La mayoría de los servidores que albergan páginas web usan UNIX como sistema operativo. Linux es su clon para ordenadores personales que mantiene muchas de las características de su “padre”. Una, la que nos interesa, la ejecución en nuestra máquina local de páginas web con todas las características de un servidor UNIX.

Linux puede ejecutar scripts Perl y shell de forma nativa, por lo que las páginas que usa éstos, se ven automáticamente sin ningún cambio en la configuración del sistema operativo. Con sólo usar un navegador para ver la página, ya se ejecutarán.
El servidor Web Apache se instala por defecto al instalar Linux y por regla general los CGIs deben instalarse en el directorio /home/httpd/cgi-bin, mientras que los documentos HTML deben estar en /home/httpd/htdocs

Acuérdese de asignarle permisos 755 para que puedan ejecutarse. Muchos CGIs van acompañados de un archivo de entorno (fm.conf) en donde debe indicar en qué dominio se ejecuta el CGI / está habilitado para usar dicho CGI.

Entorno Windows

Para ejecutar scripts Perl bajo Win32, debe instalar el programa ActivePerl que se encuentra en el Sitio de ActiveState: http://www.activestate.com/

Para instalarlo debe ejecutar el archivo ActivePerl y seguir las indicaciones del asistente, el cual lo guiará a través de los distintos pasos. Perl es instalado por defecto en C:Perl

Para poder ejecutar CGIs creados en Perl, además deberás instalar algún servidor Web (como por ejemplo “Internet Information Server”). Tras esto hay que configurar el servidor Web para que permita la ejecucion de CGIs Dentro del programa de administración del IIS, seleccionamos el sitio web que tenemos asignado, y elegimos propiedades. Después vamos a la pestaña directorio particular, y pulsamos el botón configuración. De aquí pasamos a una nueva ventana, donde elegimos la pestaña asignaciones para la aplicación. Esto se utiliza para que el servidor admita los archivos ‘.pl’ (en Windows muchas veces es necesario que los cgis creados en Perl tengan extensión .pl y no .cgi), y se hace agregando un nuevo elemento, y añadiendo los siguientes datos:

Ejecutable: c:perlbinperl.exe %s %s
Extensión: pl
Método exclusión: PUT, DELETE
Motor de secuencias de comandos (desactivado)
Comprobar si el archivo existe (activado)

Una vez realizadas estas modificaciones, solo nos queda poner en marcha los tres sitios que acabamos de definir, y ya está todo listo para activar tres ventanitas de navegador, un WordPad y comenzar a programar y a volcar nuestras creaciones sin problemas.