Introduction

La protection par mot de passe d’un dossier (HTTP Basic Authentication) empêche la consultation des fichiers via un navigateur en demandant un nom d’utilisateur et un mot de passe. cPanel propose une interface simplifiée (« Directory Privacy ») qui crée et gère automatiquement les fichiers .htaccess et .htpasswd. Si cette interface n’est pas disponible, vous pouvez reproduire le même mécanisme manuellement en éditant ces fichiers.

Références officielles : Directory Privacy — cPanel Documentation · htpasswd — Apache.

Prérequis

  • Accès à votre compte cPanel. (Voir : Comment accéder à mon compte cPanel ?).
  • Accès au Gestionnaire de fichiers (File Manager) dans cPanel ou un accès SSH / Terminal cPanel si vous préférez la ligne de commande.
  • Connaître le chemin du dossier à protéger (par exemple public_html/staging).
  • Afficher les fichiers cachés dans File Manager pour voir .htaccess (voir : Afficher les fichiers cachés dans le Gestionnaire de fichiers cPanel).
  • Remarque : certains hébergeurs peuvent désactiver l’interface Directory Privacy — dans ce cas suivez la méthode manuelle ci‑dessous.

Méthode recommandée — Directory Privacy (interface cPanel)

Lorsque l’option est disponible, utilisez l’interface : elle automatise la création du fichier d’utilisateurs (.htpasswd) et l’écriture des directives dans .htaccess.

  1. Connectez‑vous à cPanel et ouvrez la section Files → Directory Privacy.
  2. Dans la liste, repérez et cliquez sur le dossier à protéger (ou utilisez Edit dans la colonne Actions).
  3. Cochez Password protect this directory (Protection par mot de passe), saisissez un nom lisible pour l’étiquette de la zone et cliquez Save.
  4. Dans la section de gestion des utilisateurs, créez un compte autorisé : saisissez un nom d’utilisateur et un mot de passe fort (ou utilisez le générateur intégré), puis Create / Save.
  5. Testez en ouvrant l’URL du dossier dans un navigateur en navigation privée : une fenêtre de connexion HTTP doit apparaître.

Points pratiques

  • La protection s’applique au dossier choisi et à ses sous‑dossiers.
  • Directory Privacy écrit (ou modifie) .htaccess et crée un fichier .htpasswd souvent placé dans un répertoire sécurisé du compte (chemin dépendant de l’hébergeur).
  • Si l’interface refuse la création d’un utilisateur, vérifiez et essayez d’ajuster temporairement les permissions du répertoire (par ex. 0700) puis créez l’utilisateur.

Note importante

Si votre site utilise déjà des règles de réécriture (WordPress, frameworks), ces règles dans .htaccess peuvent empêcher l’affichage de la demande d’authentification. Voir la section Dépannage ci‑dessous.

Méthode manuelle — créer .htpasswd et .htaccess

Utilisez cette méthode si l’interface Directory Privacy n’est pas disponible ou si vous souhaitez maîtriser précisément les fichiers.

1) Emplacement recommandé pour .htpasswd

Placez le fichier .htpasswd idéalement en dehors de l’arborescence publique (public_html) pour qu’il ne soit pas téléchargeable. Exemple de répertoire privé : /home/ACCOUNTUSER/.htpasswds/mondossier/passwd Remplacez ACCOUNTUSER par le nom du compte. Si vous ne pouvez pas sortir le fichier du webroot, protégez‑le ensuite par une règle Apache (voir la section Dépannage).

2) Créer le fichier .htpasswd

  1. Avec SSH ou Terminal cPanel : utilisez htpasswd (outil fourni par Apache). Exemple :
    htpasswd -c /home/ACCOUNTUSER/.htpasswds/mondossier/passwd monuser
    L’option -c crée le fichier ; omettez‑la si vous ajoutez un utilisateur existant. La commande demande le mot de passe et enregistre la ligne chiffrée monuser:hashedpassword.
  2. Sans SSH : créez localement un fichier texte contenant la (ou les) lignes chiffrées au format user:hash et téléversez‑le via File Manager à l’emplacement choisi. Si vous ne savez pas générer le hash, utilisez le Terminal cPanel ou demandez au support.
