Apache2 "Options ExecCGI is off in this directory" [Solucionado]

Buenas a todos, hacia tiempo que no entraba y esta vez en lugar de para moderar va para alguno que sepa de ese error que marco arriba os cuento

He instalado perl sobre mi servidor apache2, al principio tenia el problema de que se me descargaban los archivos .pl en lugar de ejecutarse, eso lo solucioné, pero me encontre con el siguiente error y todo lo que he encontrado no me ha servido de mucho os cuento en algunos sitios indica que con poner estas lineas en el apache2.conf

AddHandler cgi-script .cgi .pl
<Files ~"\.pl$">
        Options +ExecCGI
</Files>

y estas otras en el VirtualHost sirven

        <Files ~ "\.(pl|cgi)$">
                SetHandler perl-script
                PerlResponseHandler ModPerl::Registry
                Options +ExecCGI
                PerlSendHeader On
        </Files>
        ScriptAlias /cgi-bin/ /var/www/problemaseleccion/cgi-bin/
        <Directory "/var/www/problemaseleccion/cgi-bin">
                AllowOverride AuthConfig FileInfo Options
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all 
        </Directory>

Pero no he conseguido nada la página que aparece es

Forbidden

You don't have permission to access /problemaseleccion/cgi-bin/muni.pl on this server.

Y En error.log aparece la siguiente linea

[Thu Oct 28 17:35:42 2010] [error] [client 127.0.0.1] Options ExecCGI is off in this directory: /var/www/problemaseleccion/cgi-bin/muni.pl

permisos del perl

-rwxr-xr-x 1 root root  637 oct 27 18:11 muni.pl

No se me ocurre que mas mirar, los permisos parecen correctos, solo decir que la página es de prueba y no requiere de autenticación a lo mejor tengo que cambiar el usuario y grupo y utilizar nobody no lo se, pero la verdad que no me ha resultado nada fácil encontrar lo que he encontrado hasta ahora.

Decir tambien que el perl desde consola funciona correctamente

Un saludo y gracias aunque sea solo por leerlo.

Continuo currando en ello typeo

[EDITADO]
Se me olvidaba mencionar que el error me da desde el navegador al accesar a http://127.0.0.1/problemaseleccion/cgi-bin/muni.pl

Y que este pl utiliza un template esto esta probado desde el shell perl y saca un html correcto con las cabeceras correctas.
[FIN EDITADO]

Hola tigreci, como andas tanto tiempo!? me alegra verte por aca!

Esa configuración la tienes dentro del /etc/apache2/apache2.conf, dentro del /etc/apache2/sites-available/tusitio o esta en el .htaccess?

Revisa si tienes habilitado el AllowOverride y que tienes dentro del .htaccess

Saludos!

Hola tigreci, he encontrado esto y los tiros parecen ir por lo que te indica Ariel de la ruta /etc/apache2/sites-available/tusitio

http://ubuntuforums.org/showthread.php?t=717047

El error.log te devuelve un error sobre el directorio /var/www/problemaseleccion/cgi-bin/muni.pl cuando ¿no debería ser /var/www/problemaseleccion/cgi-bin/? Es decir, muni.pl lo trata como directorio en lugar de fichero.

¿Pudiera ser que hayas escrito mal la ruta en algún archivo de configuración?

Saludos wink

Ariel escribió:

Hola tigreci, como andas tanto tiempo!? me alegra verte por aca!

Esa configuración la tienes dentro del /etc/apache2/apache2.conf, dentro del /etc/apache2/sites-available/tusitio o esta en el .htaccess?

Revisa si tienes habilitado el AllowOverride y que tienes dentro del .htaccess

Saludos!

Hola ariel mucho tiempo si he tenido muchos problemas porque aun estoy en paro y no tengo internet, ahora si tengo pero por la tarifa plana que tengo ahora con mi nueva linea de movil, si estoy escribiendo con un movil jeje, bueno comentarte que en el code pequeño se refiere al apache2.conf y el grande a la configuracion del site es decir site-available/site.

No utilizo .htaccess

cnicolas escribió:

Hola tigreci, he encontrado esto y los tiros parecen ir por lo que te indica Ariel de la ruta /etc/apache2/sites-available/tusitio

http://ubuntuforums.org/showthread.php?t=717047

Ya revise ese sitio, de echo lo saque de alli algunas cosas que me faltaban pero no me sirvio, pero gracias plr la ayuda de todos modos

quilloquepasa escribió:

El error.log te devuelve un error sobre el directorio /var/www/problemaseleccion/cgi-bin/muni.pl cuando ¿no debería ser /var/www/problemaseleccion/cgi-bin/? Es decir, muni.pl lo trata como directorio en lugar de fichero.

¿Pudiera ser que hayas escrito mal la ruta en algún archivo de configuración?

Saludos wink

Revise las rutas y son correctas continuo revisando a ver que puede ser. Gracias a todos

encontre el problema, tenia que eliminar las comillas de ambos archivos de configuracion y aparte en apache2.conf me faltaba un espacio en blanco
apache2.conf

AddHandler cgi-script .cgi .pl
#antes habia esto<Files ~"\.pl$">
<Files ~ \.pl$>
        Options +ExecCGI
</Files>

VirtualHost

        <Files ~ \.(pl|cgi)$>
                SetHandler perl-script
                PerlResponseHandler ModPerl::Registry
                Options +ExecCGI
                PerlSendHeader On
        </Files>
        ScriptAlias /cgi-bin/ /var/www/problemaseleccion/cgi-bin/
        <Directory /var/www/problemaseleccion/cgi-bin>
                AllowOverride AuthConfig FileInfo Options
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all 
        </Directory>

muchas gracias a todos marco el hilo como solucionado

¿Usas mod_perl para Apache o sólo vas a ejecutarlos como un CGI corriente?

Ya veo que llegué tarde, me alegra que lo solucionaras.

nerve_net escribió:

¿Usas mod_perl para Apache o sólo vas a ejecutarlos como un CGI corriente?

Ya veo que llegué tarde, me alegra que lo solucionaras.

Nunca es tarde, es algo que no mencioné y estaria bien aclararlo utilizo mod_perl

Tigreci escribió:
nerve_net escribió:

¿Usas mod_perl para Apache o sólo vas a ejecutarlos como un CGI corriente?

Ya veo que llegué tarde, me alegra que lo solucionaras.

Nunca es tarde, es algo que no mencioné y estaria bien aclararlo utilizo mod_perl

Lo pregunto por que hace poco instalé mod_perl y tuve problemas para configurarlo pues la documentación existente no está al día en mi opinión.

Actualmente tengo dos directorios cgi, uno con y otro sin mod_perl, así puedo ejecutar y probar los scripts perl en ambas situaciones para verificar errores y detectar posibles problemas.