Foros del Web » Programación para mayores de 30 ;) » Programación General »

apache y perl

Estas en el tema de apache y perl en el foro de Programación General en Foros del Web. Estoi montando un servidor apache en win98 en el que tengo que colocar una pagina que ya existía. Esta web contiene paginas en cgi y ...
  #1 (permalink)  
Antiguo 02/06/2003, 02:44
 
Fecha de Ingreso: junio-2003
Mensajes: 4
Antigüedad: 20 años, 11 meses
Puntos: 0
apache y perl

Estoi montando un servidor apache en win98 en el que tengo que colocar una pagina que ya existía. Esta web contiene paginas en cgi y en html todas juntas y rebueltas en un árbol de directorios. ¿Cómo se puede configurar el apache para que ejecute las cgi solamente?

Se puede hacer con:
ScriptAlias /rutaFicticia/archivo.cgi "/rutaReal/archivo.cgi"

Pero son mas de 600 cgi .

Alguien me puede echar un cable
  #2 (permalink)  
Antiguo 02/06/2003, 09:48
 
Fecha de Ingreso: mayo-2003
Mensajes: 328
Antigüedad: 21 años
Puntos: 0
Hola:

Puedes cambiar los permisos de los CGi's si eso es lo que buscas con otro CGI (redundancia?)

Te voy a explicar la solucion que se me ocurre:

1. Crea un CGI que lea en tu directorio o directorios todos los archivos que terminen en .cgi o .pl

2. Haces un loop por cada archivo y puedes usar la función de chmod() para cambiar el permiso.

Te voy a poner un ejemplo de un script...

Código:
#!/usr/bin/perl -w

use strict;



my $dir = "/home/user/public_html/";  #Pon el directorio que quieres leer


#LEEMOS EL DIRECTORIO
opendir (DIR, $dir);
my @files = readdir(DIR);  #Salvamos los nombres en un array
closedir(DIR);


   #Iniciamos el loop
   foreach my $file(@files){
       next if $file =~ /^\.\.?$/;  #Vamos al siguiente archivo si es . o ..
       next if $file !~ /\.pl$/i;   #Siguiente archivo si no termina con .pl
       next if $file !~ /\.cgi$/i;  #Siguiente archivo si no termina con .cgi

       chmod(0755, "$dir" . "$file");  #Cambiamos el permiso
   }


exit(1); #Terminamos el proceso
Nota: Not uve chance de probar el código pero debe de funcionar

No se si sea esto lo que necesitas, pero por lo que entendi tu problema era en cambiar los permisos.

Saludos
  #3 (permalink)  
Antiguo 02/06/2003, 13:00
 
Fecha de Ingreso: junio-2003
Mensajes: 4
Antigüedad: 20 años, 11 meses
Puntos: 0
muchas gracias pero ya lo he conseguido con AddHandler, modificando:

# "C:/Apache2/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "C:/Inetpub/wwwroot/Html/">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>

y añadiendo la linea:

# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add "ExecCGI" to the "Options" directive.)
#
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
  #4 (permalink)  
Antiguo 02/06/2003, 14:29
 
Fecha de Ingreso: mayo-2003
Mensajes: 328
Antigüedad: 21 años
Puntos: 0
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 14:52.