Cómo asignar contraseña a carpeta Apache2 en Ubuntu

Para proteger una página o directorio en Apache con contraseña utilizando htpasswd, sigue estos pasos. Este proceso implica crear un archivo .htpasswd para almacenar las credenciales del usuario y configurar Apache para requerir autenticación al acceder a la página o directorio específico.

1. Crear el Archivo .htpasswd para Almacenar las Credenciales

  1. Instalar apache2-utils (si aún no está instalado), que incluye el comando htpasswd:
   sudo apt install apache2-utils
  1. Crear el archivo .htpasswd:
  • Decide dónde quieres almacenar el archivo .htpasswd. Una ubicación común es dentro del directorio /etc/apache2 o un subdirectorio de este. Por seguridad, no debería estar en un directorio accesible desde la web.
  • Usa el comando htpasswd para crear el archivo y añadir un usuario. Por ejemplo, para crear un archivo y añadir el usuario user3, ejecuta:
    bash sudo htpasswd -c /etc/apache2/.htpasswd user3
  • Se te pedirá que ingreses y confirmes la contraseña para user3. El parámetro -c se utiliza para crear el archivo; si quieres añadir más usuarios al mismo archivo .htpasswd, omite el -c en comandos subsiguientes.

2. Configurar Apache para Requerir Autenticación

  1. Editar el Archivo de Configuración de tu Sitio de Apache:
  • Necesitas editar el archivo de configuración del sitio en el que deseas restringir el acceso. Los archivos de configuración del sitio generalmente se encuentran en /etc/apache2/sites-available/.
  • Por ejemplo, para editar el archivo de configuración de un sitio predeterminado:
    bash sudo nano /etc/apache2/sites-available/000-default.conf
  1. Añadir Directivas para la Autenticación:
  • Dentro del archivo de configuración, añade las siguientes directivas al contexto que corresponda. Podría ser dentro de un <Directory> o <Location> que especifique la ruta al directorio o página que deseas proteger:
    apache <Directory "/var/www/html/protected"> AuthType Basic AuthName "Restricted Access" AuthUserFile /etc/apache2/.htpasswd Require valid-user </Directory>
  • Reemplaza "/var/www/html/protected" con la ruta real al directorio que deseas proteger. AuthName es el mensaje que se mostrará en el diálogo de autenticación. AuthUserFile debe apuntar al archivo .htpasswd que creaste.
  1. Reiniciar Apache para Aplicar los Cambios:
  • Guarda los cambios en el archivo de configuración y reinicia el servidor Apache para aplicarlos:
    bash sudo systemctl restart apache2

3. Verificación

  • Ahora, cuando intentes acceder al directorio o página protegida desde un navegador, se te solicitará un nombre de usuario y una contraseña. Debes ingresar las credenciales que definiste en el archivo .htpasswd para acceder al contenido.

Este proceso establece una capa básica de seguridad para las páginas o directorios seleccionados en tu servidor Apache, utilizando autenticación básica. Ten en cuenta que la autenticación básica transmite las credenciales en texto claro, por lo que se recomienda usarla junto con una conexión HTTPS segura para proteger la información de autenticación.

a penguin sticker on top of a blue ice cube
Photo by RealToughCandy.com on Pexels.com

Deja un comentario

Información básica sobre protección de datos Ver más

  • Responsable: Tomas Gonzalez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

error: Content is protected !!

Descubre más desde InfoGonzalez - Blog de formador e informático

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo

Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad
Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.