HTMLpointHTMLpoint HTMLpoint.com


 Configurar Apache



Normalmente Apache, así como es, no está planificado para que pueda prohibir o permitir el acceso a los directorios. Por tanto, necesitaremos tres instrumentos: dos modificaciones para otros tantos archivos de configuración y un archivo .htaccess.

La primera modificación que tenemos que hacer está en el archivo "srm.conf": léamoslo hasta encontrar la línea que empieza por "AccessFileName". Este directorio menciona el nombre del archivo que hay que utilizar para leer los atributos que tenemos que dar a los directorios en los que estos archivos están. Teóricamente, el directorio se tendría que poner en marcha con ".htaccess", que es un nombre estándar (pero muy útil) para los servidores Apache. A lo mejor, alguien se preguntará para qué sirve el puntito delante del nombre. Pues, en los Unix todos los archivos que empiezan por un punto son archivos escondidos, que son visibles a través de la instrucción "ls", equivalente del "dir" del dos. Esconder un archivo tan importante siempre puede resultar útil.
Veamos como Apache interpreta tal directorio. Una vez decidido el nombre del archivo que abarca las instrucciones y reiniciado Apache para hacer efectivos los cambios, Apache irá a abuscar, por cada directorio llamado por un navegador, éste archivo del que leerá las instrucciones. Obviamente, si éste no está, Apache actuará como siempre. Si en cambio el archivo existe, Apache lo leerá y actuará consecuentemente. Si planificamos unas protecciones a través de una contraseña, Apache hará que el navegador visualice un cuadro en el que se piden el nombre del usuario y la contraseña, a través los que Apache puede averiguar o no la autenticidad del solicitante.

La segunda modificación que hay que poner en marcha está en el archivo access.conf. Leed también este archivo hasta llegar a la línea "AllowOverride": insertando un "AuthConfig" Apache pedirá la confirmación. Las posibilidades, además de ésta, son muchas de forma que se pueda perfeccionar el procedimiento de protección: si queréis saber más, leed el archivo manual/mod/core.html#allowoverride, que está en el directorio local de la documentación de Apache.

Reiniciado Apache, estaremos listos para preparar el archivo que será útil para proteger los directorios que nos interesan, que suponemos que son ".htaccess".

Imaginemos que queremos proteger el directorio remoto "http://localhost/prova", corrispondiente al directorio local "/var/www".

Primero, hay que crear un archivo ".htaccess" dentro de este directorio, y hay que escribir:

AuthName "prova"
AuthType Basic
AuthUserFile /etc/apache/passwd
require valid-user


Veamos las características del archivo:

La primera línea indica el nombre de la protección, en el cuadro que el navegador os mostrará, leeremos: "Enter username for prova at localhost". El tema, para decir la verdad, sería mucho más amplio. Hay que saber, sin embargo, que cualquier otro archivo o directorio protegido con el mismo nombre en AuthName será accesible sin la necesidad de poner en marcha más autorizaciones. La segunda línea indica el tipo de autorización a poner en marcha: actualmente, solamente la autorización del tipo "Basic" está implementada, aunque se esté ya trabajando una autorización "digest". La tercera línea indica el archivo que Apache leerá para averiguar si el nombre del usuario y la contraseña introducidos son correctos: profundizaremos este tema más adelante.
La cuarta línea, para acabar, controla los nombres de los usuarios: con "require valid-user" Apache aceptará cualquier nombre del usuario presente en el archivo detallado de AuthUserFile. En cambio, se podría limitar más el acceso, introduciendo los nombres de los usuarios a los que (y sólo éstos, independientemente de las entries existentes en AuthUserFile) el acceso está permitido. Así podéis escribir

require user nome1 nome2 nome3 ecc.

Además, es posible hacer referencia a los grupos, sobre todo cuando el número de los usuarios aumenta demasiado. Los grupos funcionan como los de los sistemas Unix y cada usuario puede formar parte de más grupos. Se podrá escribir algo parecido a:

require group nome_del_gruppo

Como con los usuarios, también en este caso se pueden especificar más nombres de grupos que se van a utilizar. Si, en cambio, se usa "require group" junto a "require user" ocurre una cosa parecida: cualquier usuario miembro de uno de los grupos indicados puede acceder, así como cada usuario específicamente expresado.

Como para los usuario creamos el archivo /etc/apache/passwd, tendremos que crear también un archivo para los grupos: éste, simplemente, estará formado por líneas del tipo:

nome_del_gruppo:nome1 nome2

Más cosas. Como hicimos con el archivo contraseña, tendremos que especificar a Apache a donde ir a leer los grupos y sus componentes: utilizaremos

AuthGroupFile /etc/apache/group

En conclusión el archivo .htaccess completo podría ser:

AuthName "prueba"
AuthType Basic
AuthUserFile /etc/apache/passwd
AuthGroupFile /etc/apache/group
require valid-user
require group admin



  Volver al inicio de la página