Authentification · 5 min read · Jan 04, 2026
.htaccess Basée Authentification Sur Sous-Dossiers
.htaccess Basée Authentification Sur Sous-Dossiers
Auteur : Nayyar Ahmad
Contact : nayyares AT gmail DOT com
Page d’accueil : www.cbtcandy.org
Dédicace : À Baji, pour tous les efforts qu’elle a fournis pour moi.
Préface :
.htaccess est utilisé pour fournir la possibilité de changer la configuration par répertoire, ce fichier peut contenir une ou plusieurs directives qui seront appliquées au répertoire contenant le fichier .htaccess.
.htaccess est un nom populaire de ce fichier de modification de configuration, vous pouvez changer ce nom par défaut en modifiant le paramètre AccessFileName dans le fichier de configuration d’Apache. c’est-à-dire.
AccessFileName .anynameDans ce guide, je vais prendre un scénario fictif de deux sous-dossiers de niveau parallèle et mettre en œuvre une authentification par mot de passe sur les deux. Cela signifie que seuls les utilisateurs ayant le bon nom d’utilisateur et le bon mot de passe peuvent accéder à ces répertoires.
Alors ça commence :)
Ici, je suppose que votre répertoire DocumentRoot est /var/www/html mais si vous avez une configuration VirtualHost ou même Apache est configuré sur un autre répertoire racine, alors vous pouvez ajuster cela selon votre situation.
Remarque : Je vais prendre deux noms fictifs pour ces répertoires comme test-dir1 et test-dir2.
1 Création de Répertoire :
$ cd /var/www/html$ mkdir test-dir1$ mkdir test-dir22 Création de Fichier HTML de Test :
Création d’un fichier html dans le premier répertoire.
$ cd /var/www/html/test-dir1$ cat > index.htm| PAGE DE TEST DANS TEST-DIR1. |
Création d’un fichier html dans le deuxième répertoire.
$ cd /var/www/html/test-dir2$ cat > index.htm| PAGE DE TEST DANS TEST-DIR2. |
3 Navigation sur les Pages de Test :
Maintenant, vous pouvez naviguer et tester si les pages sont disponibles ou non, en ouvrant n’importe quel navigateur web, j’aime Firefox (car il déchire :) ) et en tapant :
Cela affichera la page de test du premier répertoire, et
affichera la deuxième page de test dans test-dir2.
Si vous pouvez voir les deux pages, cela signifie que vous êtes presque prêt à déchirer avec .htaccess.
4 Création du Fichier .htaccess :
$ cd /var/www/html/test-dir1$ vi .htaccessÉcrivez les lignes suivantes dans ce fichier :
| AuthName "Utilisateurs Autorisés Seulement." AuthType Basic AuthUserFile /etc/httpd/conf/.htpasswd require user testusr |
Maintenant, je vais expliquer quelles lignes magiques nous avons écrites dans ce fichier :
Le paramètre AuthName définit simplement le titre de la boîte de saisie du mot de passe lorsque l’utilisateur se connecte, tandis que AuthType indique au serveur quel type de traitement est utilisé, et Basic est le plus courant et parfaitement adéquat pour presque n’importe quel but. AuthUserFile est utilisé pour définir l’emplacement du fichier .htpasswd, ce fichier contient le mot de passe de l’utilisateur qui va être authentifié dans le fichier .htaccess. require user est utilisé pour identifier l’utilisateur de confiance, s’il y a plus d’un utilisateur de confiance, vous pouvez spécifier leurs noms dans une liste séparée par des espaces.
Maintenant, pour protéger test-dir2 par .htaccess, nous devons le copier de test-dir1 à test-dir2 ** avec la commande suivante :
$ cp /var/www/html/test-dir1/.htaccess /var/www/html/test-dir2/5 Création d’Utilisateur :
Ici, nous allons créer un utilisateur de test pour vérifier notre .htaccess :)
$ adduser testusr$ passwd testusr6 Informer Apache des Utilisateurs :
Maintenant, nous devons informer Apache de l’utilisateur et de son mot de passe, mais avant de passer à cette étape, il y a un devoir social à moi c’est-à-dire d’expliquer la différence entre l’installation d’Apache par RPM et par source. :) Si vous avez installé Apache à partir de RPM, il installera toutes les commandes associées dans votre /usr/local/bin, donc pas de problèmes, vous pouvez donner la commande htpasswd n’importe où dans votre système, mais si vous avez installé Apache à partir de la source, vous devez trouver le répertoire bin d’Apache pour exécuter la commande htpasswd. Dans ce HowTo, je donnerai les deux méthodes, la voici :
$ htpasswd -c /etc/httpd/conf/.htpasswd testusrLa commande ci-dessus fonctionnera si vous avez htpasswd dans votre /usr/local/bin et cela se produit si vous installez Apache à partir de RPM. /etc/httpd/conf/.htpasswd est l’emplacement du fichier qui contiendra le mot de passe de l’utilisateur authentifié/de confiance.
OU
$ cd /apache/bin/$ ./htpasswd -c /etc/httpd/conf/.htpasswd testusrLes commandes ci-dessus sont correctes si vous avez installé Apache à partir des sources, $ cd /apache/bin peut être ajusté selon votre système, car vous l’avez peut-être installé ailleurs.
7 Permission du Fichier .htpasswd :
Nous devons définir la permission du fichier .htpasswd et faire de l’utilisateur apache le propriétaire de ce fichier.
$ chown apache.apache /etc/httpd/conf/.htpasswd8 Édition de httpd.conf :
Maintenant, nous devons éditer le httpd.conf, car Apache doit être informé au sujet de .htaccess, ici nous allons changer AllowOverride All | none à Authconfig, maintenant il y a deux cas, un si vous hébergez juste un site et l’autre si vous avez VirtualHost, voici le premier cas :
Dans ce cas, nous avons seulement une balise Directory dans le fichier httpd.conf car nous hébergeons juste un site, donc nous allons éditer la balise
| |
Maintenant pour le deuxième cas, lorsque nous avons plusieurs sites hébergés, c’est-à-dire VirtualHost :
| |
9 Redémarrage d’Apache :
Maintenant, vous devez redémarrer le serveur Apache pour recharger la configuration.
Pour un système basé sur RPM :
$ service httpd restartPour un système basé sur la source, ajustez le chemin du répertoire bin d’Apache.
$ /apache/bin/apachectl restart10 Test :
Maintenant, tout est prêt à être testé, ouvrez à nouveau votre navigateur préféré et essayez d’ouvrir les liens suivants :
et
Remarque : Lorsque vous naviguez sur ces liens, vous serez invité à entrer le nom d’utilisateur et le mot de passe, une fois que vous les fournissez, cela vous amènera à la page de test. Mais une fois que vous vous connectez à un répertoire, il ne sera pas nécessaire d’entrer le nom d’utilisateur et le mot de passe pour l’autre répertoire de test, car Apache ne demandera pas le nom d’utilisateur et le mot de passe encore et encore pour des répertoires de même niveau ou des sous-répertoires. Donc, une fois que vous êtes authentifié, les répertoires enfants et parallèles sont ouverts à l’utilisation. Mais si vous souhaitez toujours les vérifier, utilisez un navigateur basé sur du texte links*, c’est ce que je fais pour les vérifier.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.