• Publicidad

Ver resultados Linux

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Ver resultados Linux

Notapor zinwandago » 2007-04-24 12:17 @554

Hola.

Empiezo a decir que todo lo que se de Perl y CGI lo he aprendido en esta página. Entiendo él código gracias a las buenas explicaciones paso a paso que se le dan.

He aquí mi cuestión. Queriendo ver resultados yo instalé Linux Fedora. Después Apache, después los mod de Perl mediante yum.......¿me seguís?

Bueno. Intenté ver el resultado de un CGI en mi máquina, es decir, montar el script CGI:
profile.php?mode=activate&u=911&act_key=64b58c

Pero no lo consigo arrancar. Cuando lo ejecuto, me pierdo con los path; lo que se es:

En la carpeta /.../var/www/cgi-bin/codigo.cgi
Luego creo otra carpeta con dos archivos htpasswd y htacces, ¿pero dónde?

Yo no tengo servidor, lo hago en mi ordenador, en localhost... Si alguien me ha entendido, espero vuestra respuesta.

Resumiendo, ver resultados del script mencionado de crear usuarios y borrar usuarios sin tener que meterte en follones de servidores o algo así. Crear yo mis dos archivos de password y accesos en mi Pc, y sin Internet Online, hacer mis pruebas como va funcionado.

PD: ¡Pregunta larga! No seáis demasiado explícitos por favor.
¡Recordar siempre paso a paso!

Muchas gracias.
zinwandago
Perlero nuevo
Perlero nuevo
 
Mensajes: 35
Registrado: 2007-04-24 12:06 @545

Publicidad

Notapor explorer » 2007-04-24 12:37 @567

Bienvenido a los foros de Perl en Español.

Gracias por confiar en esto foro.

A la hora de trabajar con Linux y Apache, tienes que ir a revisar el fichero de configuración de este último. Normalmente estará en /etc/httpd/ o /etc/apache2/. Es un fichero de texto y allí está descrito todo el comportamiento del servidor web. Entre todo lo que ponga estará indicado la posición donde colocar los cgi.

Dices que es en la carpeta /var/www/cgi-bin/. Bueno, pues entonces se han de cumplir algunas condiciones:
* El usuario que ejecuta el servidor web tiene permiso de entrar y ejecutar scripts en ese directorio. Si la instalación de Fedora ha salido bien, este paso ya estará hecho.
* Los scripts dentro de ese directorio deben tener permiso de lectura y ejecución para el usuario que ejecuta el servidor. Lo normal es que haciendo un chmod 755 script.cgi vale.
* ¿Has ejecutado antes el script con un perl -c script.cgi para comprobar que su sintaxis es correcta?
* Los ficheros htpasswd se deben crear en el mismo directorio que se quieren proteger del acceso a usuarios no registrados.

Te queda un poquito por leer:
* Curso sobre CGI de Ovid, sobre todo el apéndice A.
* El manual de Apache, sobre todo la parte del htpasswd.

Dices que no tienes servidor pero en realidad si lo tienes: tu propio Linux con un Apache ya es un servidor web.
Última edición por explorer el 2007-04-24 14:44 @655, editado 1 vez en total
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

Notapor zinwandago » 2007-04-24 12:58 @582

Gracias Explorer, aunque te llamare el p***amo!!; voy a realizar los pasos que me ha aclarado en su respuesta, hay que cosas que no he realizado: como los permisos, comprobar la sintaxis...asi que eso es lo que voy a realizar.
Entiendo que el archivo htpasswd es como un 'protector' del fichero o carpeta donde se encuentra y protegue a todos los archivos de la carpeta donde esta ubicado.

1º Intentare Obtener la informacion del servidor web para saber a ciencia cierta donde colocar los *.cgi;
2ºAplicare las condicines antes mencionadas.

Para probarlo desde mi navegador, tambien tengo dudas;¿Que ruta debo de poner? La ruta completa de la ubicacion del cgi???

Voy a trabajar en ello.
zinwandago
Perlero nuevo
Perlero nuevo
 
Mensajes: 35
Registrado: 2007-04-24 12:06 @545

Notapor explorer » 2007-04-24 17:32 @772

La ruta del CGI también depende de lo que diga el fichero de configuración.

En la mayoría de los casos, bastará con referenciarlo como http://localhost/cgi-bin/script.cgi
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

Notapor zinwandago » 2007-04-25 04:47 @241

