Comment protéger les répertoires Web en APache en utilisant .fichier htaccess

Comment protéger les répertoires Web en APache en utilisant .fichier htaccess

Lorsque vous gérez des projets en ligne, vous devez souvent limiter l'accès à ce projet afin de le protéger contre le monde extérieur. Il y a peut-être des raisons différentes à cela - par exemple, vous souhaitez empêcher les robots de recherche de manches d'accès à votre site alors qu'il est toujours en phase de développement.

Mot de passe Protéger les répertoires Web Apache

Dans ce tutoriel, je vais vous montrer comment protéger le mot de passe différents répertoires de sites Web dans Apache serveur Web. Il existe de nombreuses façons d'y parvenir, mais nous en examinerons deux qui sont les plus couramment utilisés.

La première méthode configure la protection des mots de passe directement dans le fichier de configuration d'Apache, tandis que le second utilise .htaccess déposer.

Exigences

Afin de configurer la protection de mot de passe pour vos répertoires Web, vous devrez avoir:

  • Un serveur Web Apache fonctionne
  • Le Autorride Authconfig La directive doit être activée dans le fichier de configuration Apache.

Configuration du répertoire protégé par mot de passe Apache

1. Pour ce tutoriel, nous protégerons le répertoire des racines Web principal / var / www / html.  Pour protéger ce répertoire, ouvrez la configuration de votre Apache:

---------------- Sur Redhat / centos Systèmes basés ---------------- # vi / etc / httpd / conf / httpd.conf ---------------- Debian / Ubuntu Systèmes basés ---------------- # nano / etc / apache2 / sites-disponible / 000-défaut.confli 

2. Trouver la racine du répertoire de document Apache pour / var / www / html et ajouter les choses suivantes comme suggéré:

Sur Apache 2.2 version

 Les index d'options incluent suivent suitSyMLinks multi-comment  

Sur Apache 2.4 version

 Les index d'options incluent suivent suitSyLinks multi-comment  
Apache 2.4: Activer AllyOverride All

3. Enregistrez le fichier et redémarrez Apache en utilisant la commande suivante:

--------------- Sur Systemd ------------------- # SystemCTL Redémarrer Httpd [sur Chapeau rouge Systèmes basés] # SystemCTl redémarrer apache2 [sur Debian Systèmes basés] --------------- sur Sysv init ----------------- # service httpd redémarrer [sur Chapeau rouge Systèmes basés] # service apache2 redémarrer [sur Debian Systèmes basés 

4. Maintenant nous allons utiliser le htpasswd commande pour générer un nom d'utilisateur et un mot de passe pour notre répertoire protégé. Cette commande est utilisée pour gérer les fichiers utilisateur pour l'authentification de base.

La syntaxe générale de la commande est:

# htpasswd -c nom d'utilisateur nom 

Le -c L'option spécifie le fichier qui conservera le mot de passe crypté et nom d'utilisateur Spécifie l'utilisateur de l'authentification.

5. Notre fichier de mot de passe doit être situé à partir du répertoire accessible Web de l'Apache afin qu'il soit bien protégé. À cette fin, nous créerons un nouveau répertoire:

# Mkdir / Home / Tecmint 

6. Après cela, nous générerons notre nom d'utilisateur et notre mot de passe qui seront stockés dans ce répertoire:

# htpasswd -c / home / tecmint / webpass tecmint 

Une fois que vous exécutez cette commande, vous devrez saisir un mot de passe pour notre nouvel utilisateur "Tecmint" deux fois:

Créer un mot de passe utilisateur Apache

Après cela, nous devrons nous assurer qu'Apache est capable de lire le «webpass" déposer. À cette fin, vous devrez modifier la propriété de ce fichier avec la commande suivante:

---------------- Sur Redhat / centos Systèmes basés ---------------- # Chown Apache: / Home / Tecmint / WebPass # Chmod 640 / Home / Tecmint / WebPass 
---------------- Sur Debian / Ubuntu Systèmes basés ---------------- # Chown www-data / home / tecmint / webpass # chmod 640 / home / tecmint / webpass 

7. À ce stade, notre nouvel utilisateur et notre mot de passe sont prêts. Nous devons maintenant dire à Apache de demander un mot de passe lors de l'accès à notre répertoire ciblé. À cette fin, créer un fichier appelé .htaccess dans / var / www / html:

# vi / var / www / html /.htaccess 

Ajoutez le code suivant dedans:

AuthType Basic Authname "Restreined Access" AuthUserFile / Home / Tecmint / WebPass nécessite l'utilisateur Tecmint 
Créer un accès restreint Apache

8. Maintenant, enregistrez le fichier et mettez votre configuration au test. Ouvrez votre navigateur et entrez votre adresse IP ou votre nom de domaine dans le navigateur Web, par exemple:

http: // ip-address 

Vous devez être invité à un nom d'utilisateur et à un mot de passe:

Authentification du répertoire protégé par le mot de passe Apache

Entrez le nom d'utilisateur et le mot de passe que vous définissez pour passer à votre page.

Notes complémentaires

Si vous utilisez l'hébergement partagé, vous n'aurez probablement pas accès au fichier de configuration Apache. Cependant, la plupart des sociétés d'hébergement ont permis au «Allaiter tout ” Option par défaut. Cela signifie que vous n'aurez besoin que de générer le nom d'utilisateur et le mot de passe, puis sélectionner le répertoire que vous souhaitez protéger. Cela facilite considérablement votre tâche.

Conclusion

J'espère que vous avez trouvé ce tutoriel utile et vous aidez à atteindre votre objectif. Si vous avez des questions ou des commentaires, n'hésitez pas à les publier dans la section ci-dessous.