Pregunta CGI....

Imagen de ch_linux

Forums: 

Q tal.. a todos.. miren tengo una pregunta...

Si yo hago un CGI en lenguaje C bajo linux, y quiero correr el mismo CGI bajo Windows con Apache... va a funcionar...???

O q configuración tengo q hacer.. en apache...

técnicamente debe trabajar

Imagen de Epe

técnicamente debe trabajar a no ser que llames a programas externos (sendmail por ejemplo) o que accedas a un directorio (/home/usuario/etc) pero por lo demás debe trabajar.

Debes tener activado el mod_perl y los cgis en tu apache, pero casi todos los apaches vienen con eso activado (en /var/www/cgi-bin posiblemente debes poner el script).

si tienes algún problema postea el mensaje aqui e indica qué haces, qué pones y qué error da para irnos guiando.

saludos
epe
--
http://www.EcuaLinux.com
(02) 3412402 - (09) 9246504

Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre

CGI.. sobre windows..

Imagen de ch_linux

Encontre una discusion.. sobre como configurar Apache para los cgi's

http://www.ecualug.org/?q=node/2317

Bueno.. asi q lo puse en práctica

mi archivo de configuración .. quedo asi. para lo de cgi

AllowOverride None
Options None
Order allow,deny
Allow from all

Options +ExecCGI

AddHandler cgi-script .cgi

Pero... al momento de ejecutar tengo lo siguiente
en el browser pongo http:://localhost/hola.cgi y tambien probe con http://localhost/cgi-bin/hola.cgi

en la una forma me sale..
__________________________________________
Forbidden

You don't have permission to access /hola.cgi on this server.
Apache/2.0.54 (Win32) Server at localhost Port 80
_______________________________________________________
en la otra
_______________________________________________________
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, admin@localhost.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
Apache/2.0.54 (Win32) Server at localhost Port 80
____________________________________________________________

y en los logs...

[Tue May 10 16:43:11 2005] [error] [client 127.0.0.1] Options ExecCGI is off in this directory: C:/Archivos de programa/Apache Group/Apache2/htdocs/hola.cgi

[Tue May 10 16:44:21 2005] [error] [client 127.0.0.1] C:/Archivos de programa/Apache Group/Apache2/cgi-bin/hola.cgi is not executable; ensure interpreted scripts have "#!" first line
[Tue May 10 16:44:21 2005] [error] [client 127.0.0.1] (9)Bad file descriptor: don't know how to spawn child process: C:/Archivos de programa/Apache Group/Apache2/cgi-bin/hola.cgi

OJO.. q mi CGI es hecho en C (el hola mundo)

Por eso mi pregunta... el cgi q compilo en linux.. podria funcionar bajo windows..???? o como hago q funcione...

Gracias...

C@rlos H.

Saludos.
C@rlos H.

Y ya lo probaste desde

Imagen de elhumano

Y ya lo probaste desde Linux?
Si no corrio desde
http://localhost/hola.cgi
es por que no configuraste las directivas de apache (script alias)..

Pero en el log cuando intentas correr desde:
http://localhost/cgi-bin/hola.cgi
Dice que no puede porque tu cgi no sirve..

Por que no tratas de correrlo en Linux para despejar dudas...

suerte

Pues si...

Imagen de ch_linux

Pues si corre.. bajo linux...

lo del primer error.. si fue por falla mia

ScriptAlias /cgi-bin/ "C:/Archivos de programa/Apache Group/Apache2/cgi-bin/"

bueno... ahora.. q puede estar mal..???

C@rlos H.

Saludos.
C@rlos H.

Pues ....

Imagen de ch_linux

Pues... creo q eso es un NO... se puede correr un CGI hecho en linux en Apache sobre Windows (Incluso el Hola Mundo :o) ), pero... por ahi me llego un rumor q IIS si lo permite.. pero estoy por probarlo y comprobarlo.

Gracias por su colaboración...

Suerte..

C@rlos H.

Linux: Fear the Penguin

Saludos.
C@rlos H.

CGI en Windows

Saludos a todos, espero estar por aquí con frecuencia.
Me parece que lo que están tratando de hacer es correr un cgi compilado para linux y luego (sin compilar bajo windows) correrlo en Windows y eso no es posible por las diferencias en arquitectura del sistema operativo. Un CGI es lo mismo que un ejecutable. Lo que debe hacerse es recompilar el programa hola mundo bajo Windows (yo sugiero yo utilizo dev-cpp de www.bloodshed.net software libre y opern source por supuesto, no faltaba más, ya saben mi aversión al Borland C), y cuando esté listo el ejecutable .exe renombrarlo como .cgi previamente probando. Un cgi es lo mismo que un ejecutable y es posible correrlo desde la linea de comando desde el sistema operativo para el cual fue creado. No se trata de transferir un CGI de un sistema operativo a otro sino de RECOMPILARLO para cada sistema operativo.
Si esto no arregla el problema, contactarme con mayores detalles o enviar el fuente para dar compilando y enviar el cgi listo para windows.

Ricardo Ortega
http://www.ricardoortega.com

Ricardo Ortega
Visite: http://www.ricardoortega.com

CGI hecho en Linux

Hola a todos. Ningún CGI ni programa compilado para Linux correrá en Windows a menos que dispongan de un emulador o máquina virtual (que sí existen pero que no sirven para este caso, asi que no doy detalles). Todo CGI debe recompilarse para cada sistema operativo. Sugiero usar DEV-CPP desde www.bloodshed.net, un excelente compilador C/C++ free & open source.

Ricardo Ortega
http://www.ricardoortega.com

Ricardo Ortega
Visite: http://www.ricardoortega.com

Recompilar CGI

Como aclaración, todo programa C debe ser recompilado para cada sistema operativo, pero este no es el caso de los lenguajes de scripts como PHP, PERL, TCL, etc. En este caso concreto se trata de un CGI escrito en C y por eso la obligación de RECOMPILAR el CGI para el sistema operativo de destino.
Ricardo Ortega
http://www.ricardoortega.com

Ricardo Ortega
Visite: http://www.ricardoortega.com

Gracias por la aclaración...

Imagen de ch_linux

Saludos Linuxeros...

Q tal..  pues.. el cgi lo hice completamente en linux.. ahora comence a probar bajo windows y ya funciono...  :) el CGI primero  lo estaba compilando en turbo C sin problema pero no corria el CGI, probe con DEV-CPP y funciono..!! y sin necesidad de utilizar IIS :)  y corre muy bien gracias por el consejo...

 

C@rlos H.

Saludos.
C@rlos H.