news
Nouvelle version de FreeBSD 14.0 x64
RF
27 juillet 2023
Mise à jour août 1, 2023

Comment créer et personnaliser .htaccess ?

Réseaux Ubuntu Serveur Web

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 :

  • Flexibilité : les fichiers de configuration permettent aux administrateurs de serveurs Web d'affiner les paramètres du serveur pour qu'ils correspondent aux exigences spécifiques de leur site Web ou de leur application. Divers paramLes paramètres peuvent être ajustés, tels que le comportement du serveur, les paramètres de sécurité, les hôtes virtuels et les configurations de module.
  • Facilité d'utilisation : les fichiers de configuration sont généralement écrits dans un format lisible par l'homme, ce qui permet aux administrateurs de comprendre et de modifier facilement les paramètres. Cette simplicité permet des ajustements et des mises à jour rapides sans avoir besoin d'une interface utilisateur complexe.
  • Contrôle de version : les fichiers de configuration peuvent être contrôlés en version à l'aide d'outils tels que Git, ce qui facilite le suivi des modifications, la collaboration avec une équipe et la restauration des configurations précédentes si nécessaire.
  • Portabilité : les fichiers de configuration peuvent être déplacés entre différents environnements de serveur, ce qui facilite le déploiement d'un site Web ou d'une application sur de nouveaux serveurs avec les mêmes paramètres.
  • Automatisation : les fichiers de configuration peuvent être modifiés ou générés programmatiquement, permettant l'automatisation de la configuration et de la maintenance du serveur. Ceci est particulièrement utile lorsqu'il s'agit de plusieurs serveurs ou lors du déploiement de sites dans un environnement cloud.
  • Sécurité : garder les paramètres de configuration séparés du code de l'application améliore la sécurité. Si le code de l'application est compromis, les paramètres sensibles du serveur restent protégés dans les fichiers de configuration.
  • Efficacité : les serveurs Web peuvent lire et analyser rapidement les fichiers de configuration au démarrage, ce qui rend le processus d'application des modifications efficace et rapide.
  • Granularité : les fichiers de configuration permettent aux administrateurs de contrôler séparément différents aspects du serveur. Par exemple, ils peuvent configurer des paramètres spécifiques pour différents hôtes virtuels, répertoires ou chemins d'URL.
  • Normalisation : de nombreux serveurs Web utilisent des formats de fichier de configuration courants, tels que Apacheest .htaccess ou Nginx's nginx.conf, permettant aux administrateurs d'appliquer leurs connaissances et leur expérience sur différentes configurations de serveur.

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

  • Droits root ;
  • Ubuntu 20.04 ou version supérieure ;
  • Plusieurs connaissances sur les OS de travail ;
  • Apache serveur Web.

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
Update OS
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 :

apt list | grep apache2
Package list
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 :

apt install apache2
Installation 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
Change value
Capture d'écran №4 — Modifier la valeur

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

cd / && find ./ -name apache2.conf && find ./ -name httpd.conf
Find config
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 :

Hierarchy of files
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 :

  • apache2.conf : Ce fichier sert de fichier central Apache fichier de configuration, contenant les paramètres globaux et définissant le pa du serveurramètres.
  • ports.conf : Un fichier de configuration essentiel chargé de spécifier les ports sur lesquels le serveur écoute.
  • sites-disponibles/ : Ce répertoire contient les fichiers de configuration de chaque hôte virtuel. Ici, vous pouvez configurer différentes configurations d'hôte. Les configurations d'hôte activées sont alors symboliquement liées depuis le répertoire "sites-enabled/".
  • mods-disponibles/ : Dans ce répertoire, vous découvrirez des fichiers de configuration pour divers Apache modules, vous permettant de gérer et d'activer/désactiver des fonctionnalités spécifiques.
  • mods-enabled/ : Il comprend des liens symboliques qui se connectent aux modules activés depuis le répertoire "mods-available/", permettant aux modules de Apachel'utilisation de.
  • conf-disponible/ : Ce répertoire contient des fichiers de configuration supplémentaires, vous offrant la possibilité d'étendre et de personnaliser Apacheles paramètres de.
  • conf-enabled/ : Dans ce répertoire, vous trouverez des liens symboliques vers les configurations supplémentaires activées depuis le répertoire "conf-available/". Il vous permet d'incorporer des configurations supplémentaires sans modifier les principaux fichiers de configuration.

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-for-test
nano /etc/apache2/sites-available/000-default.conf
Virtual host config
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
Firts page
Capture d'écran №8 — Première page
<! DOCTYPE html>
<html>
<head>
<title>TEST</title>
</head>
<body>
<h1>Hi, that test htaccess file!</h1>
</body>
</html>

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]
Override config
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 rewrite && systemctl restart apache2
Additional step
Capture d'écran №10 — Étape supplémentaire

Vérifions le résultat de nos actions :

Main page
Capture d'écran №11 — Page principale

Vérifiez l'URL de notre site :

URL page
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 !

Commandes: 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.

Order allow,deny
Allow 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 :

Forbidden
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 -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 :

<!DOCTYPE html>
<html>
<head>
<title>Page Not Found - 404 Error</title>
</head>
<h1>
<body>404 Page not found!</body>
</h1>
</html>

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

ErrorDocument 404 /error404.html
Not found
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 :

RewriteRule ^hello$ /target [R=301,L]
RewriteRule ^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".

Redirection
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.

Voter:
5 sur 5
Note moyenne : 5
Noté par : 1
1101 CT Amsterdam Pays-Bas, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300

Vous pourriez aussi aimer...

Nous utilisons des cookies pour rendre votre expérience sur le Serverspace meilleur. En poursuivant votre navigation sur notre site, vous acceptez nos
Utilisation des cookies et Politique de confidentialité.