Créer un fichier .htaccess dans le répertoire à protéger :

AuthUserFile /root/.htpasswdmonsiteweb
AuthGroupFile /dev/null
AuthName "Accès sécurisé à mon site web"
AuthType Basic
<LIMIT GET POST>
Require valid-user
</LIMIT>

Créer le fichier /root/.htpasswdmonsiteweb comme suit (peu importe le nom, mais à placer hors de l'arborescence web) :

htpasswd -c /root/.htpasswdmonsiteweb monutilisateur

Le mot de passe sera demandé 2 fois et sera stocké crypté dans le fichier.

Il faut ensuite autoriser Apache2 à utiliser ce processus d'authentification, éditer /etc/apache2/sites-enabled/000-default (à voir selon votre configuration) et modifier la ligne :

AllowOverride AuthConfig

Redémarrer Apache2 :

apache2 -k restart