Qu'est-ce qu'un fichier htaccess ?
Le .htaccess fichier dans Apache est un outil qui permet des configurations au niveau du répertoire et du sous-répertoire. Utiliser .htaccess vous permet de configurer les autorisations du site Web sans modifier les fichiers de configuration du serveur.
Ce tutoriel vous montrera comment configurer et activer htaccess sur Apache. En outre, il indique comment restreindre l'accès à des localisations spécifiques sur le serveur, gérer les adresses IP et rediriger le trafic.
Prérequis
- Un serveur Web Apache opérationnel
- Accès à une fenêtre de terminal/ligne de commande
- Accès à un compte utilisateur avec privilèges sudo
- Un éditeur de texte, tel que N ano , inclus par défaut
Étape 1 :Activer Apache .htaccess
Par défaut, le .htaccess le fichier n'est pas activé.
1. Ouvrez le fichier de configuration de l'hôte par défaut en saisissant la commande suivante dans le terminal :
sudo nano /etc/apache2/sites-available/default
2. Localisez la section intitulée
Dans cette section, modifiez le AllowOverride None
entrée à tous :
Autoriser tout remplacer
Enregistrer le fichier et quittez.
3. Ensuite, redémarrez le service Apache :
sudo systemctl apache2 restart
Étape 2 :Créer un fichier .htaccess
Comme la plupart des progiciels Linux, Apache fonctionne sur des fichiers de configuration. Le .htaccess le fichier en fait partie. Cela fonctionne en spécifiant un paramètre avec une valeur.
Pour créer et ouvrir le .htaccess fichier à éditer, saisissez :
sudo nano /var/www/my_website.com/.htaccess
Remplacer mon_site Web avec le nom de votre site Web actuel. Si ce fichier n'existe pas, votre éditeur de texte le créera.
Étape 3 :Restreindre les listes d'annuaires
Il se peut que vous souhaitiez restreindre l'accès à certains emplacements de votre serveur. Vous pouvez le faire en créant une liste de noms d'utilisateur et de mots de passe autorisés à y accéder.
1. Commencez par créer un nouveau fichier, .htpasswd dans un autre répertoire :
sudo nano /user/safe_location/.htpasswd
Entrez un nom d'utilisateur et un mot de passe pour chaque utilisateur que vous souhaitez créer. Assurez-vous d'utiliser des mots de passe forts , et saisissez une seule paire nom d'utilisateur/mot de passe par ligne.
Enregistrez le fichier et quittez.
2. Modifiez ensuite .htaccess pour activer l'authentification :
AuthUserFile /user/safe_location/.htpasswd
AuthGroupFile /dev/null
AuthName "Please Enter Password"
AuthType Basic
Require valid-user
Remplacez /user/safe_location/htpasswd avec le lieu de votre choix. Ne le stockez pas dans le même répertoire que votre contenu Web, pour des raisons de sécurité.
AuthUserFile
- Cela définit l'emplacement de votre fichier .htpasswd.
AuthGroupFile
- Nous n'utilisons pas de groupe, il s'agit donc d'un espace réservé.
AuthName
- Ceci est l'invite à l'utilisateur - vous pouvez reformuler si vous le souhaitez.
AuthType
- Type d'authentification utilisé - ne le changez pas.
Require valid-user
– Permet à l'une des nombreuses personnes autorisées de se connecter. Vous pouvez changer cela en Exiger l'utilisateur new_user pour restreindre l'accès uniquement à quelqu'un avec le nom d'utilisateur new_user .
Gérer les adresses IP
Il existe plusieurs façons de gérer les adresses IP :
- Autoriser uniquement des adresses IP spécifiques.
- Bloquer des adresses IP spécifiques.
- Bloquer les visiteurs par le référent.
Autoriser les adresses IP
Pour autoriser les adresses IP, vous pouvez modifier le comportement pour autoriser quelques adresses IP désignées et bloquer le reste.
Saisissez les commandes :
order deny, allow
allow from 192.168.0.54
allow from 192.168.0
Bloquer les adresses IP
Pour bloquer les adresses IP dans htaccess , entrez :order allow, deny
Pour bloquer une seule adresse IP, saisissez ensuite ce code :deny from 192.168.0.54
Si vous omettez le dernier chiffre, toutes les adresses IP comprises entre 0 et 255 seront bloquées :
Par exemple :deny from 192.168.0
Bloquer les visiteurs par référent
Vous voudrez peut-être empêcher les personnes d'être redirigées d'un site spécifique vers votre serveur. Cela peut être utile si vous souhaitez isoler les modèles de trafic. Vous pouvez également l'utiliser si vous receviez un trafic serveur excessif d'une source douteuse.
Ouvrez le .htaccess fichier et ajoutez le bloc suivant :
RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} blockeddomain\.com [NC]
RewriteRule .* - [F]
Le NC
l'option indique d'ignorer les majuscules ou les minuscules afin que la règle ne puisse pas être contournée en entrant BlockedDomain.com .
Si vous souhaitez ajouter d'autres domaines, notez ce qui suit :
RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} blockeddomain\.com [NC,OR]
RewriteCond %{HTTP_REFERER} blockeddomain2\.com
RewriteRule .* - [F]
Le OR
signale au système que vous n'avez pas encore fini d'ajouter des référents bloqués. Omettez cette option sur la dernière entrée.
Redirection du trafic
Vous pouvez utiliser le .htaccess fichier pour rediriger le trafic.
Ouvrez le fichier et entrez ce qui suit :
Redirect301/Other_Website.com/index.html/My_Website.com/index.html
Cette commande prend tout le trafic qui recherche Other_Website.com et le redirige vers My_Website.com .
Définir une page 404
Vous pouvez utiliser le .htaccess fichier pour pointer les fonctions de base vers un nouvel emplacement. Un exemple est la page 404 .
1. Ouvrez le .htaccess fichier et entrez :
ErrorDocument 404 /404.html
Cette ligne indique au système de rechercher dans le répertoire de contenu du site Web un /404.html fichier comme page d'erreur.
2. Créez la page 404 à l'aide de cette commande :
sudo nano cd /var/www/My_Website.com/public.html/404.html
Cela devrait ouvrir le 404.htm l fichier dans votre éditeur de texte.
3. Ensuite, ajoutez le code suivant :
<!doctype html>
<html>
<body>
404 Error: Page not found
</body>
</html>
Cette page peut maintenant être personnalisée pour afficher tout type de message d'erreur que vous souhaitez. Vous pouvez également personnaliser toutes les autres pages d'erreur que vous souhaitez. Spécifiez simplement le ErrorDocument nombre, par exemple, Erreur 500 que le point .htaccess au nouveau error.html fichier que vous créez.