Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:reseau:apache2:apache2.4 [03/11/2016 16:31] winproof [Précisions sur le fonctionnement des virtualhosts (ou comment héberger plusieurs sites)] |
doc:reseau:apache2:apache2.4 [01/12/2016 13:44] winproof [Précisions sur le fonctionnement des virtualhosts (ou comment héberger plusieurs sites)] |
||
---|---|---|---|
Ligne 223: | Ligne 223: | ||
Donc pour commencer, allez donc ajouter dans votre fichier hosts (/etc/hosts sous debian, C:\Windows\System32\drivers\etc\hosts sous windows 7) la ligne qui va bien. | Donc pour commencer, allez donc ajouter dans votre fichier hosts (/etc/hosts sous debian, C:\Windows\System32\drivers\etc\hosts sous windows 7) la ligne qui va bien. | ||
- | <note important>Si vous créez votre site dans /var/www/html, il s'agit alors d'un sous-domaine du site par défaut.\\ | + | <note warning>Dans beaucoup de tuto apache2 pour debian, il est indiqué de créer son site dans **/var/www/html/** et de créer le vhost.\\ |
- | donc pour y accéder, nul besoin d'un fichier vhost ni de modifier le fichier hosts, il suffit d'utiliser http://192.168.x.x/monsite.com\\ | + | Mais si vous créez votre site dans /var/www/html, il s'agit alors d'un sous-domaine du site par défaut, et pas d'un vhost!.\\ |
- | le problème de cette configuration est que le répertoire du site monsite.com étant sous /var/www/html/, le site monsite.com hérite des autorisations du site par défaut.</note> | + | |
+ | Ce qui a pour conséquence qu'en activant le vhost, votre site est bien accessible par http://192.168.x.x/monsite.com, ce qui semble indiquer que tout fonctionne, or c'est faux!\\ | ||
+ | en effet, désactivez le vhost, et vous verrez que votre site http://192.168.x.x/monsite.com est toujours fonctionnel.\\ | ||
+ | car en fait, avoir mis le site sous /var/www/html/ fait qu'il est servi par le vhost par defaut (000-default.conf) et pas par le vhost monsite.com.conf. | ||
+ | Du coup toutes les éventuelles directives de sécurité que vous auriez mis dans le vhost monsite.com.conf ne sont pas prise en compte, puisque le vhost lui-même n'est pas utilisé.</note> | ||
+ | |||
+ | <note tip>Si vous voulez vraiment faire des test sans vhost ni toucher au fichier host, ou si vous n'avez qu'un seul site 8-), c'est une solution.\\ | ||
+ | donc pour y accéder, il suffit d'utiliser http://192.168.x.x/monsite.com.\\ | ||
+ | le problème de cette configuration est que le répertoire du site monsite.com étant sous /var/www/html/, le site monsite.com hérite des autorisations du site par défaut.\\ | ||
+ | on peut contourner ce problème, en définissant dans le vhost par défaut une directive Alias:\\ | ||
+ | <code>Alias /monsite.com /var/www/monsite.com</code> --> dit a apache que pour un accès à http://192.168.x.x/monsite.com c'est le repertoire /var/www/monsite.com qui doit étre servi, et pas le repertoire /var/www/html/monsite.com.\\ | ||
+ | cela permet, en définissant une section <Directory> dans le vhost 000-default.conf, de donner a son site d'autres directives de sécurité que celle définies pour le site par défaut.\\ | ||
+ | mais c'est pas franchement propre comme façon de faire :-(. </note> | ||
* On crée un dossier dans /var/www/ : | * On crée un dossier dans /var/www/ : | ||
Par exemple "monsite.com" qui va pouvoir accueillir le site internet. | Par exemple "monsite.com" qui va pouvoir accueillir le site internet. | ||
Ligne 285: | Ligne 298: | ||
La mise en place d'un Virtualhost est réussie !</code> | La mise en place d'un Virtualhost est réussie !</code> | ||
+ | |||
+ | Ça ne fonctionne pas? vérifiez votre fichier hosts ! | ||
Bon, il y a encore un petit problème d'encodage :-D | Bon, il y a encore un petit problème d'encodage :-D | ||
Ligne 452: | Ligne 467: | ||
Cette requête contient (entre autre) un champ "Host" (dans l’en-tête de la requête) correspondant au nom du serveur demandé.\\ | Cette requête contient (entre autre) un champ "Host" (dans l’en-tête de la requête) correspondant au nom du serveur demandé.\\ | ||
ce champ est rempli a partir de l'URL que vous avez tapé, par exemple:\\ | ce champ est rempli a partir de l'URL que vous avez tapé, par exemple:\\ | ||
+ | |||
%%URL http://www.debian.com --> champ host rempli avec www.debian.com%%\\ | %%URL http://www.debian.com --> champ host rempli avec www.debian.com%%\\ | ||
%%URL http://192.168.x.x --> champ host rempli avec 192.168.x.x%%\\ | %%URL http://192.168.x.x --> champ host rempli avec 192.168.x.x%%\\ | ||
+ | |||
https://fr.wikipedia.org/wiki/Hypertext_Transfer_Protocol#/media/File:Requ%C3%AAte_HTTP.png\\ | https://fr.wikipedia.org/wiki/Hypertext_Transfer_Protocol#/media/File:Requ%C3%AAte_HTTP.png\\ | ||
https://openclassrooms.com/courses/les-requetes-http | https://openclassrooms.com/courses/les-requetes-http | ||
Ligne 467: | Ligne 484: | ||
si vous voulez vraiment désactiver le vhost par defaut (et donc avoir une erreur 404 au lieu de la page "it's work") il faut supprimer le dossier /var/www/html </note> | si vous voulez vraiment désactiver le vhost par defaut (et donc avoir une erreur 404 au lieu de la page "it's work") il faut supprimer le dossier /var/www/html </note> | ||
- | Exemple des problèmes que cela peut poser: | ||
- | |||
- | vous venez d'installer apache ,vous tentez d’accéder a http://192.168.x.x, le champ "host" de votre requête HTTP contient 192.168.x.x. | ||
- | comme cette ip ne correspond a rien coté ServerName/ServerAlias, apache vous sert sa page par défaut. | ||