Comment configurer l’authentification htpasswd d’Apache dans Ubuntu
Verrouillez votre site avec Apache htpasswd sur AlexHost Ubuntu VPS
Pourquoi utiliser htpasswd ? Le htpasswd d’Apache est votre ticket rapide pour sécuriser les répertoires web – pensez aux panneaux d’administration ou aux sites de développement – avec une simple porte de nom d’utilisateur/mot de passe. Il est léger, parfait pour le contrôle d’accès de base, et facile à configurer sur un VPS Ubuntu d’AlexHost fonctionnant avec Apache. Ce guide vous accompagne dans l’ajout d’un système de verrouillage et de clés à votre site, afin de sécuriser les zones sensibles sans avoir à transpirer.
Prérequis
- Un serveur fonctionnant sous Ubuntu avec Apache2 installé.
- Accès Rout ou sudo au serveur.
- Connaissance de base de l’utilisation de la ligne de commande.
Étape 1 : Installer Apache (s’il n’est pas déjà installé)
Si Apache n’est pas installé sur votre serveur Ubuntu, vous pouvez l’installer avec la commande suivante :
sudo apt update
sudo apt install apache2
Étape 2 : Activer l’utilitaire htpasswd
L’utilitaire htpasswd est fourni par le paquetage apache2-utils, qui est généralement installé avec Apache. S’il n’est pas installé, vous pouvez l’installer en exécutant la commande suivante
sudo apt install apache2-utils
Cette commande installe les outils de gestion des mots de passe nécessaires pour les fichiers d’authentification htpasswd.
Étape 3 : Créer le fichier .htpasswd
Le fichier .htpasswd est utilisé pour stocker les noms d’utilisateur et les mots de passe d’authentification cryptés.
- Pour créer un nouveau fichier .htpasswd et ajouter un utilisateur, exécutez la commande suivante :
sudo htpasswd -c /etc/apache2/.htpasswd your_username
Remplacez votre_nomd’utilisateur par le nom d’utilisateur que vous souhaitez créer.
- L’option -c crée un nouveau fichier .htpasswd . Si le fichier existe déjà et que vous utilisez l’option -c, il sera écrasé, c’est pourquoi vous ne devez l’utiliser que lorsque vous créez le fichier pour la première fois.
- Enter and confirm password (Saisir et confirmer le mot de passe) : après avoir exécuté la commande, vous serez invité à saisir et à confirmer un mot de passe pour l’utilisateur. Un fichier /etc/apache2/.htpasswd sera créé avec le mot de passe crypté de votre_nom.
- Ajouter des utilisateurs supplémentaires (facultatif) : Pour ajouter d’autres utilisateurs sans écraser le fichier .htpasswd existant, exécutez :
sudo htpasswd /etc/apache2/.htpasswd another_username
Remplacez another_username par le nouveau nom d’utilisateur. Cette commande ajoute le nouvel utilisateur au fichier .htpasswd existant.
Étape 4 : Configurer Apache pour la protection par mot de passe
Vous devez spécifier le répertoire ou l’emplacement que vous souhaitez protéger par un mot de passe. Cela se fait à l’aide d’un fichier .htaccess ou en modifiant directement le fichier de configuration d’Apache.
Option 1 : Utilisation du fichier .htaccess
- Activation des fichiers .htaccess : Si vous souhaitez utiliser les fichiers .htaccess pour mettre en place une protection par mot de passe, assurez-vous que la directive AllowOverride est définie sur All pour le répertoire que vous souhaitez protéger. Modifiez le fichier de configuration Apache approprié (par exemple, /etc/apache2/sites-available/000-default.conf) :
sudo nano /etc/apache2/sites-available/000-default.conf
Trouvez la section correspondant à la racine de votre site web (par exemple, /var/www/html) et définissez AllowOverride sur All :
AllowOverride All - Redémarrez Apache : Après avoir modifié la configuration, redémarrez Apache pour appliquer les modifications :
sudo systemctl restart apache2
- Créer un fichier .htaccess:Dans le répertoire que vous souhaitez protéger (par exemple, /var/www/html), créez ou modifiez un fichier .htaccess :
sudo nano /var/www/html/.htaccess
- Ajoutez les directives suivantes : Ajoutez les lignes suivantes au fichier .htaccess:AuthType Basic
AuthName “Restricted Content” (contenu restreint)
AuthUserFile /etc/apache2/.htpasswd
Require valid-user- AuthType Basic : Spécifie l’authentification de base.
- AuthName : Message qui sera affiché dans le message d’authentification.
- AuthUserFile : Chemin d’accès au fichier .htpasswd.
- Require Valid User (Exiger un utilisateur valide) : restreint l’accès aux utilisateurs répertoriés dans le fichier .htpasswd.
- Enregistrez et fermez le fichier.
Option 2 : Utilisation directe du fichier de configuration d’Apache
Si vous préférez gérer l’authentification directement dans les fichiers de configuration d’Apache au lieu d’utiliser .htaccess, procédez comme suit :
- Modifiez la configuration de l’hôte virtuel : Ouvrez le fichier de configuration Apache pour le site que vous voulez sécuriser (par exemple, /etc/apache2/sites-available/000-default.conf) :
sudo nano /etc/apache2/sites-available/000-default.conf
- Ajoutez les directives d’authentification : A l’intérieur du bloc ou du bloc correspondant au répertoire que vous souhaitez protéger, ajoutez ce qui suit :
<Directory "/var/www/html">
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user - Enregistrez et fermez le fichier de configuration.
- Redémarrez Apache : Après avoir effectué les modifications, redémarrez Apache :
sudo systemctl restart apache2
Étape 5 : Tester l’authentification
Allez maintenant à l’URL du répertoire sécurisé en utilisant votre navigateur web (par exemple http://your_server_ip_or_domain). Vous devriez voir une invite de connexion vous demandant un nom d’utilisateur et un mot de passe.
- Saisissez le nom d’utilisateur et le mot de passe que vous avez créés avec la commande htpasswd.
- Si les informations d’identification sont correctes, l’accès au répertoire vous sera accordé ; dans le cas contraire, l’accès vous sera refusé.
Étape 6 : Protéger le fichier .htpasswd
Pour des raisons de sécurité, assurez-vous que le fichier .htpasswd est stocké en dehors de la racine du site web (par exemple, /etc/apache2/.htpasswd) afin qu’il ne soit pas accessible directement par un navigateur web.
Assurez-vous que le fichier .htpasswd dispose des autorisations correctes :
sudo chmod 640 /etc/apache2/.htpasswd
sudo chown www-data:www-data /etc/apache2/.htpasswd
Cela garantit que seuls l’utilisateur Apache (www-data) et root ont un accès en lecture au fichier .htpasswd.
Conclusion : Sécurisez votre site en toute simplicité
Apache htpasswd est votre solution rapide pour verrouiller les répertoires web sur votre VPS Ubuntu AlexHost. Installez les outils, créez
.htpasswd
.htaccess