• Publicidad

Script de Perl no se ejecuta al correrlo con el navegador

Todo lo relacionado con el desarrollo Web con Perl: desde CGI hasta Mojolicious

Script de Perl no se ejecuta al correrlo con el navegador

Notapor jrcarranza » 2009-09-10 08:25 @392

¡Hola!

Tengo un Debian con Apache2, PHP y Perl.

En Apache tengo la siguiente configuración:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
  ScriptAlias /cgi-bin/ /var/www/ppr/cgi-bin/
  <Directory "/var/www/ppr/cgi-bin/">
      AllowOverride None
      Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
      Order allow,deny
      Allow from all
  </Directory>
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Y dentro de esa carpeta tengo un script en Perl; si lo ejecuto desde la consola me corre perfectamente y los resultados son satisfactorios, de hecho si lo redirecciono a un archivo html y lo abro, éste me genera el resultado que deseo, pero al ejecutarlo en el navegador, en lugar de desplegar la información, lo que hace es habilitármelo para descargarlo, como si fuese un archivo de descarga.

Y si lo descargo, el contenido es el script como tal, no el resultado que debe generarme.

Los permisos del archivo son los siguientes:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
-rwxrwxrwx 1 www-data www-data 14203 2009-09-02 12:15 estadisticas.pl
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Instalé varios módulos pero todo sigue igual
Los módulos que instalé son:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
libapache2-mod-perl2
libcgi-perl
libapache2-mod-fastcgi
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Los logs de Apache solamente dicen cuándo carga el PHP que lo contiene:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
201.196.199.46 - - [10/Sep/2009:07:22:01 -0600] "GET /admin/CUSTOM_Estadisticas.php HTTP/1.1" 200 6457
201.196.199.46 - - [10/Sep/2009:07:22:01 -0600] "GET /admin/CUSTOM_Estadisticas.php HTTP/1.1" 200 6457
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Ya no se me ocurre qué más hacer; he revisado en el foro, pero lo que he visto son casos donde son de permisos y al ejecutarlo da error de permisos, pero ese no es mi caso.

Gracias de antemano.
Última edición por explorer el 2009-09-10 11:24 @516, editado 1 vez en total
Razón: Ortografía, sintaxis, bloques de código
jrcarranza
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2009-09-10 08:09 @381

Publicidad

Re: Script de Perl no se ejecuta al correrlo con el navegador

Notapor monoswim » 2009-09-10 10:35 @482

En Debian y derivados creo que tienes que instalar un paquete que se llama algo así como

atp-get apache-perl

Búscalo en Google que hay muuucha información...

Saludos
MonoSwim
Perl Programming Language
Avatar de Usuario
monoswim
Perlero nuevo
Perlero nuevo
 
Mensajes: 452
Registrado: 2003-11-18 16:13 @717
Ubicación: Buenos Aires

Re: Script de Perl no se ejecuta al correrlo con el navegador

Notapor explorer » 2009-09-10 11:40 @527

Bienvenido a los foros de Perl en Español, jrcarranza.

La configuración de Apache que has mostrado es para activar la ejecución de CGI dentro de la carpeta /cgi-bin/, así que se supone que el URL que usa el PHP será algo como http://www.er-dominio.com/cgi-bin/programa.pl

Sería interesante ver la línea del PHP que hace la llamada. ¿Qué pasa si llamas al CGI de forma directa desde el navegador? En ese caso podrías ver los errores de funcionamiento en los ficheros de registro de funcionamiento del servidor web.

Te recomiendo que los permisos de ejecución, tanto del programa como de la carpeta cgi-bin sea 755. Los que tienes puestos ahora permitirían a cualquier usuario del sistema borrar el programa.

El único módulo que te hace falta instalar para ejecutar CGI en el Apache es el mod_cgi, pero ya viene instalado de base en las distribuciones normales de Apache. Solo es necesario que exista la línea ScriptAlias (aunque no es la única forma).

¿Has probado mi CGI mínimo para comprobar que el sistema de CGI te funciona?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Script de Perl no se ejecuta al correrlo con el navegador

Notapor jrcarranza » 2009-09-10 13:09 @589

¡Hola!
Instalé apache-perl y ahora sí me funciona.

Lo que me extraña es que me parece que es para apache1.3.

Gracias.
jrcarranza
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2009-09-10 08:09 @381

Re: Script de Perl no se ejecuta al correrlo con el navegador

Notapor explorer » 2009-09-10 13:57 @623

El paquete apache-perl de Debian instala el módulo mod_perl para Apache 1.3, efectivamente.

Lo más seguro es que la instalación de ese módulo te haya modificado el fichero de configuración, porque uno de los módulos de los que depende es apache-common, que instala esos ficheros :)
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Web

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 12 invitados