Sur Internet, presque toutes les applications ont des parties qui doivent être protégées par un mot de passe comme les répertoires qui stockent les fichiers de documents confidentiels, les fichiers pdf, etc. Dans cet article, nous allons vous montrer comment protéger ces répertoires au niveau du serveur avec Apache htpasswd.
Qu'est-ce que htpasswd ?
C'est un utilitaire Apache qui vous permet de protéger une partie de votre application ou toute l'application avec un nom d'utilisateur et un mot de passe.
Suivez les étapes ci-dessous pour configurer le htpasswd sur votre serveur Ubuntu.
-
Installer les utilitaires Apache2
Il est très facile d'installer les utilitaires apache2. Vous pouvez le faire en exécutant les commandes suivantes sur votre terminal.
$ sudo apt-get update
$ sudo apt-get install apache2-utils
-
Créer un fichier Apache htpasswd
Une fois l'installation terminée, nous devons créer un fichier htpasswd pour stocker les informations de l'utilisateur.
$ sudo touch /etc/apache2/.htpasswd
Une fois le fichier créé, nous pouvons maintenant utiliser les utilisateurs pour le fichier htpasswd. Nous pouvons créer plusieurs utilisateurs pour plusieurs applications
-
Ajouter un utilisateur htpasswd
Ajouter un utilisateur à htpasswd est assez simple, il vous suffit d'exécuter la commande suivante pour ajouter l'utilisateur.
$ sudo htpasswd /etc/apache2/.htpasswd USERNAME
Une fois que vous avez entré la commande ci-dessus, il vous sera demandé de définir deux fois un mot de passe pour cet utilisateur. Entrez simplement le mot de passe fort et vous êtes prêt à partir.
Configurer la protection Apache Htpasswd avec VirtualHost
Le fichier d'hôte virtuel demandera au navigateur Web apache de rediriger la demande vers la racine du document spécifique sur le nom de domaine. Ici, nous allons ajouter quelques lignes de code pour protéger le répertoire spécifique par mot de passe. Exécutez la commande ci-dessous pour cela.
$ sudo nano /etc/apache2/sites-available/000-default.conf
Assurez-vous d'avoir le code ci-dessous à l'intérieur. Avec cela, le dossier de test sera protégé par un mot de passe.
<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>
Accédez maintenant au dossier depuis le navigateur et vous le verrez, il vous demandera le mot de passe.