Saludos de nuevo;
Despues de parte de la noche trabajando y parte de la mañana,leyendo el apendice A de configuracion esto he progresado...
-Dí los permisos segun explorer.
-Chequeé la sintaxis de cgi,apareciendo Syntax OK.
-Localicé el fichero de configuracion del apache:
*Aqui me perdi con tanto codigo y lo unico que puede entender fue las lineas de ServerAdmin y DocumentRoot.
*Por lo que no sé que debo modificar aqui.O que debo de sacar de éste archivo de configuracion.
-Tambien deposite mi usuarios.cgi en concreto el de creacion de usuarios con sus permisos (755) en /usr/local/apche/cgi-bin/
-Tambien cree una carpeta clientes con los dos archivos necesarios:htpasswd y htacces,para protegerla.(Estos archivos los cree mediante cat)
-Despues edite el archivo htacces con vim e inserte las lineas:
AuthUserFile /usr/local/apche/cgi-bin/clientes/.htpasswd
AuthType Basic
AuthName "Seccion de Miembros"
require valid-user

-Despues me fui a mi navegador y con la ruta http://localhost/cgi-bin/usuarios.cgi y esto fue lo que me ocurrio,al principio aparecia la ventana en blanco y lista, pulse actualizar y me dio un error html 500 Internal Server Error.

A partir de aqui mi cabeza no me dá para más,creo que he realizado los pasos uno a uno y asegurandome de lo que hacia,pero estoy ahora totalmente parado.¿Que puede haber fallado?

Bueno y esto es todo amigos. Espero pronta respuesta.
Gracias.-
zinwandago
Perlero nuevo
Perlero nuevo
 
Mensajes: 35
Registrado: 2007-04-24 12:06 @545

Notapor zinwandago » 2007-04-25 05:04 @253

Lo olvidé:
Eso de copiar en forma binaria o e forma ascii??? Yo lo he echo todo desde la consola de comandos shell, mediante el comando "cp orig dest". La carpeta clientes la he creado con "mkdir clientes".
Y dentro de ella los dos archivos htpasswd y htacces los he creado con la opcion cat. Ej: "cat >htpasswd".
Y para editar htacces con "vim"

Si se tiene alguna duda ruego sobre mi cuestion no dudeis en hacermela saber.
zinwandago
Perlero nuevo
Perlero nuevo
 
Mensajes: 35
Registrado: 2007-04-24 12:06 @545

Notapor explorer » 2007-04-25 05:05 @254

Un sitio importante donde debes mirar SIEMPRE son los ficheros de registro de actividad del Apache, generalmente en /var/log/apache2 o /var/log/httpd/. Mira el de errores y el de actividad.

Del fichero de configuración, es muy largo, pero lo puedes ir leyendo tranquilamente hasta encontrar la información que buscas (o meterlo en un editor/paginador de texto y usar un método de búsqueda).

Quizás debas visitar algún HOW-TO o COMO que te servirá mejor de introducción: http://httpd.apache.org/docs/2.0/howto/cgi.html
http://www.desarrolloweb.com/manuales/41/
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

Notapor zinwandago » 2007-04-25 06:28 @311

Puffff,no hay manera Explorer; he rehusado a seguir probando desde linux. Así que he instalado apache en mi windows Xp,Active Perl y el editor DZsoft Perl.

Con el DZsoft Perl puedo ver los resultados de los script.cgi, dándole a la pestaña de run. He probado los script:
-http://perlenespanol.com/tutoriales/cgi/cgi_primeros_pasos.html
-http://perlenespanol.com/tutoriales/cgi/proteger_directorios_con_contrasena.html

Luego los he colocado en la carpeta X:\Apache\cgi-bin de mi pc. Y con el navegador he introducido la ruta,para ejecutarlos,poniendo por ejemplo:
http://localhost/cgi-bin/prueba.cgi
http://localhost/cgi-bin/protegeusuarios.cgi

Y me vuelve a salir 500 Internal Server Error.
¿que hago para probar los script desde mi navegador para ver q funcionan correctamente en mi servidor?
zinwandago
Perlero nuevo
Perlero nuevo
 
Mensajes: 35
Registrado: 2007-04-24 12:06 @545

Notapor zinwandago » 2007-04-25 06:33 @314

Lo olvidaba: para el segundo script http://localhost/cgi-bin/usuarios.cgi donde se insertan y borran usuarios es necesario crear una carpeta y dentro de ella dos archivos (htpasswd y htacess);eso como lo consigo.
Paso a paso para no perderme ahora aquí también.

Información:
Apache instalado en X:\Apache\...
Perl instalado en X:\Perl\...
Script copiados en X\Apache\cgi-bin\protegeusuarios.cgi

Eso es todo. Agradecería su orientación ahora más que nunca. Estoy desanimándome con la leche, de este servidor.
zinwandago
Perlero nuevo
Perlero nuevo
 
Mensajes: 35
Registrado: 2007-04-24 12:06 @545

Notapor explorer » 2007-04-25 07:18 @346

Da igual que sea Linux o Windows, Apache funcionará 'casi' igual.

Tu solución es: leer y constancia.

¿Qué dicen los registros de actividad? Ahí viene la explicación de por qué sale un error 500.
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

Siguiente

Volver a Básico

¿Quién está conectado?

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