Terminal cPanel pour exécuter des commandes comme htpasswd
Terminal cPanel : utile pour exécuter htpasswd si vous n’avez pas d’accès SSH externe.

3) Créer / modifier le fichier .htaccess dans le dossier à protéger

Dans le dossier web que vous voulez protéger (ex. public_html/staging), ajoutez ou modifiez .htaccess avec ces directives (exemple) :

AuthType Basic
AuthName "Zone protégée"
AuthUserFile /home/ACCOUNTUSER/.htpasswds/mondossier/passwd
Require valid-user

- AuthUserFile doit contenir le chemin absolu vers votre .htpasswd (remplacez ACCOUNTUSER et le chemin).
- Require valid-user autorise tous les comptes présents dans .htpasswd. Pour limiter à un seul utilisateur : Require user monuser.

Modifier le fichier .htaccess depuis le Gestionnaire de fichiers cPanel
Modifier le fichier .htaccess depuis File Manager. Activez l’affichage des fichiers cachés si nécessaire.

4) Téléverser et vérifier

  1. Téléversez .htpasswd à l’emplacement privé choisi et vérifiez les permissions (par exemple 600 pour le fichier).
  2. Dans File Manager, ouvrez le dossier protégé et vérifiez que .htaccess contient bien les directives ci‑dessus.
  3. Testez en navigation privée : accédez à https://votre‑domaine.tld/staging/ et vérifiez que la fenêtre d’authentification apparaît.
Téléverser un fichier dans public_html avec le Gestionnaire de fichiers cPanel
Utilisez le bouton Sélectionner un fichier pour téléverser .htpasswd (si vous ne pouvez pas créer le fichier via Terminal).

Conseils et limites

  • La protection HTTP (Basic Auth) protège l’accès via navigateur HTTP/HTTPS. Elle ne protège pas les accès FTP/SFTP, l’accès direct par Web Disk ni l’accès au système de fichiers côté serveur.
  • Placez .htpasswd en dehors du webroot quand c’est possible : c’est la meilleure pratique côté sécurité.
  • Sur certains serveurs (par ex. configurations LiteSpeed ou proxys inverses), une erreur 404 peut remplacer la réponse 401 attendue. Un contournement fréquent : créer une page 401.html et ajouter ErrorDocument 401 /401.html dans le .htaccess protégé.
  • Si votre application utilise des règles mod_rewrite (WordPress), placez les directives d’authentification au début du .htaccess pour qu’elles soient exécutées avant les réécritures.

Dépannage rapide

  1. La popup de connexion n’apparaît pas : videz le cache, testez en fenêtre privée. Vérifiez qu’un .htaccess contenant les directives d’auth existe dans le dossier ciblé. Recherchez d’autres .htaccess dans les parents qui pourraient rediriger ou proxifier les requêtes.
  2. Impossible de créer un utilisateur via Directory Privacy : vérifiez les permissions et le propriétaire du dossier cible (essayez temporairement 0700) puis retentez.
  3. Identifiants refusés : vérifiez le chemin de AuthUserFile, que le fichier .htpasswd contient bien l’utilisateur et que les permissions permettent au serveur web de lire le fichier.
  4. 404 au lieu de 401 : ajoutez un fichier 401.html et la directive ErrorDocument 401 /401.html dans le .htaccess protégé.
  5. Le fichier .htpasswd est accessible publiquement : déplacez‑le en dehors de public_html ; sinon ajoutez dans le dossier racine public une protection pour ce fichier (Apache 2.4) :
    <Files ".htpasswd">
      Require all denied
    </Files>
  6. Test en ligne de commande (option avancée) :
    curl -I --user monuser https://votre-domaine.tld/staging/
    La réponse HTTP doit renvoyer 401 si la protection est active (avant fourniture des identifiants) ou 200/302 après authentification correcte.

Liens internes utiles

Besoin d’aide ?

Si la protection ne fonctionne pas après ces vérifications, ouvrez un ticket en joignant : l’URL testée, le dossier protégé, la méthode utilisée (Directory Privacy ou manuelle) et des captures d’écran du contenu de votre .htaccess et du chemin AuthUserFile. Voir Comment contacter le support.

Documentation de référence

Documentation consultée le 17 octobre 2026. Les outils peuvent varier selon votre hébergement.