Proteger directorios con contraseña puede ser útil en casos muy específicos, como por ejemplo cuándo deseas compartir material sensible y que sea accesible desde un navegador apenas por personas autorizadas.
En este artículo te enseñaremos como proteger directorios con contraseña dentro de tu cuenta de web hosting utilizando el archivo .htaccess y .htpasswd.
More...
Crear los archivos .htaccess y .htpasswd
El primer paso será crear los archivos que necesitamos para poder proteger directorios con contraseña, como fue mencionado antes necesitamos el archivo .htaccess y .htpasswd, estos archivos deben ser creados dentro del directorio que deseas proteger.
Para crearlos necesitas un editor de texto simple, como bloc de notas en windows o TextEdit en macOS.
No utilices Microsoft Word o cualquier editor similar pues el archivo se debe crear en un editor de texto plano (sin formato).
Crear archivo .htaccess
Crea un archivo en blanco con el nombre .htaccess dentro de este archivo coloca el siguiente contenido:
AuthName "Restricted Area"
AuthType Basic
AuthUserFile /var/www/dominio.com/.htpasswd
require valid-user
Importante: Reemplaza la ruta al archivo .htpasswd por la ruta completa asignada a tu cuenta de web hosting.
Proteger directorios con contraseña en cPanel
Si estás utilizando cPanel el contenido del archivo .htaccess debe ser similar a la configuración indicada en la caja abajo.
AuthName "Restricted Area"
AuthType Basic
AuthUserFile /home/usuario/.htpasswd
require valid-user
Reemplaza usuario por el nombre de tu usuario en cPanel
cPanel incluye una interfaz gráfica para configurar la protección de directorios con contraseña, puedes seguir esta guía si prefieres realizar este proceso manualmente.
Proteger directorios con contraseña con VestaCP
Si utilizas el panel de control VestaCP puedes proteger directorios con contraseña utilizando una configuración similar a la indicada a continuación:
AuthName "Restricted Area"
AuthType Basic
AuthUserFile /home/usuario/web/sudominio.com/.htpasswd
require valid-user
Reemplaza usuario por el nombre de tu usuario en VestaCP y sudominio.com por el nombre de tu dominio.
Enviar el archivo .htaccess al servidor
Guarda el archivo .htaccess y envíalo (súbelo) al servidor dentro del directorio que desees proteger con contraseña, por ejemplo, si deseas proteger con contraseña el directorio "respaldos" debes guardar el archivo .htaccess dentro de:
Usuarios cPanel: /home/usuario/public_html/respaldos/
Usuarios VestaCP: /home/usuario/web/sudominio.com/public_html/respaldos/
Crear archivo .htpasswd
Vamos a crear ahora el archivo .htpasswd, el proceso es el mismo que utilizamos al crear el .htaccess, sin embargo el contenido de este archivo será diferente.
Por ahora solamente crea el archivo y déjalo en blanco, en este archivo almacenaremos las contraseñas que serán utilizadas para ingresar al directorio (carpeta) que deseamos proteger.
Generador de contraseñas para htpasswd
Para generar una contraseña segura para .htpasswd utiliza el formulario a continuación, llena los campos respectivos y copia la salida dentro del archivo en blanco llamado .htpasswd que habías creado previamente, en este ejemplo he utilizado el nombre de usuario gospelidea y una contraseña al azar, el resultado fue:
gospelidea:$apr1$z4ybnpu8$Ys7kz5jXplcW9OzAU3SqM1
El resultado obtenido debe ser colocado dentro de su archivo .htpasswd. Si usted desea crear más de un usuario, genere la contraseña para cada uno de ellos y escriba cada usuario en una línea diferente dentro de .htpasswd, por ejemplo:
gospelidea:$apr1$z4ybnpu8$Ys7kz5jXplcW9OzAU3SqM1
visitante:$2y$10$rqnT228zQvr6Py8SxkLRpOIipIwShIj5KY
webmaster:$2y$10$LNJdDxYwAnCM5yh1k8vZdOM/uiOYS
Puedes crear más de un usuario, para conseguirlo debes escribir cada usuario con su contraseña en una nueva línea dentro del mismo archivo .htpasswd.
Enviar archivo .htpasswd al servidor
Finalmente guarda el archivo .htpasswd y envíalo (súbelo) al servidor, este archivo no debe ser accesible desde nuestra web, por lo tanto debe ser almacenada fuera de public_html de esta manera nos aseguramos que apenas el archivo .htaccess tenga acceso a nuestras contraseñas.
La ubicación del archivo .htpasswd debería quedar de la siguiente manera:
Usuarios cPanel: /home/usuario/.htpasswd
Usuarios VestaCP: /home/usuario/web/sudominio.com/.htpasswd
Realiza un respaldo en caso de existir un archivo .htpasswd en la cuenta de web hosting y luego agrega una nueva línea con el usuario y contraseña que se generó previamente.
Ten cuidado al sobreescribir el archivo .htpasswd que exista en tu cuenta sin estar completamente seguro, pues puedes perder información generada por el panel de control previamente.
En conclusión proteger directorios con contraseña es bastante sencillo, si haz seguido esta guía correctamente al llegar a este punto ya debes tener tu directorio asegurado, en caso contrario, regresa al inicio y revisa los pasos uno por uno prestando atención a los detalles principalmente las rutas utilizadas.