Foros del Web » Administración de Sistemas » Software para Servers »

configuracion cgi-bin en apache

Estas en el tema de configuracion cgi-bin en apache en el foro de Software para Servers en Foros del Web. Hola amigos forosdelweb, tengo una duda y espero que me puedan ayudar,,, Tengo una instalacion limpia, sobre Windows de Apache2, la cual configuré correctamente PHP5, ...
  #1 (permalink)  
Antiguo 31/10/2011, 20:49
Avatar de sublevar  
Fecha de Ingreso: diciembre-2010
Mensajes: 29
Antigüedad: 13 años, 10 meses
Puntos: 1
configuracion cgi-bin en apache

Hola amigos forosdelweb, tengo una duda y espero que me puedan ayudar,,,

Tengo una instalacion limpia, sobre Windows de Apache2, la cual configuré correctamente PHP5, MySQL5, PHPmyadmin, Postgres8.4,,,

Lo tengo muy bien ordenado en una carpeta que se llama servidor,,,

Configuré el apache para que los archivos php y html sean leidos de una carpeta que le llamé www,,,

Ahora quiero visualizar archivos de perl con apache y en la configuración del apache tengo que alojar los archivos en la carpeta cgi-bin, entonces lo que quiero es que los archivos .cgi o .pl sean leidos por apache desde la carpeta www, junto con los demás,,,

Mi pregunta es ¿se puede cambiar de cgi-bin a www, como ya lo hice de htdocs a www? y si me pueden guiar a hacerlo,,,

Saludos!!
  #2 (permalink)  
Antiguo 01/11/2011, 10:13
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: configuracion cgi-bin en apache

En primer lugar a
Cita:
PHP5, MySQL5, PHPmyadmin, Postgres8.4,,,
Deberías agregarle la instalación de Perl (http://www.activestate.com/activeperl/downloads)


La carpeta cgi-bin tiene una característica especial en la instalación por defecto de Apache, es una carpeta dónde todo se ejecuta, por lo que allí solo podrias poner tus pl y ó Cgi, y está definida como un alias con la directiva
ScriptAlias /cgi-bin/ "/www/cgi-bin/"
Podrías ubicarla incluso por fuera de www., y dado que alli tood se ejecuta no podrias poner alli imagenes u otro contenido.

Para poder procesar tus cgi, pl fuera de cgi-bin, en www ó uno de sus subdirectorios, tenes que agregar
Options +ExecCgi, ya sea a traves de un bloque directory en httpd.conf o directamente en .htaccess

Para ambos casos tenes que tener habilitado
AddHandler cgi-script .cgi .pl .py
(en mi ejempo tambien habilité las scripts de Phyton.

Un último detalle, cuando instales ActivePerl, asegurate de dejar la opción que dice algo como
"agregar extensiones al registro de windows" (eso hace que las scripts pl se asocien al ejecutable perl.exe), creo que por defecto no lo hace para la extensión cgi, asi que tenes que hacerlo manualmente y que en el archivo /conf/extra/Perl.conf esté habilitado
ScriptInterpreterSource Registry
Esto es importante para que no tengas que modificar la ruta a perl en tus scripts, la script

Código Python:
Ver original
  1. #!/usr/bin/perl.exe
  2. ##
  3. ##  printenv -- demo CGI program which just prints its environment
  4. ##
  5.  
  6. print "Content-type: text/plain; charset=iso-8859-1\n\n";
  7. foreach $var (sort(keys(%ENV))) {
  8.     $val = $ENV{$var};
  9.     $val =~ s|\n|\\n|g;
  10.     $val =~ s|"|\\"|g;
  11.     print "${var}=\"${val}\"\n";
  12. }

va a funcionar aun cuando no exista
#!/usr/bin/perl

y te va a facilitar las cosas si subis esa script a tu servidor web en internet

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: apache, php, servidor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:01.