Testez vos compétences sur tous nos services d'hébergement et bénéficiez de 15% de réduction!

Utilisez le code à la caisse :

Skills
09.12.2024

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.

  1. 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.
  2. 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.
  3. 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

  1. 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

  2. Redémarrez Apache : Après avoir modifié la configuration, redémarrez Apache pour appliquer les modifications :
    sudo systemctl restart apache2
  3. 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
  4. 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.
  5. 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 :

  1. 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
  2. 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

  3. Enregistrez et fermez le fichier de configuration.
  4. 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
, configurez
.htaccess
ou Apache, et test-boom, la zone privée est prête. Sécurisez ce fichier, ajoutez SSL pour plus de sécurité, et le tour est joué. Besoin d’aide ? L’assistance d’AlexHost est à portée de main. Verrouillez le tout et continuez à coder !

Testez vos compétences sur tous nos services d'hébergement et bénéficiez de 15% de réduction!

Utilisez le code à la caisse :

Skills