• Publicidad

Pasos para crear una aplicación CGI en Tomcat

Todo lo relacionado con el desarrollo Web con Perl: desde CGI hasta Mojolicious

Pasos para crear una aplicación CGI en Tomcat

Notapor HIRONAKAMURA » 2013-07-22 15:04 @669

He seguido estos pasos:

1. Modificar el archivo context.xml
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. <Context privileged="true"> ...
  2.  
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


2. Modificar el archivo web.xml, descomentando lo referente a cgi

3. Crear el archivo "ejecutable.cgi", lo coloco en webapps/ROOT/miCarpeta/WEB-INF/cgi/ejecutable.cgi

El archivo "ejecutable,cgi" es el siguiente:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!c:/perl/bin/perl.exe
  2. print "Content-type:text/html\r\n\r\n";
  3. print '<html>';
  4. print '<head>';
  5. print '<title>Hola desde un script Perl</title>';
  6. print '</head>';
  7. print '<body>';
  8. print '<h2>Primer programa CGI</h2>';
  9. print '</body>';
  10. print '</html>';
  11.  
  12. 1;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4



El servidor es Apache Tomcat, funciona correctamente, el problema es que este archivo se muestra como archivo plano y no como página HTML.
Avatar de Usuario
HIRONAKAMURA
Perlero nuevo
Perlero nuevo
 
Mensajes: 20
Registrado: 2013-04-23 15:19 @680
Ubicación: México

Publicidad

Re: Pasos para crear una aplicación CGI en Tomcat

Notapor explorer » 2013-07-22 18:02 @793

Yo no usaría Tomcat para servir CGI ni aún que me pagaran, pero bueno, soporte tiene. Antes, lo haría con un simple Apache httpd. Es más fácil de configurar, y permite colocar los cgi en más de un sitio.

De todo lo que has hecho, si el cgi se muestra en texto plano, es que, quizás, no has colocado el cgi en el directorio correcto. O que no se ha activado el servlet org.apache.catalina.servlets.CGIServlet. O que el Context no está marcado como privilegiado...

En fin, un rollo.

Repasa la configuración.

En mi máquina, la configuración es esta:
Sintáxis: [ Descargar ] [ Ocultar ]
Using xml Syntax Highlighting
  1.     <servlet>
  2.         <servlet-name>cgi</servlet-name>
  3.         <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
  4.         <init-param>
  5.           <param-name>debug</param-name>
  6.           <param-value>0</param-value>  
  7.         </init-param>
  8.         <init-param>
  9.           <param-name>cgiPathPrefix</param-name>
  10.           <param-value>WEB-INF/cgi</param-value>
  11.         </init-param>
  12.          <load-on-startup>5</load-on-startup>
  13.     </servlet>
  14.  
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
(que está comentada, porque de los cgi ya se encarga el propio Apache).

Lo que no tengo idea es cómo relacionar los URL a este servlet... En algunos sitios dice que /cgi y en otros, que es /cgi-bin

Prueba a activar el debug, rearrancar el Tomcat, y ver la salida del catalina.log, a ver qué dice.

El programa Perl lo veo bien. Lo único, que con el uso del modulo CGI, se puede reducir bastante.
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!c:/perl/bin/perl.exe
  2. use CGI ':standard';
  3. print
  4.     header,
  5.     start_html('Hola desde un script Perl'),
  6.     h2('Primer programa CGI'),
  7.     end_html,
  8.     ;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Pasos para crear una aplicación CGI en Tomcat

Notapor danimera » 2013-07-22 18:03 @794

Pues, lastimosamente, no está funcionando correctamente.

No sé mucho de Tomcat, pero vi este enlace:
http://codigoaldescubierto.wordpress.com/2008/02/24/cgis-en-tomcat-bajo-windows/

Ahora, de alguna forma tienes que decirle al Tomcat que los ficheros .cgi o .pl los ejecute con Perl...

Bueno, es todo lo que puedo aportar.
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Re: Pasos para crear una aplicación CGI en Tomcat

Notapor explorer » 2013-07-22 18:12 @800

Gracias al aporte de danimera, sabemos que hay una segunda parte en el web.xml que hay que descomentar:
Sintáxis: [ Descargar ] [ Ocultar ]
Using xml Syntax Highlighting
  1.     <servlet-mapping>
  2.         <servlet-name>cgi</servlet-name>
  3.         <url-pattern>/cgi-bin/*</url-pattern>
  4.     </servlet-mapping>
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Y esa es la parte que justamente dice la URL que hay que usar para que funcionen los cgi...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Pasos para crear una aplicación CGI en Tomcat

Notapor HIRONAKAMURA » 2013-07-23 10:56 @497

Gracias por responder, voy a seguir intentando.
Avatar de Usuario
HIRONAKAMURA
Perlero nuevo
Perlero nuevo
 
Mensajes: 20
Registrado: 2013-04-23 15:19 @680
Ubicación: México

Re: Pasos para crear una aplicación CGI en Tomcat

Notapor HIRONAKAMURA » 2013-07-23 11:17 @512

¿Existe otra forma de hacer esto?

Ya seguí los pasos de estas páginas:

http://mischorradas.nishilua.com/2007/1 ... -en-linux/

http://codigoaldescubierto.wordpress.co ... o-windows/

Y nada, todo sigue igual: el archivo se muestra como texto plano.

Gracias.
Avatar de Usuario
HIRONAKAMURA
Perlero nuevo
Perlero nuevo
 
Mensajes: 20
Registrado: 2013-04-23 15:19 @680
Ubicación: México

Re: Pasos para crear una aplicación CGI en Tomcat

Notapor explorer » 2013-07-23 11:44 @531

Resumen (que depende además, de la instalación Tomcat en particular)
  • editar web.xml y descomentar las dos partes relativas a CGI
  • ir al directorio indicado por la primera parte, y colocar allí nuestro cgi
  • reiniciar el Tomcat (o quizás, darle la orden de que recargue los servlet)
  • ir al navegador web, y apuntar a la URL indicada por la segunda parte descomentada
Si le has puesto un '1' al parámetro 'debug' (en la primera parte descomentada) deberías ver algún mensaje de depuración, en el catalina.log.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Pasos para crear una aplicación CGI en Tomcat

Notapor HIRONAKAMURA » 2013-07-26 11:40 @528

Ya he seguido pasos a paso y sigue el mismo problema.

¿Existe otra alternativa sin usar Tomcat?

Gracias por responder.
Avatar de Usuario
HIRONAKAMURA
Perlero nuevo
Perlero nuevo
 
Mensajes: 20
Registrado: 2013-04-23 15:19 @680
Ubicación: México

Re: Pasos para crear una aplicación CGI en Tomcat

Notapor explorer » 2013-07-26 12:22 @557

¿No sale nada en catalina.out? Increíble...

La comentada antes: Apache (hilo). Más hilos.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Pasos para crear una aplicación CGI en Tomcat

Notapor HIRONAKAMURA » 2013-07-29 21:40 @944

Gracias por los enlaces.
Avatar de Usuario
HIRONAKAMURA
Perlero nuevo
Perlero nuevo
 
Mensajes: 20
Registrado: 2013-04-23 15:19 @680
Ubicación: México


Volver a Web

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados