Feeds:
Entradas
Comentarios

Posts Tagged ‘windows’

CGIs en TOMCAT

I. Introducción 

Debido al proyecto que estoy actualmente desarrollando me he visto en la tesitura de ser capaz de ejecutar CGIs (más concretamente scripts PERL) bajo WINDOWS. Muchos son los manuales que encontré aunque la mayoría no estaban escritos para torpes como yo (y, créanme, ¡las pasé canutas!). Tras estar varios días buscando y buscando logré hacer que funcionaran y me gustaría dejar bien claro qué pasos llevé a cabo para hacer que TOMCAT los ejecutara.

¿Por qué TOMCAT? Seguramente os lo estéis preguntando. Pues bien, me era necesario TOMCAT debido a que necesitaba ejecutar páginas en JSP. Ésto, APACHE no es capaz de ejecutarlos y se requiere de TOMCAT para hacer que funcione.

 

II. Requisitos previos

Los pasos que a continuación se detallan son comunes a todos los CGIs que se quieran ejecutar en TOMCAT. Pues bien, si quisieramos ejecutar scripts en PERL (que fue con lo que yo me tuve que enfrentar) tenemos que «capacitar» a WINDOWS para que sea capaz de ejecutar scripts en PERL. En caso de no capacitarlo, aunque lo configuremos adecuadamente, cuando queramos ejecutar el fichero .cgi, no lo reconocerá adecuadamente.

Por tanto, si lo que queremos es ejecutar scripts en PERL primero debemos descargarnos la aplicación adecuada para que se puedan ejecutar scripts PERL en WINDOWS. Se puede descargar de aquí.

En el caso de que queramos ejecutar otro lenguaje de programación, será necesario que el sistema operativo sea capaz de interpretarlo. No olvidarlo.

 

III. Instalación del servidor

Antes de nada, será necesario descargarse JAVA en el ordenador que queramos instalar el servidor. Yo, personalmente, me hago un lío entre JRE, JDK, J2SE, etc. ¡Imaginaos cuando entré en la página de descargas de JAVA! No sabía ni que descargarme. Pues bien, lo que necesitamos es simplemente ejecutar java, no queremos disponer de ningún entorno de desarrollo ni nada por el estilo. Por tanto, lo que os tenéis que descargar en este caso es JRE (Java Runtime Environment) que sirve, simplemente, para ejecutar JAVA en el ordenador. En mi caso me descargué la versión 6. Se puede descargar de aquí. Una vez descargado, lo instalais.

Lo que hay que hacer a continuación es bajarse el servidor TOMCAT. Para ello, el que usé para la instalación fue la versión 5.5. La podéis descargar de aquí.

Una vez descargado, debéis instalarlo. Cuando se está instalando, nos va a pedir donde tenemos instalado el JRE. Normalmente lo detectará solo, si no, hay que seleccionar la carpeta donde se haya instalado (Normalmente está en C:\Archivos de programa\Java\jre1.6.0_01).

Si no tocáis absolutamente nada, el puerto por defecto será el 8080. Es decir, cuando intentemos ejecutar una página web alojada en el ordenador deberemos poner la dirección escuchando en el puerto 8080. Es decir: http://localhost:8080/carpeta_web/index.jsp, por ejemplo.

 

IV. Visualización web

Antes de continuar, haré un pequeño inciso en donde alojar las páginas web para visualizarlas en el navegador. Yo me llevé un buen rato dándome errores de compilación de java (¡imaginaos la cara que se me ponía!) y era simplemente porque la carpeta estaba mal alojada dentro del servidor.

Pues bien, imaginemos que tenemos una página web alojada en una carpeta. Por ejemplo, la carpeta codigoaldescubierto.

Para alojar adecuadamente esa página dentro del servidor tendremos que entrar dentro de la carpeta asociada a TOMCAT para almacenar las diferentes páginas web. Si no hemos tocado nada cuando hemos instalado TOMCAT, por defecto será: C:\Archivos de programa\Apache Software Foundation\Tomcat 5.5\webapps.

Es decir, dentro de esa carpeta tendremos que copiar la carpeta codigoaldescubierto.

Para acceder a dicha página web, se deberá poner en el navegador lo siguiente: http://localhost:8080/codigoaldescubierto/index.html, por ejemplo.

 

V. Configuración de TOMCAT

Pues bien, cerremos ese pequeño paréntesis y dediquémonos a intentar configurar TOMCAT para que ejecute CGIs. Lo primero que hay que hacer es detener el servidor en el caso de que estuviera ejecutándose.

 

Modificación de web.xml 

Simplemente debeis acceder al fichero web.xml (Alojado en C:\Archivos de programa\Apache Software Foundation\Tomcat 5.5\conf) y descomentar las siguientes líneas de código:

<servlet>
     <servlet-name>cgi</servlet-name>
    <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
    <init-param>
          <param-name>debug</param-name>
          <param-value>0</param-value>
    </init-param>
    <init-param>
          <param-name>cgiPathPrefix</param-name>
          <param-value>WEB-INF/cgi</param-value>
    </init-param>
    <load-on-startup>5</load-on-startup>
</servlet>

Además, hay que descomentar lo siguiente:

<servlet-mapping>
      <servlet-name>cgi</servlet-name>
      <url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>
 

Con esto estamos diciendo a TOMCAT que todo lo que alojemos en la carpeta cgi-bin, lo redirecionará a la carpeta cgi que tendremos alojada dentro de WEB-INF (más tarde explicaremos más detalladamente como ejecutar el script).

 

Creación del fichero JAR 

Simplemente debeis renombrar el fichero servlets-cgi.renametojar a servlets-cgi.jar. ¿Dónde está alojado este fichero? Normalmente (para la versión 5.5) está alojado en C:\Archivos de programa\Apache Software Foundation\Tomcat 5.5\server\lib. Si no fuera así, simplemente debéis buscar donde está alojado.

 

Por último, arrancaremos el servidor que se encontraba detenido. ¡Ya estamos en disposición de probar nuestro primer CGI!

 

VI. Ejecución de los scripts

Una vez configurado TOMCAT, hay que ver si funciona correctamente. Para ello, lo primero que hay que hacer es distribuir adecuadamente la carpeta donde estará alojada la página web.

Un posible ejemplo de la distribución mínima puede ser (suponiendo que la carpeta es codigoaldescubierto):

codigoaldescubierto/
|__index.jsp
|__WEB-INF/
       |__ cgi/
              |__script.cgi

La idea es tener dentro de la carpeta cgi todos los scripts que queramos ejecutar. Imaginemos que tenemos un script denominado script.cgi que queremos ejecutar en nuestra página web. Pues bien, para acceder a dicho script, bastará con acceder a la siguiente URL: http://localhost:8080/codigoaldescubierto/cgi-bin/script.cgi 

 

VII. Referencias

Read Full Post »