Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Mundo Perl » Web » Script de Perl no se ejecuta al correrlo con el navegador  RESUELTO Responder al tema
Nuevo tema


Página 1 de 1  [ 5 mensajes ] 
 
Nota 2009-09-10 08:25 @392

Perlero Nuevo
Registrado: 2009-09-10 08:09 @381
Mensajes: 2
Script de Perl no se ejecuta al correrlo con el navegador
¡Hola!

Tengo un Debian con Apache2, PHP y Perl.

En Apache tengo la siguiente configuración:

Syntax: [ Download ] [ Hide ]
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>


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:
Syntax: [ Download ] [ Hide ]
Using text Syntax Highlighting
-rwxrwxrwx 1 www-data www-data 14203 2009-09-02 12:15 estadisticas.pl


Instalé varios módulos pero todo sigue igual
Los módulos que instalé son:
Syntax: [ Download ] [ Hide ]
Using text Syntax Highlighting
libapache2-mod-perl2
libcgi-perl
libapache2-mod-fastcgi


Los logs de Apache solamente dicen cuándo carga el PHP que lo contiene:
Syntax: [ Download ] [ Hide ]
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


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
Ortografía, sintaxis, bloques de código


Nota 2009-09-10 10:35 @482
Avatar de Usuario
Vive para Perl en Español
Registrado: 2003-11-18 16:13 @717
Ubicación: Buenos Aires
Mensajes: 455
Re: Script de Perl no se ejecuta al correrlo con el navegador  RESUELTO
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


Nota 2009-09-10 11:40 @527
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10272
Re: Script de Perl no se ejecuta al correrlo con el navegador
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


Nota 2009-09-10 13:09 @589

Perlero Nuevo
Registrado: 2009-09-10 08:09 @381
Mensajes: 2
Re: Script de Perl no se ejecuta al correrlo con el navegador
¡Hola!
Instalé apache-perl y ahora sí me funciona.

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

Gracias.


Nota 2009-09-10 13:57 @623
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10272
Re: Script de Perl no se ejecuta al correrlo con el navegador
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


Responder al tema  [ 5 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO