En Internet, casi todas las aplicaciones tienen algunas partes que deben protegerse con una contraseña, como los directorios que almacenan los archivos de documentos confidenciales, archivos pdf, etc. En este artículo, le mostraremos cómo proteger estos directorios a nivel de servidor. con Apache htpasswd.
¿Qué es htpasswd?
Es una utilidad de Apache que le permite proteger una parte de su aplicación o la aplicación completa con nombre de usuario y contraseña.
Siga los pasos a continuación para configurar htpasswd en su servidor ubuntu.
-
Instalar las utilidades de Apache2
Es muy fácil instalar apache2 utils. Puedes hacerlo ejecutando los siguientes comandos en tu terminal.
$ sudo apt-get update
$ sudo apt-get install apache2-utils
-
Crear archivo Apache htpasswd
Una vez finalizada la instalación, debemos crear un archivo htpasswd para almacenar la información del usuario.
$ sudo touch /etc/apache2/.htpasswd
Una vez que se crea el archivo, ahora podemos usar los usuarios para el archivo htpasswd. Podemos crear múltiples usuarios para múltiples aplicaciones
-
Añadir usuario htpasswd
Agregar un usuario a htpasswd es bastante simple, solo necesita ejecutar el siguiente comando para agregar el usuario.
$ sudo htpasswd /etc/apache2/.htpasswd USERNAME
Una vez que ingrese el comando anterior, le pedirá que establezca una contraseña para ese usuario dos veces. Simplemente ingrese la contraseña segura y listo.
Configurar la protección Apache Htpasswd con VirtualHost
El archivo de host virtual le pedirá al navegador web apache que redirija la solicitud a la raíz del documento específico en el nombre de dominio. Aquí, agregaremos unas pocas líneas de código para proteger con contraseña el directorio específico. Ejecute el siguiente comando para esto.
$ sudo nano /etc/apache2/sites-available/000-default.conf
Asegúrate de tener el siguiente código dentro. Con esto, la carpeta de prueba estará protegida con contraseña.
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/test
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/var/www/html">
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
</VirtualHost>
Acceda a la carpeta ahora desde el navegador y verá que le pedirá la contraseña.