Configurar HTACCESS en Apache

Acceso web para usuario con contraseña .htaccess

Queremos que sólo un usuario (o varios) puedan acceder a una determinada carpeta de nuestro servidor. Además, para acceder deberán introducir nombre de usuario y contraseña. Esto es posible gracias al fichero .htaccess y a un segundo fichero (el nombre y carpeta que elijamos) donde guardaremos los usuarios y contraseñas.

En primer lugar deberemos crear el fichero que contendrá los usuarios y contraseñas encriptadas. Este ficheros es muy importante que esté situado siempre un nivel inferior a la carpeta raíz de nuestro sitio web. De esta forma conseguiremos que no sea público y accesible desde fuera, impidiendo que algún usuario pudiera abrirlo y obtener los usuarios y las contraseñas. Para evitar esto guardaremos el fichero, en nuestro caso, en:

/home/usuario/.htpasswd (una carpeta inferior a la carpeta de nuestra web /home/usuario/www)

Para crear este fichero utilizaremos el comando htpasswd, para ello accederemos a /home/usuario/

cd /home/usuario/

Y ejecutaremos el comando:

htpasswd -c .htpasswd miusuarioweb

(donde “miusuarioweb” será el nombre del usuario que creará el comando htpasswd y .htpasswd será el nombre del fichero creado)

Nos pedirá la contraseña para el usuario especificado, que deberemos introducir dos veces.

Ahora veremos el contenido del archivo creado .htpasswd:

aserver@xxx:~/contra_priv$ cat .htpasswd

miusuarioweb:F2qRaD.zm.C/.

Como se puede observar, el comando htpasswd, genera el fichero y encripta las contraseñas.

Seguidamente crearemos el fichero .htaccess dentro del diectorio publico, con el comando:

nano /home/usuario/www/.htaccess

Con el contenido:

AuthType Basic

AuthName “Sitio Privado”

AuthUserFile /home/usuario/.htpasswd

Require user miusuarioweb

Donde:

AuthType: indicará el tipo de autenticación.

AuthName: nombre sólo a efectos informativos.

AuthUserFile: con este parámetro indicaremos la ubicación y nombre del fichero de contraseñas creado anteriormente con htpasswd.

Require user miusuario: con este comando indicaremos el nombre del usuario que tendrá acceso al sitio privado.

De esta forma, cuando un usuario intente acceder a nuestro sitio o carpeta privada:

http://www.misitioprivado.com/

Nos mostrará una ventana de autenticación, para introducir usuario y contraseña:

Si introducimos el usuario y la contraseña correctos nos mostrará el contenido del www.sitioprivado.com :

Contenido indexado de la carpeta privada

En caso de no introducir usuario y contraseña correctos el servidor Apache mostrará una página de error con el texto:

Authorization Required

This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn’t understand how to supply the credentials required.

Server at www.misistioprivado.com Port 80

Advertisement

Deja un comentario

Please log in using one of these methods to post your comment:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s


Seguir

Get every new post delivered to your Inbox.