🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

DirectAdmin: Cómo proteger directorios con contraseña (htpasswd)

Actualizado el 14 de marzo de 2026

Introducción: ¿Por qué proteger un directorio con contraseña?

Imagina que tienes una parte de tu web que solo quieres compartir con personas específicas: un área de descargas privada, un panel de administración para clientes, o una carpeta con datos sensibles. Proteger un directorio con contraseña es una de las formas más efectivas y sencillas de añadir una capa extra de seguridad sin necesidad de programar nada complejo. En este tutorial de DirectAdmin, aprenderás a usar la herramienta DirectAdmin htpasswd para bloquear el acceso a cualquier carpeta de tu sitio web.

La autenticación HTTP básica, conocida como htpasswd, es un método clásico y robusto. Funciona creando un archivo de contraseñas cifradas (.htpasswd) y un archivo de configuración (.htaccess) que le dice al servidor web Apache qué directorio proteger y quién puede acceder. Es compatible con todos los navegadores y no requiere bases de datos ni scripts adicionales. Además, es una práctica recomendada dentro de la seguridad web básica que todo administrador debería conocer.

Sigue esta guía paso a paso. No necesitas ser un experto, solo tener acceso a tu panel de DirectAdmin y seguir las instrucciones al pie de la letra.

[INFO] Este tutorial está diseñado para usuarios de DirectAdmin. Si usas otro panel como Syspanel (antes HestiaCP, accesible por el puerto 2106), el concepto es similar, pero los pasos pueden variar ligeramente.


Requisitos previos

Antes de empezar, asegúrate de tener lo siguiente:

  • Acceso a DirectAdmin: Necesitas credenciales de administrador o de un usuario con permisos para gestionar archivos y dominios.
  • Un dominio o subdominio activo: La carpeta que protegerás debe estar dentro de la estructura de archivos de tu sitio web.
  • Conocimientos básicos de navegación: Saber usar el Administrador de Archivos de DirectAdmin o un cliente FTP.

Si cumples con esto, ¡estás listo para empezar!


Método 1: Usar el Administrador de Archivos de DirectAdmin (recomendado para principiantes)

Este método es el más visual y no requiere conexión FTP. Todo se hace desde el navegador.

Paso 1: Accede al Administrador de Archivos

  1. Inicia sesión en tu panel de DirectAdmin.
  2. En el menú principal, busca la sección "Administrador de Archivos" (normalmente bajo el grupo de "Administración de Cuentas").
  3. Selecciona el dominio donde se encuentra la carpeta que quieres proteger. Si es la carpeta raíz, elige el dominio principal.

Paso 2: Navega hasta la carpeta a proteger

Dentro del Administrador de Archivos, busca la carpeta que deseas proteger. Por ejemplo, si quieres proteger /public_html/privado, haz clic en public_html y luego en privado. Si la carpeta no existe, créala ahora.

Paso 3: Crea el archivo .htaccess

  1. Dentro de la carpeta que vas a proteger (ej: privado), haz clic en el botón "Crear archivo".
  2. Nombra el archivo exactamente como: .htaccess (incluye el punto al inicio).
  3. Se abrirá un editor de texto. Pega el siguiente contenido:
AuthType Basic
AuthName "Acceso restringido"
AuthUserFile /home/usuario/.htpasswds/privado
Require valid-user

Explicación de las líneas:

  • AuthType Basic: Indica que se usará autenticación básica HTTP.
  • AuthName "Acceso restringido": Es el mensaje que verá el usuario en la ventana de inicio de sesión. Puedes cambiarlo.
  • AuthUserFile: Es la ruta absoluta al archivo que contendrá los usuarios y contraseñas. Importante: esta ruta debe ser la correcta para tu servidor. Normalmente, en DirectAdmin los archivos .htpasswd se almacenan en /home/usuario/.htpasswds/. Reemplaza usuario con tu nombre de usuario de DirectAdmin y privado con el nombre de tu carpeta protegida.
  • Require valid-user: Solo los usuarios listados en el archivo .htpasswd podrán acceder.
  1. Guarda los cambios (botón "Guardar" o "Save").

[WARNING] La ruta AuthUserFile es crítica. Si es incorrecta, el servidor devolverá un error 500. Si no estás seguro de tu ruta, consulta con tu proveedor de hosting o usa el método de terminal (más adelante).

Paso 4: Crea el archivo .htpasswd

  1. Ahora, desde la raíz de tu cuenta (fuera de public_html), busca la carpeta .htpasswds. Si no existe, créala. Normalmente está en /home/usuario/.htpasswds.
  2. Dentro de .htpasswds, crea un nuevo archivo con el mismo nombre que la carpeta protegida. Por ejemplo, si tu carpeta se llama privado, crea un archivo llamado privado (sin extensión).
  3. Abre ese archivo en el editor. Debes agregar una línea por cada usuario con el formato: usuario:contraseña_cifrada. No escribas la contraseña en texto plano. Para obtener el cifrado, puedes usar herramientas online o el siguiente método.

Paso 5: Generar contraseña cifrada (método sencillo)

DirectAdmin no incluye un generador visual, pero puedes usar una herramienta online confiable como https://hostingcanada.org/htpasswd-generator/ o usar el comando htpasswd desde la terminal (si tienes acceso SSH).

