La autenticación con contraseña es una forma sencilla de proteger ciertos directorios en su servidor web Apache de accesos no autorizados. Para configurarla, seguir los pasos siguientes.
1. Crear el archivo de contraseñas En primer lugar, necesitaremos un archivo que contenga los usuarios y contraseñas que tendrán acceso al directorio protegido.
Para esto, utilizaremos el comando htpasswd, el cual crea archivos de contraseña segura para Apache.```bash
htpasswd -c /ruta/a/archivo/.htpasswd usuario
```
Dónde `usuario` es el nombre del usuario que tendrá acceso al directorio protegido. Te pedirá que introduzcas y confirmes la contraseña para este usuario.
La opción -c se usa para crear el archivo .htpasswd. Si ya tienes un archivo .htpasswd y solo deseas agregar usuarios adicionales, debes omitir la opción -c.
2. Configuración del archivo .htaccess Ahora, necesitas informar a Apache sobre el control de acceso de este directorio mediante la creación/modificación de un archivo .htaccess en el directorio que deseas proteger.
Aquí tienes un ejemplo de lo que podrías escribir en el archivo de texto .htaccess:
```bash
AuthType Basic
AuthName “Area Restringida“
AuthUserFile /ruta/a/tu/archivo/.htpasswd
Require valid-user
```
`AuthType` establece el tipo de autenticación que utilizaremos, que en este caso es básica.
`AuthName` es un texto que se mostrará en el cuadro de diálogo emergente que solicitará al usuario una contraseña.
`AuthUserFile` es la ruta completa al archivo que contiene los usuarios y contraseñas permitidos.
`Require valid-user` significa que cualquier usuario en el archivo de contraseñas puede acceder al directorio, pero también puedes especificar un usuario específico si lo prefieres.
3. Actualizar la configuración de Apache Por último, necesitas asegurarte de que Apache está configurado para permitir la autenticación con contraseña para este directorio.
En tu archivo de configuración de Apache (generalmente encontrará esto en /etc/apache2/sites-available o /etc/httpd/), debes buscar la sección del directorio que deseas proteger y asegurarte de que la opción AllowOverride esté configurada a AuthConfig o All.
```bash
```
4. Reinicia el servidor Apache
Para finalizar, debes reiniciar el servidor Apache para que los cambios tengan efecto.
```bash
sudo systemctl restart apache2
```
En algunos casos, puede que necesites usar `apache` o `httpd` en lugar de `apache2` en tu comando para reiniciar Apache.
Y eso es. Ahora deberías tener un directorio en tu servidor web que está protegido por la autenticación de contraseña.