Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
logiciel:reseau:http:serveur:apache:vhost:start [2024/09/21 10:08] – supprimée - modification externe (Unknown date) 127.0.0.1 | logiciel:reseau:http:serveur:apache:vhost:start [2024/09/21 10:12] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. admin | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ====== Apache : Hôtes virtuels ====== | ||
+ | |||
+ | Les Hôtes Virtuels d'un serveur web Apache permettent d' | ||
+ | |||
+ | Les hôtes virtuels peuvent être : | ||
+ | * **par-IP (cf. [[https:// | ||
+ | * **ou par-nom** : plusieurs noms de domaine se côtoient sur des mêmes adresses IP. | ||
+ | |||
+ | <WRAP center round tip 60%> | ||
+ | **Préférez l' | ||
+ | * il suffit de configurer le serveur DNS pour que chaque domaine pointe sur l' | ||
+ | * et de configurer le serveur Apache pour qu'il reconnaisse ces domaines | ||
+ | |||
+ | Nous parlerons donc ici des hôtes virtuels par nom. | ||
+ | </ | ||
+ | |||
+ | Le serveur s’appuie sur les informations transmises dans les en-têtes HTTP des requêtes. | ||
+ | |||
+ | Les noms utilisés doivent être définis sur le serveur DNS et être liés à une adresse IP associée au serveur. | ||
+ | |||
+ | Un hôte virtuel par nom associe un nom de domaine et son site web : chaque domaine ou site, configuré dans Apache, dirige le visiteur vers un répertoire spécifique contenant les fichiers de ce site. Un serveur web peut donc héberger et gérer plusieurs sites web grâce à ce système de virtualisation. C'est le principe d'un serveur mutualisé. | ||
+ | |||
+ | La résolution d'un hôte virtuel par nom choisit le plus approprié parmi les candidats dont l'IP convient le mieux. C'est sans objet si l'on utilise un joker (*) pour l' | ||
+ | - Le serveur recherche la section **< | ||
+ | - **Toujours mettre une directive ServerName** dans un hôte virtuel par car cela conduirait à des erreurs. | ||
+ | - **Si aucune directive ServerName ou ServerAlias ne correspond** dans la liste des hôtes virtuels présentant la meilleure correspondance du point de vue adresse IP/port, c'est le premier hôte virtuel de cette liste qui sera utilisé. | ||
+ | |||
+ | ===== Pré-requis ===== | ||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | ===== Configuration ===== | ||
+ | |||
+ | <WRAP center round info 60%> | ||
+ | Depuis la version 2.4, la syntaxe des fichiers vhosts a changé : | ||
+ | < | ||
+ | - Le nom des fichiers doit se terminer par **.conf** | ||
+ | - Les directives **Allow** sont remplacées par **Require** | ||
+ | </ | ||
+ | |||
+ | ^ ^ Remplacer (ancienne syntaxe) | ||
+ | ^ autoriser toutes les requêtes | ||
+ | ^ interdire toutes les requêtes | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | - **Pour chaque domaine** à définir, créez un fichier / | ||
+ | - Dans ce fichier, créez une section **VirtualHost** pour chaque domaine ou sous-domaine :<code - / | ||
+ | < | ||
+ | ServerName www.domaine.tld | ||
+ | ServerAlias domaine.tld *.domaine.tld | ||
+ | |||
+ | DocumentRoot / | ||
+ | ... | ||
+ | </ | ||
+ | </ | ||
+ | * Le premier hôte virtuel du fichier est l' | ||
+ | * **__Directives obligatoires__** d'une section VirtualHost : | ||
+ | * **ServerName** : nom du serveur | ||
+ | * **DocumentRoot** : racine du serveur sur le système de fichiers | ||
+ | * **__Directives facultatives__** : | ||
+ | * **ServerAlias** : autres noms permis pour accéder au même site Web (jokers * et ? autorisés) | ||
+ | - **Tutoriel : [[tutoriel: | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Utilisation ===== | ||
+ | |||
+ | < | ||
+ | - **[[tutoriel: | ||
+ | </ | ||
+ | |||
+ | Supposons que : | ||
+ | * vous hébergez le domaine www.exemple.com | ||
+ | * et vous souhaitez ajouter l' | ||
+ | |||
+ | Créez le fichier :<code - / | ||
+ | < | ||
+ | # Le premier hôte virtuel de la liste est aussi le serveur par défaut pour *:80 | ||
+ | ServerName www.example.com | ||
+ | ServerAlias example.com | ||
+ | DocumentRoot "/ | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | ServerName other.example.com | ||
+ | DocumentRoot "/ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | On peut aussi spécifier une adresse IP explicite à la place de * dans la directive < | ||
+ | |||
+ | Plusieurs serveurs sont accessibles par plus d'un nom. Il suffit de placer la directive ServerAlias dans une section < | ||
+ | ServerAlias exemple.com *.exemple.com | ||
+ | </ | ||
+ | |||
+ | La recherche del' | ||
+ | |||
+ | La liste complète des noms dans la section VirtualHost est traitée comme une directive ServerAlias sans caractères génériques. | ||
+ | |||
+ | Vous pouvez affiner la configuration des hôtes virtuels en plaçant d' | ||
+ | |||
+ | |||
+ | ===== Désinstallation ===== | ||
+ | |||
+ | ===== Problèmes connus ===== | ||
+ | |||
+ | ===== Voir aussi ===== | ||
+ | |||
+ | * **(fr)** [[https:// | ||
+ | |||
+ | ---- | ||
+ | //Basé sur << [[https:// |