01.08.2023

Comment créer et personnaliser .htaccess ?

Introduction

Nous ne pouvons pas imaginer un monde moderne sans marché en ligne, boutique, moteur de recherche, messagers et tous les composants précieux du WEB, qui nous ont permis de communiquer plus rapidement. Mais les nouvelles fonctionnalités nous apportent également de nouvelles vulnérabilités et des détails dont nous avons besoin pour continuer et rapiréagir rapidement. Pour ces options, nous avons besoin d'un seul panneau pour le serveur de contrôle, c'est .htaccess!

Configurer des serveurs Web via des fichiers de configuration est une pratique courante et confortable pour plusieurs raisons :

Dans l'ensemble, les fichiers de configuration offrent un moyen simple et efficace de gérer les serveurs Web, en accordant aux administrateurs des options de contrôle et de personnalisation pour optimiser les performances et la sécurité du serveur afin de répondre à leurs besoins spécifiques.


Exigences

Installation:

La première étape de ce guide commence par la mise à jour et la mise à niveau de tout le système, pour ce type dans le CLI commande ci-dessous :

apt update && apt upgrade -y

Capture d'écran №1 - Mettre à jour le système d'exploitation

Si vous avez déjà Apache webserver, vous pouvez ignorer cette étape de l'installation et continuer, mais si vous ne préparez pas de serveur, entrez cette commande ci-dessous et assurez-vous que vous avez besoin du package :

liste appropriée | grep apache2

Capture d'écran №2 — Liste des packages

Après cela, si nous trouvons notre package comme sur l'image ci-dessus, puis installez le serveur Web, il s'exécute automatiquement et démarre son service :

installer apache2

Capture d'écran №3 — Installation apache2

Après l'installation de Apache2, il se lancera automatiquement, et ses fichiers de configuration seront situés à différents endroits selon votre système d'exploitation. Dans ce serveur Web, nous utilisons httpd.conf (ou apache2.conf sur certains systèmes) fichier de configuration pour setup global paramètres. Rappel! Htaccess que nous utilisons pour remplacer certaines règles de procédure client requête et optimiser la réponse de notre serveur.

Il est crucial de s'assurer que votre serveur Web autorise l'utilisation des fichiers .htaccess. Pour ce faire, vérifiez que la directive AllowOverride est activée dans le Apache2 fichier de configuration (httpd.conf ou apache2.conf). Modifier la valeur Autoriser Override à Tous:

nano ./etc/apache2/apache2.conf

Capture d'écran №4 — Modifier la valeur

Si vous ne trouvez pas le répertoire nécessaire, utilisez la commande ci-dessous :

cd / && trouver ./ -nom apache2.conf && trouver ./ -nom httpd.conf

Capture d'écran №5 — Trouver la configuration

En activant AllowOverride, vous accordez au serveur la possibilité d'interpréter les directives spécifiées dans les fichiers .htaccess situés dans les répertoires de votre site Web. Cela permet des configurations plus flexibles et personnalisées au niveau du répertoire, améliorant ainsi la fonctionnalité et la sécurité globales de votre serveur Web.

Dans la hiérarchie de configuration des paramètres par défaut :

Capture d'écran №6 — Hiérarchie des fichiers

L'agencement de Apache les fichiers peuvent varier en fonction du système d'exploitation et de la méthode d'installation. Cependant, voici l'organisation générale couramment utilisée dans la plupart des installations :

Nous pouvons maintenant configurer le fichier htaccess, qui est l'extension de remplacement pour notre configuration actuelle. Toutes les modifications et valeurs de ce fichier affecteront la configuration en résultat. Montrons comment cela fonctionne sur la configuration ordinaire.

Dans un premier temps, vous devez activer la fonction de remplacement et indiquer DocumentRoot dans la configuration de l'hôte virtuel pour cette entrée dans CLI:

mkdir /etc/site-pour-test
nano /etc/apache2/sites-disponibles/000-default.conf

Capture d'écran №7 — Configuration de l'hôte virtuel

Changer parameter ServerName pour votre propre domaine et AllowOverride pour valeur All. Rappel! Vous devez avoir sur le DNS panneau de contrôle conforme à l'enregistrement, qui indique l'adresse IP publique de votre serveur ! Changez DocumentRoot pour votre répertoire de travail avec les pages et les fichiers du site nécessaire. Dans ce cas, nous créons un répertoire site-for-test. Ensuite, créez votre première page simple ou si vous utilisez votre propre site Web, sautez cette étape :

nano /etc/site-for-test/index.html

Capture d'écran №8 — Première page




TEST


Salut, ce fichier test htaccess !

Le contenu de votre page peut être avec une autre configuration et structure, mais le sens a été enregistré. Créons dans le même dossier le fichier .htaccess qui construit une chaîne logique entre html et l'action de l'utilisateur. Créer un fichier :

nano /etc/site-for-test/.htaccess
RewriteEngine On
RewriteRule "hello$ index.html [L]

Capture d'écran №9 — Remplacer la configuration

Cette configuration par la syntaxe RewriteEngine On activer la réécriture du module sur le serveur et sur la prochaine règle de reconstruction brute qui est littéralement attribuée à la page html et à l'attribut [L] signifie que la dernière règle pour exécuter et suivre les instructions sera ignorée. Pour fonctionner correctement, nous devons activer le module de réécriture qui inclut apache2 package et service de redémarrage :

sudo a2enmod réécriture && redémarrage systemctl apache2

Capture d'écran №10 — Étape supplémentaire

Vérifions le résultat de nos actions :

Capture d'écran №11 — Page principale

Vérifiez l'URL de notre site :

Capture d'écran №12 — Page URL

