Existen muchas maneras para proteger con una clave el contenido de nuestros directorios del servidor web, esta es una manera muy básica (e insegura) de hacerlo, solo necesitamos hacer los siguientes pasos:
Creamos el usuario que podrá entrar al sitio:
sudo htpasswd -c /etc/apache2/claves test New password: Re-type new password: Adding password for user test
Dentro de /etc/apache2/claves entonces tendremos el usuario y clave encriptada.
Luego, modificamos la definición de nuestro host en apache, si es sobre el sitio por defecto, editamos /etc/apache2/sites-available/default y en la definición directorio /var/www cambiamos la directiva AllowOverride de "none" a "all".
Por último, añadimos en la carpeta que deseamos proteger, un archivo .htaccess con el siguiente contenido (en este caso vamos a usar /var/www/secreto/, así que el archivo deberá colocarse dentro):
AuthUserFile /etc/apache2/claves AuthName Secreto AuthType Basic require valid-user
Reiniciamos apache: sudo service apache2 restart y listo, en nuestro directorio /secreto/ nos pedirá un usuario y clave, este debe estar dentro del archivo de claves o no podrá acceder al contenido.
https://tar.mx/tar.svg