Alternativa con SSH:

  1. Conéctate a tu servidor por SSH.
  2. Ejecuta: htpasswd -c /home/usuario/.htpasswds/privado usuario1
  3. Te pedirá la contraseña dos veces. El archivo se creará automáticamente.

Si no tienes SSH, usa el generador online:

  • Introduce el nombre de usuario y la contraseña.
  • Copia la línea generada (ej: usuario1:$apr1$...).
  • Pégala en el archivo .htpasswds/privado y guarda.

Paso 6: Verifica los permisos

Ambos archivos (.htaccess y .htpasswds/privado) deben tener permisos 644 (lectura/escritura para el propietario, solo lectura para grupo y otros). En el Administrador de Archivos, haz clic derecho sobre cada archivo, selecciona "Permisos" y ajústalos si es necesario.

Paso 7: Prueba el acceso

Abre tu navegador y visita la URL de la carpeta protegida (ej: tudominio.com/privado). Debería aparecer una ventana solicitando usuario y contraseña. Ingresa las credenciales que creaste. Si funciona, ¡felicidades! Has protegido el directorio.

[TIP] Si ves un error 500, revisa la ruta en AuthUserFile. Asegúrate de que no haya espacios ni errores tipográficos.


Método 2: Usando un cliente FTP (alternativa)

Si prefieres usar un cliente FTP como FileZilla, el proceso es similar pero desde tu computadora.

  1. Conéctate a tu servidor FTP usando las credenciales de DirectAdmin.
  2. Navega a la carpeta que quieres proteger (ej: public_html/privado).
  3. Crea el archivo .htaccess con el mismo contenido que en el Método 1. Puedes crearlo en un editor de texto local y luego subirlo.
  4. Sube o crea el archivo .htpasswds/privado (ajusta la ruta según tu usuario).
  5. Asegúrate de que los permisos de ambos archivos sean 644.

La ventaja del FTP es que puedes usar herramientas locales para generar el hash de la contraseña.


Preguntas frecuentes (FAQ)

1. ¿Qué hago si olvido la contraseña de un usuario?

Debes editar el archivo .htpasswds correspondiente y eliminar la línea del usuario. Luego, crea un nuevo usuario con una nueva contraseña siguiendo los pasos anteriores.

2. ¿Puedo proteger varias carpetas con diferentes usuarios?

Sí. Crea un archivo .htaccess en cada carpeta y un archivo .htpasswds separado para cada una. Cada archivo puede contener usuarios distintos.

3. ¿Es seguro este método?

La autenticación básica HTTP envía la contraseña en texto plano (codificada en Base64, no cifrada). Para mayor seguridad, combínala con HTTPS (SSL). En DirectAdmin, puedes forzar HTTPS fácilmente desde el panel.

4. ¿Cómo añado más usuarios a un directorio ya protegido?

Edita el archivo .htpasswds correspondiente y agrega una nueva línea con el formato usuario:contraseña_cifrada. No necesitas modificar el .htaccess.

5. ¿Qué pasa si no veo la carpeta .htpasswds en el Administrador de Archivos?

Los archivos y carpetas que empiezan con punto (.) están ocultos por defecto. En el Administrador de Archivos, busca la opción "Mostrar archivos ocultos" (suele ser un checkbox). Actívala y aparecerá.

6. ¿Funciona esto en Syspanel (HestiaCP)?

Sí, el concepto es idéntico. La diferencia es que en Syspanel (puerto 2106) la ruta de los archivos del usuario suele ser /home/usuario/web/dominio/public_html/. Los archivos .htpasswds se colocan en /home/usuario/conf/web/. Consulta la documentación de Syspanel para la ruta exacta.

7. ¿Puedo usar esta protección en subdominios?

Sí. Simplemente navega a la carpeta del subdominio dentro de public_html (ej: public_html/subdominio) y sigue los mismos pasos.


Consejos adicionales de seguridad web

  • Usa contraseñas fuertes: Combina mayúsculas, minúsculas, números y símbolos. Evita palabras comunes.
  • Actualiza regularmente: Cambia las contraseñas periódicamente, especialmente si compartes el acceso con varias personas.
  • Combina con IP whitelisting: En el .htaccess puedes añadir Allow from para restringir aún más el acceso solo a ciertas direcciones IP.
  • Monitorea los logs: Revisa los archivos de log de Apache para detectar intentos de acceso no autorizados.

[INFO] Si tu sitio es crítico, considera usar autenticación de dos factores (2FA) o un sistema de login más avanzado. El método htpasswd es una capa básica, no una solución definitiva.


Conclusión

Proteger directorios con contraseña usando DirectAdmin htpasswd es una habilidad esencial para cualquier persona que gestione un sitio web. No solo mejora la seguridad web, sino que te da control granular sobre quién accede a qué contenido. Con los pasos descritos en este DirectAdmin tutorial, puedes implementarlo en minutos, incluso sin experiencia técnica previa.

Recuerda que la seguridad es un proceso continuo. Empieza con esta práctica y ve añadiendo más capas según sea necesario. Si tienes dudas, revisa la documentación oficial de DirectAdmin o consulta con tu proveedor de hosting. ¡Tu web y tus datos te lo agradecerán!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel