CGI - Ejecutar CGI en linux

 
Vista:
sin imagen de perfil

Ejecutar CGI en linux

Publicado por Guillermo Contreras (1 intervención) el 09/03/2011 13:03:21
Amigos de LWP,
Junto con saludarlos, quisiera pedir de vuestra ayuda, después de darme muchos cabezazos en mi escritorio, quisiera contarle lo siguiente:

Estoy implementando la ejecución de CGIs en mi apache tomcat cuyo sistema operativo es linux Ubuntu, cual es el problema. hice un pequeño cgi en perl ("hola mundo") para verificar que se ejecutara y todo bien, imprimió por el navegador "Hola Mundo", pero este no es el problema,
en realidad debo ejecutar unos CGIs creo que están en C ó C++ (son componentes de un comercio electrónico), para ejecutar este CGI debo hacer una pequeña modificación y listo. Lo que pasa acá es que no termina de ejecutar mi CGI y la página queda en blanco, cuando realmente debería dirigir a una página de pago (tipo paypal, tarjetas de crédito, etc.)
La verdad ya no se por donde revisar, he verificado puertos, permisos de escritura, ejecución y no pasa nada :(, es por eso que recurro a ustedes por si me pueden dar una manito, les adjunto el fragmento del log.


Mar 8, 2011 3:17:10 PM org.apache.catalina.core.ApplicationContext log
INFO: cgi-bin: findCGI: path=/pago.cgi, /home/xx/xx/xx/xx/xx/WEB-INF/cgi-bin
Mar 8, 2011 3:17:10 PM org.apache.catalina.core.ApplicationContext log
INFO: cgi-bin: findCGI: currentLoc=/home/xx/xx/xx/xx/xx/WEB-INF/cgi-bin
Mar 8, 2011 3:17:10 PM org.apache.catalina.core.ApplicationContext log
INFO: cgi-bin: findCGI: currentLoc=/home/xx/xx/xx/xx/xx/WEB-INF/cgi-bin
Mar 8, 2011 3:17:10 PM org.apache.catalina.core.ApplicationContext log
INFO: cgi-bin: findCGI: FOUND cgi at /home/xx/xx/xx/xx/xx/WEB-INF/cgi-bin/pago.cgi
Mar 8, 2011 3:17:10 PM org.apache.catalina.core.ApplicationContext log
INFO: cgi-bin: findCGI calc: name=pago.cgi, path=/home/xx/xx/xx/xx/xx/WEB-INF/cgi-bin/pago.cgi, scriptname=/xx/cgi-bin/pago.cgi, cginame=/pago.cgi
Mar 8, 2011 3:17:10 PM org.apache.catalina.core.ApplicationContext log
INFO: cgi-bin: runCGI(envp=[{HTTP_USER_AGENT=Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15 ( .NET CLR 3.5.30729; .NET4.0E), HTTP_ACCEPT_ENCODING=gzip,deflate, REQUEST_METHOD=POST, AUTH_TYPE=, HTTP_ACCEPT_LANGUAGE=es-es,es;q=0.8,en-us;q=0.5,en;q=0.3, SCRIPT_FILENAME=/home/xx/xx/xx/xx/xx/WEB-INF/cgi-bin/pago.cgi, SERVER_NAME=000.000.000.000, SERVER_SOFTWARE=TOMCAT, HTTP_CONTENT_TYPE=application/x-www-form-urlencoded, HTTP_REFERER=http://xxx/xxx/pago.jsp?ac=BUaUJO%0D%0AM4a26BuQn1LSbAGWTY2Dy4iMho H36kU%3D, HTTP_KEEP_ALIVE=115, HTTP_ACCEPT_CHARSET=ISO-8859-1,utf-8;q=0.7,*;q=0.7, HTTP_HOST=xxx.xxx.xxx:8010, GATEWAY_INTERFACE=CGI/1.1, X_TOMCAT_SCRIPT_PATH=/home/xx/xx/xx/xx/xx/WEB-INF/cgi-bin/pago.cgi, REMOTE_ADDR=100.xx.xx.xx, SERVER_PROTOCOL=HTTP/1.1, PATH_INFO=, REMOTE_HOST=100.xx.xx.xx, QUERY_STRING=, HTTP_CONNECTION=keep-alive, REQUEST_URI=/xxx/cgi-bin/pago.cgi, SERVER_PORT=8010, HTTP_COOKIE=JSESSIONID=3FE12BB7AECC990A1FD318DE576 40FF4, CONTENT_TYPE=application/x-www-form-urlencoded, CONTENT_LENGTH=288, HTTP_CONTENT_LENGTH=288, HTTP_ACCEPT=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8, SCRIPT_NAME=/xxx/cgi-bin/tbk_bp_pago.cgi, REMOTE_USER=, REMOTE_IDENT=}], command=/home/xx/xx/xx/xx/xx/WEB-INF/cgi-bin/pago.cgi)


Si me pueden ayudar estaré eternamente agradecido
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Ejecución de CGI en Apache Tomcat

Publicado por Alejandro (140 intervenciones) el 25/08/2023 16:46:56
El fragmento del registro (log) que proporcionaste muestra que el servidor Apache Tomcat está intentando ejecutar el CGI `pago.cgi`. Sin embargo, parece que hay un problema con la ejecución y no se completa correctamente, lo que resulta en una página en blanco en lugar de la redirección esperada.

Aquí hay algunas cosas que podrías verificar para abordar este problema:

1. Permisos de ejecución:

Asegúrate de que el archivo `pago.cgi` tenga permisos de ejecución adecuados para que el servidor pueda ejecutarlo. Puedes usar el comando `chmod +x pago.cgi` para otorgar permisos de ejecución al archivo.

2. Ubicación de archivos:

Verifica que la ubicación de `pago.cgi` sea correcta y que esté en la ruta especificada en el registro. El archivo debe estar en la ubicación `/home/xx/xx/xx/xx/xx/WEB-INF/cgi-bin/` tal como se muestra en el registro.

3. Verificar dependencias:

Si el CGI `pago.cgi` está escrito en C o C++, asegúrate de que no haya dependencias faltantes para su ejecución. Los CGIs a menudo requieren ciertas bibliotecas y dependencias para funcionar correctamente. Asegúrate de que todas estas dependencias estén disponibles en tu sistema.

4. Errores en el CGI:

Verifica si hay algún error en el código del CGI `pago.cgi`. Un error en el script podría hacer que no se complete correctamente y cause una página en blanco.

5. Registro de errores:

Consulta los registros de errores de Apache Tomcat para ver si hay algún mensaje de error o advertencia relacionado con la ejecución del CGI. Esto podría proporcionar más detalles sobre por qué el CGI no se ejecuta correctamente.

6. Depuración del CGI:

Agrega instrucciones de depuración en el CGI `pago.cgi` para imprimir información a medida que se ejecuta. Esto te ayudará a identificar en qué punto del CGI se detiene o produce un error.

7. Consultar a expertos:

Si después de revisar todos estos aspectos aún no puedes resolver el problema, considera buscar ayuda de foros en línea, comunidades de desarrollo o expertos en CGI y Apache Tomcat. Pueden proporcionar ideas y sugerencias adicionales para abordar este problema específico.

Recuerda que trabajar con ejecución de CGIs en entornos como Apache Tomcat puede ser complejo debido a la interacción entre el servidor web y el CGI. La depuración minuciosa y la identificación de problemas específicos son esenciales para resolver este tipo de problemas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ejecutar CGI en linux

Publicado por Fernand700 (4 intervenciones) el 13/03/2024 17:12:50
El problema que estás experimentando parece estar relacionado con la ejecución del CGI en tu servidor Apache Tomcat. Aunque Tomcat está diseñado principalmente para servir aplicaciones web Java, también es posible ejecutar CGIs, aunque no es tan común como en otros servidores web como Apache HTTP Server.

Aquí hay algunas posibles causas y soluciones que podrías considerar para resolver el problema:

-Verifica los permisos de ejecución del CGI: Asegúrate de que el archivo CGI (pago.cgi) tenga permisos de ejecución adecuados para que el servidor pueda ejecutarlo. Puedes usar el comando chmod para configurar los permisos adecuadamente. Por ejemplo:

chmod +x pago.cgi

-Revisa el contenido del CGI: Asegúrate de que el script CGI esté correctamente escrito y no tenga errores de sintaxis. Puedes probar ejecutar el CGI directamente desde la línea de comandos para ver si produce resultados esperados.

-Verifica las variables de entorno: Revisa las variables de entorno que se pasan al CGI. En el fragmento de registro que proporcionaste, parece que se están pasando algunas variables de entorno relevantes (envp), pero asegúrate de que todas las variables necesarias estén configuradas correctamente.

-Registros y mensajes de error: Verifica los registros de Apache Tomcat para ver si hay mensajes de error o advertencias relacionados con la ejecución del CGI. Esto puede proporcionar información útil sobre lo que podría estar yendo mal.

-Configuración de CGI en Apache Tomcat: Asegúrate de que la configuración de Apache Tomcat permita la ejecución de CGIs. Esto puede implicar configurar adecuadamente los archivos de configuración de Tomcat para permitir el manejo de solicitudes CGI.

-Prueba con un script CGI simple: Si aún no lo has hecho, intenta ejecutar un script CGI simple en C o C++ para verificar si el problema es específico del CGI en cuestión o si se trata de un problema más general.




_____________________
Trabajo en Innobit
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar