• Publicidad

Mi navegador no reconoce los .pl ni tampoco .cgi

Soporte y ayuda relacionada con el uso de nuestro sitio y su reglamento.

Mi navegador no reconoce los .pl ni tampoco .cgi

Notapor luisjimgon » 2013-11-09 12:32 @564

Hola, me instalé el Ubuntu Destkop 12.04 LTS (pero también tengo Windows 7). Tengo que decir que nunca había usado Ubuntu.
Utilizo el Ubuntu para crear páginas web (tareas de universidad). Me instalé el Apache, el Perl... y al momento de poner en el navegador:

http://localhost/public_html/pagina.html

me aparece un formulario que yo creé (hasta ahí todo bien). El problema es que al momento de ingresar los datos de mi formulario y dar en "enviar" me tiene que llevar a:

http://localhost/public_html/cgi-bin/pr ... perar=suma

con un mensaje que me diga la suma de los números, pero me aparece esto:

Forbidden

You don't have permission to access /public_html/cgi-bin/programa.pl on this server.
Apache/2.2.22 (Ubuntu) Server at localhost Port 80


Me podrían ayudar por favor.. Le di permisos a todas las carpetas y archivos y me sigue apareciendo eso. Gracias.
luisjimgon
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2013-11-09 12:14 @551

Publicidad

Re: Mi navegador no reconoce los .pl ni tampoco .cgi

Notapor explorer » 2013-11-09 12:55 @580

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

No tenías que haber instalado Perl, porque, por defecto, ya tendría que venir instalado (está en todos los Linux).

¿Le has dado permisos de ejecución a /usr/lib/cgi-bin/programa.pl?

Prueba con un

chmod 755 /usr/lib/cgi-bin/programa.pl
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Mi navegador no reconoce los .pl ni tampoco .cgi

Notapor luisjimgon » 2013-11-09 13:41 @612

Gracias por la respuesta. Pues pensé que por lo que "no tenía el perl instalado" era mi problema y busqué tutoriales en youtube y encontré un vídeo de instalación.

He puesto chmod 755 /usr/lib/cgi-bin/programa.pl

pero da un error. Me dice que el directorio no existe, pero sí cree el cgi-bin/programa.pl

Está en esta dirección, ¿lo habrá creado mal?

/var/www/public_html/cgi-bin/programa.pl
luisjimgon
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2013-11-09 12:14 @551

Re: Mi navegador no reconoce los .pl ni tampoco .cgi

Notapor explorer » 2013-11-09 15:12 @675

El Apache tiene activada la ejecución de CGI en el directorio /usr/lib/cgi-bin. Si vas a colocar los CGI en otro directorio, se lo tienes que decir.

Por ejemplo, en mi /etc/apache2/httpd.conf tengo puestas estas líneas:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
## CGI. Configuración para todos los dominios
AddHandler cgi-script .cgi .sh .pl .ida

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
#ScriptAlias /cgi/     /usr/lib/cgi-bin/

<Directory "/usr/lib/cgi-bin/">
    AllowOverride None
    Options ExecCGI FollowSymLinks -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

<Directory "/home/*/cgi">
        AllowOverride Options
        Options +ExecCGI
        SetHandler cgi-script
</Directory>
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4

El AddHandler relaciona las extensiones de los archivos con la ejecución de CGI. Sólo con esto sería suficiente como para poder ejecutar CGI en cualquier parte, pero puede que ciertos directorios estén protegidos de esa ejecución.