Contrôle d'accès

Prenons un exemple populaire d'utilisation de .htaccess. Le fichier .htaccess sert d'outil de configuration puissant qui peut contrôler l'accès aux fichiers, dossiers et répertoires entiers de vos sites Web !

Commander: Cette commande détermine l'ordre dans lequel les directives sont exécutées. Il établit la préséance des directives ultérieures, quelle que soit leur disposition dans le dossier.

Refuser: En utilisant cette directive, vous pouvez interdire l'accès à un répertoire particulier à partir d'adresses ou d'adresses IP spécifiées.

Autoriser: A l'inverse, cette directive autorise l'accès à l'annuaire uniquement à partir des adresses ou adresses IP spécifiées.

En utilisant ces commandes, vous pouvez facilement personnaliser l'accès à des ressources spécifiques sur votre serveur Web. Par exemple, vous pouvez utiliser .htaccess pour restreindre l'accès aux informations sensibles dans une conception.nated ou accorder l'accès exclusivement à des adresses IP spécifiques, améliorant ainsi la sécurité et exerçant un contrôle sur les ressources de votre site Web. Ouvrez le fichier .htaccess que nous avons créé auparavant et entrez cette configuration en plus de la syntaxe précédente.

Ordre autoriser, refuser
Autoriser 95.141.86.46

Cette configuration détermine l'accès du processus au dossier sur le serveur, autorise donc l'accès exclusivement pour notre adresse IP. Vous devez remplacer cette valeur par votre adresse réseau ! Dans le résultat, nous pouvons voir l'indicateur Interdit de se connecter au site à partir d'une autre adresse IP :

Capture d'écran №13 — Interdit

Les index restreignent

Pour améliorer la sécurité, vous pouvez empêcher la liste des répertoires dans Apache serveur Web. Par défaut, si aucun fichier index.html ou spécifié n'est trouvé dans un répertoire, Apache affiche une liste de tous les fichiers présents dans ce répertoire. Pour désactiver cette fonctionnalité et limiter la liste des répertoires, appliquez la configuration suivante :

options de -Indexes

Non trouvé — 404

Pour rediriger les visiteurs vers une page 404 (la page "Not Found") lorsque la page demandée est manquante, vous pouvez implémenter le code suivant :

nano /etc/site-for-test/error404.html

Entrez le contenu suivant dans le fichier :




Page introuvable - Erreur 404


404 Page non trouvée!
DEVIS, REPARATION, UN DOUTE?

Ajoutez ensuite à une configuration .htaccess et terminez la configuration :

ErrorDocument 404 / error404.html

Capture d'écran №14 — Introuvable

Redirection

Créez une page html comme nous l'avons considéré à l'étape précédente et créez un fichier cible à rediriger :

nano /etc/site-for-test/targeturl.html

Pour réaliser la redirection de "/hello" vers "/target" avec une redirection 301 (permanente), vous pouvez utiliser la RewriteRule suivante dans votre fichier .htaccess :

Règle de réécriture ^hello$ /target [R=301,L]
Règle de réécriture ^hello$ index.html
RewriteRule ^target$ targeturl.html

RewriteEngine On : Ceci active le RewriteEngine, permettant l'utilisation de règles de réécriture dans le fichier .htaccess.

RewriteRule ^hello$ /target [R=301,L] : cette règle fait correspondre les requêtes à "/hello" (le "^" indique le début et "$" indique la fin de l'URL) et les redirige vers "/target" en utilisant une redirection 301 (permanente). Le drapeau "R=301" indique une redirection permanente, et le drapeau "L" indique qu'il s'agit de la dernière règle à être exécutée.

Avec cette configuration, toute requête vers "/hello" sera redirigée vers "/target" avec un code d'état 301, ce qui signifie qu'il s'agira d'une redirection permanente. Les autres règles présentes dans le fichier .htaccess après celui-ci ne seront pas exécutées à cause du drapeau "L".

Capture d'écran №15 — Redirection

Conclusion

Le fichier .htaccess est un outil puissant pour contrôler l'accès aux ressources sur un serveur Web. Il offre aux administrateurs Web la possibilité de définir l'ordre d'exécution des directives, de bloquer l'accès à partir d'adresses IP ou d'adresses spécifiques à l'aide de la directive "Refuser" et d'accorder l'accès uniquement aux emplacements spécifiés avec la directive "Autoriser". Cela offre aux administrateurs la possibilité de personnaliser le contrôle d'accès, garantissant la sécurité et un contrôle précis des ressources du serveur.

De plus, le fichier .htaccess sert également à d'autres fins importantes. Il peut gérer les index, empêcher les listes de répertoires et ainsi améliorer la sécurité en n'exposant pas les fichiers sensibles. De plus, il peut gérer les erreurs 404 (introuvable), permettant aux administrateurs de rediriger les visiteurs vers une page d'erreur personnalisée lorsqu'une page demandée est manquante ou indisponible.

De plus, la directive "RewriteRule" dans le fichier .htaccess permet de puissantes capacités de redirection. Les administrateurs Web peuvent utiliser cette directive pour effectuer des redirections d'URL, dirigeant les visiteurs d'une URL à une autre. Cela peut être utile pour créer des URL conviviales, mettre en œuvre des redirections permanentes ou temporaires ou gérer les modifications de la structure du site Web.

En résumé, le fichier .htaccess est un outil polyvalent et indispensable pour la configuration du serveur Web. Il permet de contrôler l'accès, la sécurité, la gestion des erreurs et la redirection d'URL, ce qui en fait un composant essentiel pour optimiser et personnaliser un serveur Web afin de répondre aux exigences spécifiques d'un site Web ou d'une application.