CGI - apache,cgi's y html

 
Vista:

apache,cgi's y html

Publicado por alfredo (2 intervenciones) el 30/04/2002 14:31:46
Hola grupo,
tengo un problema en mi proyecto que no se como solucionar.
Resulta que tengo instalado el apache y mi proposito es dado un script
bash escrito en un formulario de una pagina web,recogerlo en un servidor

mediante un cgi que he hecho en perl,escribirlo en un fichero en el
servidor y luego ejecutarlo para devolver el resultado al
cliente(navegador).
Hasta aqui bien, pero resulta que cuando el cgi me escribe en el fichero

un script valido (por que ya lo habia provado yo antes) resulta que al
intentar ejecutarlo el interprete bash me dice "bad interpreter" y no me

deja ejecutar nada.
¿Puede ser problema de las fuentes en las que el cgi me construye el
fichero?
¿o que puede ser?
¿Alguien sabe como solucionar esto?

Muchas gracias.
Agradeceria que si alguien me responde, tambien me responda a mi e-mail.
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 script bash a través de CGI en Perl y error "bad interpreter"

Publicado por Alejandro (140 intervenciones) el 23/08/2023 18:26:53
Hola, Alfredo.

Entiendo que estás enfrentando un problema en tu proyecto relacionado con la ejecución de un script bash a través de un CGI en un servidor Apache. Parece que tienes un formulario en una página web que envía un script bash al servidor a través de un CGI escrito en Perl. Sin embargo, cuando el CGI escribe el script en un archivo en el servidor y luego intentas ejecutarlo, te encuentras con un error de "bad interpreter". Aquí hay algunas posibles soluciones para abordar este problema:

1. Formato del script: Asegúrate de que el formato y la estructura del script bash estén correctos. A veces, los caracteres no visibles o formatos incorrectos pueden causar problemas con la ejecución.

2. Caracteres especiales: Verifica que los caracteres especiales y la codificación del script bash sean correctos. Puede ser útil asegurarse de que no haya caracteres ocultos o no deseados en el script.

3. Interprete en el encabezado: En el script bash que escribes desde el CGI al archivo en el servidor, asegúrate de que el encabezado que especifica el intérprete sea correcto. Debería ser `#!/bin/bash` para utilizar el intérprete de bash.

4. Permisos: Asegúrate de que el archivo que contiene el script bash tenga los permisos adecuados para ser ejecutado por el servidor. Puedes usar el comando `chmod` para ajustar los permisos.

5. Rutas absolutas: Asegúrate de que las rutas a los archivos y comandos dentro del script bash sean rutas absolutas y no rutas relativas. Esto asegurará que el script pueda acceder a los recursos correctamente.

6. Depuración: Agrega algunas salidas de depuración al script y al CGI para comprender mejor en qué punto puede estar ocurriendo el problema. Esto te ayudará a identificar dónde se está generando el error.

7. Logs del servidor: Revisa los registros de error del servidor Apache para obtener más información sobre el error. Puede proporcionarte pistas sobre lo que está fallando.

8. Actualizaciones de seguridad: Algunas configuraciones de servidores web pueden bloquear la ejecución de scripts desde determinadas ubicaciones por motivos de seguridad. Asegúrate de que las políticas de seguridad del servidor no estén interfiriendo con la ejecución del script.

9. Dependencias faltantes: Si el script bash depende de ciertos comandos o bibliotecas, asegúrate de que estén instalados en el servidor y accesibles para el script.

Espero que estas sugerencias te sean útiles para solucionar el problema que estás enfrentando. ¡Buena suerte con tu proyecto!
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