ScriptAlias relaciona la parte final de la URL con el directorio donde queremos que mire por los CGI del sistema (los que no pertenecen a un usuario en particular.

Los dos Directory definen los dos lugares donde se pueden encontrar los CGI, y los permisos de ejecución de ellos. El primero se refiere al directorio del sistema, y el segundo a los directorios cgi/ dentro de los home de los usuarios. En los dos casos, lo que nos interesa es activar la ejecución de CGI (+ExecCGI). En el segundo, además, indicamos que todos los archivos dentro de cgi/ serán ejecutables como CGI (con SetHandler).

Una vez puesto esto, y reiniciado el servidor Apache, tenemos

http://localhost/cgi-bin/programa.pl

para ejecutar el cgi programa.pl que está en /usr/lib/cgi-bin/, y

http://localhost/~usuario/cgi/programa.pl

para ejecutar el cgi programa.pl que está en la carpeta cgi/ dentro del directorio del usuario usuario.

Debes entrar en la configuración de tu Apache y ver dónde tienes que colocar los CGI. Si /var/www/public_html/cgi-bin/programa.pl es el directorio de los CGI del sistema, en la configuración del Apache debe tener activado el ExecCGI, y el AddHandler o el SetHandler.

En el /var/log/apache2/error.log tendrás más información de lo que está pasando.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Mi navegador no reconoce los .pl ni tampoco .cgi

Notapor luisjimgon » 2013-11-09 16:07 @713

muchas gracias :D me ayudó bastante , pero tengo unas dudas
-Cuando pongo http://localhost/cgi-bin/programa.pl me aparece el contenido(todo genial), pero en ¿donde esta la carpeta public_html? ¿cgi-bin no debería estar dentro de public_html para que el formulario de index.html mande sus datos a programa.pl de cgi-bin?

-¿cómo tener un usuario? , por ejemplo ~luis para que el navegador aparezca :

http://localhost/~luis/

y desde ahi pueda abrir mis paginas web, crear mi public_html y dentro el cgi-bin .También ¿cómo entraría a ~luis para poder crear , editar las carpetas y los archivos desde el terminal?.

Sé que son muchas preguntas pero es que no estoy muy familiarizado con ubuntu , antes lo hacia con el virtual box y el putty en windows 7. Gracias
luisjimgon
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2013-11-09 12:14 @551

Re: Mi navegador no reconoce los .pl ni tampoco .cgi

Notapor luisjimgon » 2013-11-09 16:14 @718

Disculpe la ignorancia pero ya está resuelto: ya puedo entrar a mi .pl con los datos mandados con el index.html:

http://localhost/cgi-bin/programa.pl

Lo único que no logro hacer es crear el usuario ~usuario. ¿Podría ayudarme en eso, por favor? :) Muchas Gracias por todo :D
luisjimgon
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2013-11-09 12:14 @551

Re: Mi navegador no reconoce los .pl ni tampoco .cgi

Notapor explorer » 2013-11-10 06:39 @319

JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Mi navegador no reconoce los .pl ni tampoco .cgi

Notapor jose carlos 84 » 2015-12-17 23:52 @036

Si quieres que te reconozcan los usuarios debes crear (al menos en Linux que es donde tengo mayor familiaridad) accesos en la carpeta /etc/apache2/mods-enabled de la carpeta /etc/apache2/mods-available de los archivos userdir.load y userdir.conf

Esto lo haces con el siguiente comando

sudo ln -s /etc/apache2/mods-available/userdir* .

Este comando lo ejecutas una vez que estés dentro de la carpeta mods-enabled (cd /etc/apache2/mods-enabled).

Ahora bien, si quieres verificar que se hayan creado los accesos correctamente le das un listado (ls -la) a mods-enabled/ y te tiene que aparecer algo así:

lrwxrwxrwx 1 root root 30 2007-07-03 10:41 userdir.conf -> ../mods-available/userdir.conf
lrwxrwxrwx 1 root root 30 2007-07-03 10:41 userdir.load -> ../mods-available/userdir.load

luego reinicias apache2 con

sudo /etc/init.d/apache2 restart

Para acceder a tus cgi debes escribir en la barra de dirección de tu navegador localhost/~nombreDeUsuario/cgi-bin/cgi.pl

De antemano tienes que tener creado la carpeta public-html en tu usuario y en esa carpeta debe de estar cgi-bin

Espero que te ayude. Saludos.
jose carlos 84
Perlero nuevo
Perlero nuevo
 
Mensajes: 3
Registrado: 2015-12-11 22:29 @979


Volver a Ayuda de Perl en Español

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron