La page demandée n'existe pas.
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédente | |||
tutoriel:reseau:http:serveur:apache:vhost:auto:start [2024/09/21 10:12] – supprimée - modification externe (Unknown date) 127.0.0.1 | tutoriel:reseau:http:serveur:apache:vhost:auto:start [2024/09/21 10:12] (Version actuelle) – ↷ Page déplacée de tutoriel:internet:serveur:apache:vhost:auto:start à tutoriel:reseau:http:serveur:apache:vhost:auto:start admin | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ====== Configuration d' | ||
+ | |||
+ | Les hôtes virtuels du serveur web Apache permettent d' | ||
+ | |||
+ | La génération automatique des domaines est utile si les < | ||
+ | NameVirtualHost 111.22.33.44 | ||
+ | < | ||
+ | ServerName www.customer-1.com | ||
+ | DocumentRoot / | ||
+ | ScriptAlias /cgi-bin/ / | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | ServerName www.customer-2.com | ||
+ | DocumentRoot / | ||
+ | ScriptAlias /cgi-bin/ / | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | ServerName www.customer-N.com | ||
+ | DocumentRoot / | ||
+ | ScriptAlias /cgi-bin/ / | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | <WRAP center round info 60%> | ||
+ | L' | ||
+ | * Le fichier de configuration est plus petit | ||
+ | * Ajouter des serveurs virtuels revient à créer les répertoires appropriés dans le système de fichiers et les entrées dans le DNS sans reconfigurer ni redémarrer Apache. | ||
+ | |||
+ | Un hôte virtuel est défini par : | ||
+ | * son adresse IP | ||
+ | * et le contenu de l' | ||
+ | |||
+ | Pour cela, cette information est insérée dynamiquement dans le chemin d' | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Pré-requis ===== | ||
+ | |||
+ | Il faut activer le module mod_vhost_alias par :<cli prompt=' | ||
+ | |||
+ | ===== Première étape ===== | ||
+ | |||
+ | <WRAP center round info 60%> | ||
+ | Pour rendre dynamique un hôte virtuel, il faut modifier : | ||
+ | * **UseCanonicalName Off** -> le nom du serveur est fourni par l' | ||
+ | * **DocumentRoot** | ||
+ | </ | ||
+ | |||
+ | ==== Hôte virtuel dynamique simple ==== | ||
+ | |||
+ | < | ||
+ | - **Cet extrait met en œuvre un hôte virtuel simple, mais d'une façon générique à l'aide de mod_vhost_alias** :<code - / | ||
+ | ... | ||
+ | # obtenir le nom du serveur à partir de l' | ||
+ | UseCanonicalName Off | ||
+ | | ||
+ | # ce format de journal peut être divisé par hôte virtuel sur la base du premier champ | ||
+ | LogFormat "%V %h %l %u %t \" | ||
+ | CustomLog logs/ | ||
+ | | ||
+ | # inclure le nom du serveur dans les noms de fichiers | ||
+ | VirtualDocumentRoot / | ||
+ | VirtualScriptAlias / | ||
+ | ... | ||
+ | </ | ||
+ | - **Un serveur de pages d' | ||
+ | ... | ||
+ | # obtenir le nom du serveur à partir de l' | ||
+ | UseCanonicalName Off | ||
+ | | ||
+ | # ce format de journal peut être divisé par hôte virtuel sur la base du premier champ | ||
+ | LogFormat "%V %h %l %u %t \" | ||
+ | CustomLog logs/ | ||
+ | |||
+ | # include part of the server name in the filenames | ||
+ | VirtualDocumentRoot / | ||
+ | |||
+ | # single cgi-bin directory | ||
+ | ScriptAlias /cgi-bin/ / | ||
+ | </ | ||
+ | - **Serveur virtuel basé sur l'IP plus efficace** : Amélioration des hôtes virtuels dynamiques simples. Pour éviter la recherche DNS pour transformer un nom en une adresse IP, on peut se baser sur les adresses IP elles-mêmes plutôt que sur les noms correspondants< | ||
+ | # obtenir le nom du serveur à partir du reverse DNS de l' | ||
+ | UseCanonicalName DNS | ||
+ | | ||
+ | # inclure l' | ||
+ | LogFormat "%A %h %l %u %t \" | ||
+ | CustomLog logs/ | ||
+ | | ||
+ | # inclure l' | ||
+ | VirtualDocumentRootIP / | ||
+ | VirtualScriptAliasIP / | ||
+ | </ | ||
+ | </ | ||
+ | ==== Plus d'un hôte virtuel sur le même serveur ==== | ||
+ | |||
+ | Par exemple, une adresse IP pour les pages d' | ||
+ | UseCanonicalName Off | ||
+ | |||
+ | LogFormat "%V %h %l %u %t \" | ||
+ | |||
+ | < | ||
+ | Options FollowSymLinks | ||
+ | AllowOverride All | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | Options FollowSymLinks | ||
+ | AllowOverride None | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | ServerName www.commercial.isp.com | ||
+ | | ||
+ | CustomLog logs/ | ||
+ | | ||
+ | VirtualDocumentRoot / | ||
+ | VirtualScriptAlias / | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | ServerName www.homepages.isp.com | ||
+ | | ||
+ | CustomLog logs/ | ||
+ | | ||
+ | VirtualDocumentRoot / | ||
+ | ScriptAlias /cgi-bin/ / | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | < | ||
+ | - **Sous-domaines par nom** : pour chaque domaine, on crée un fichier / | ||
+ | - **en local, sous-domaines du localhost** : Exemple : sous-domaine doc.localhost, | ||
+ | * déclarer doc.localhost dans le fichier hosts : éditez avec les droits d' | ||
+ | * Créez avec les droits d' | ||
+ | ServerAdmin administrateur@domaine.fr | ||
+ | UseCanonicalName Off | ||
+ | LogFormat "%V %h %l %u %t \" | ||
+ | CustomLog logs/ | ||
+ | |||
+ | < | ||
+ | ServerName doc.localhost | ||
+ | DocumentRoot / | ||
+ | </ | ||
+ | </ | ||
+ | - **sur le web : sous-domaines d'un domaine** : pour créer doc.mondomaine.com, | ||
+ | ServerAdmin administrateur@domaine.fr | ||
+ | UseCanonicalName Off | ||
+ | LogFormat "%V %h %l %u %t \" | ||
+ | CustomLog logs/ | ||
+ | |||
+ | < | ||
+ | ServerName doc.mondomaine.com | ||
+ | DocumentRoot / | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | ServerName localhost | ||
+ | ServerAlias *.localhost | ||
+ | # | ||
+ | VirtualDocumentRoot / | ||
+ | </ | ||
+ | |||
+ | #< | ||
+ | # | ||
+ | # | ||
+ | #</ | ||
+ | </ | ||
+ | - **Voici un exemple d' | ||
+ | * **config** -> Contiendra toute la configuration " | ||
+ | * **auth** -> liens symboliques vers les sous-domaines (subdir*) nécessitant une authentification. | ||
+ | * **ssl** -> liens symboliques vers les sous-domaines (subdir*) nécessitant un accès SSL. | ||
+ | * **logs** -> logs d' | ||
+ | * **www** -> racine de l' | ||
+ | mondomaine.tld/ | ||
+ | |-- config | ||
+ | | |-- auth | ||
+ | | `-- ssl | ||
+ | |-- logs | ||
+ | | |-- access.log | ||
+ | | `-- error.log | ||
+ | `-- www | ||
+ | |-- subdir1 | ||
+ | |-- subdir2 | ||
+ | |-- subdir3 | ||
+ | `-- subdir4 | ||
+ | </ | ||
+ | - **Configuration du domaine mondomaine.com** : | ||
+ | - Pour ce domaine, nous créons les 2 configurations suivantes dans le fichier / | ||
+ | # Configuration HTTP du domaine mondomaine.com | ||
+ | < | ||
+ | ServerName mondomaine.com | ||
+ | ServerAlias *.mondomaine.com | ||
+ | ServerAlias *.mondomaine.net | ||
+ | ServerAlias *.mondomaine.fr | ||
+ | ServerAlias *.mondomaine.eu | ||
+ | ServerAlias *.mondomaine.info | ||
+ | |||
+ | ServerAdmin webmaster@mondomaine.com | ||
+ | |||
+ | DocumentRoot / | ||
+ | < | ||
+ | Options FollowSymLinks | ||
+ | AllowOverride None | ||
+ | </ | ||
+ | < | ||
+ | Options FollowSymLinks | ||
+ | AllowOverride none | ||
+ | Order allow,deny | ||
+ | allow from all | ||
+ | </ | ||
+ | |||
+ | ########## Log Directives | ||
+ | ErrorLog / | ||
+ | CustomLog / | ||
+ | </ | ||
+ | |||
+ | # Configuration HTTPS du domaine mondomaine.com | ||
+ | < | ||
+ | ServerName mondomaine.com | ||
+ | ServerAlias *.mondomaine.com | ||
+ | ServerAlias *.mondomaine.net | ||
+ | ServerAlias *.mondomaine.fr | ||
+ | ServerAlias *.mondomaine.eu | ||
+ | ServerAlias *.mondomaine.info | ||
+ | |||
+ | ServerAdmin webmaster@mondomaine.com | ||
+ | |||
+ | DocumentRoot / | ||
+ | < | ||
+ | Options FollowSymLinks | ||
+ | AllowOverride None | ||
+ | </ | ||
+ | < | ||
+ | Options FollowSymLinks | ||
+ | AllowOverride none | ||
+ | Order allow,deny | ||
+ | allow from all | ||
+ | </ | ||
+ | |||
+ | ########## Log Directives | ||
+ | ErrorLog / | ||
+ | CustomLog / | ||
+ | |||
+ | ########## SSL Directives | ||
+ | SSLEngine on | ||
+ | SSLCertificateFile / | ||
+ | SSLCertificateKeyFile / | ||
+ | SSLCACertificateFile / | ||
+ | </ | ||
+ | </ | ||
+ | - Activation du domaine mondomaine.com :<cli prompt=' | ||
+ | - Redémarrage d' | ||
+ | - **Cas du vhost par défaut** : Pour gérer le cas d'une requête à destination d'un domaine qui n'est pas hébergé, un vhost par défaut est défini. Il est défini en premier | ||
+ | - Créer un fichier / | ||
+ | NameVirtualHost *:80 | ||
+ | NameVirtualHost *:443 | ||
+ | < | ||
+ | RewriteEngine on | ||
+ | RewriteRule ^/(.*) http:// | ||
+ | </ | ||
+ | </ | ||
+ | - On active le vhost :<cli prompt=' | ||
+ | - **Règles de comportement** : Nous souhaitons héberger le domaine mondomaine.com. | ||
+ | - Nous devons rediriger mondomaine.com vers www.mondomaine.com. | ||
+ | - Nous voulons pouvoir obtenir, le plus simplement possible, différents sous-domaines. Par exemple : | ||
+ | * blog.domaine.com doit être accessible en HTTP ou en SSL. L' | ||
+ | * webmail.domaine.com doit être obligatoirement en SSL. L' | ||
+ | * protected.domaine.com ne sera accessible qu' | ||
+ | * maitredumonde.domaine.com ne sera accessible qu' | ||
+ | - Comme nous avons également loué le domaine mondomaine.fr, | ||
+ | - En ce qui concerne les alias de domaines (différentes extensions tld), il est nécessaire de modifier la configuration du vhost en ajoutant les directives ServerAlias. En effet, les domaines n’apparaissant ni en ServerName, ni en ServerAlias seront traités par le vhost par défaut. | ||
+ | - **Utilisation des virtualhosts** | ||
+ | </ | ||
+ | ===== Autres étapes ===== | ||
+ | |||
+ | ===== Conclusion ===== | ||
+ | |||
+ | ===== Problèmes connus ===== | ||
+ | |||
+ | ===== Voir aussi ===== | ||
+ | |||
+ | * **(fr)** [[http:// | ||
+ | * **(en)** [[http:// | ||
+ | |||
+ | ---- | ||
+ | //Basé sur << [[http:// |