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 13:54] winproof [Introduction] |
doc:reseau:apache2:apache2.4 [03/11/2016 16:31] winproof [Précisions sur le fonctionnement des virtualhosts (ou comment héberger plusieurs sites)] |
||
---|---|---|---|
Ligne 191: | Ligne 191: | ||
</note> | </note> | ||
- | Voila un petit résumé de la façon (en gros) donc apache vous sert un site, mettons le site www.test.com: | + | Voila un petit résumé de la façon (en gros) donc apache vous sert un site, mettons le site www.debian.com: |
- | 1) vous allez sur http://www.test.com | + | 1) vous tapez dans votre navigateur l'adresse http://www.debian.com |
- | 2) votre navigateur demande au DNS l’adresse IP du domaine test.com, puis envoi une requête HTTP a l'adresse IP correspondante | + | 2) votre navigateur demande au DNS l’adresse IP du domaine debian.com, puis envoi une requête HTTP a l'adresse IP correspondante. |
- | 3) apache vérifie si il existe un lien symbolique pour www.test.com dans /etc/apache2/sites-enabled/,si oui il passe au traitement du fichier correspondant,sinon il affiche une erreur 404 (si pas de site par défaut) ou vous affiche le site par défaut. | + | 3) apache reçoit la requête, vérifie si le site demandé existe (lien vers le vhost dans /etc/apache2/sites-enable/),si oui il passe au traitement du fichier correspondant,sinon il vous affiche le site par défaut (ou une erreur 404 si pas de site par défaut). |
+ | <note tip>C'est a ce niveau qu’intervient la notion de VirtualHost (voir plus bas)</note> | ||
- | 4) apache traite le fichier /etc/apache2/sites-availables/www.test.com, vérifie les droits, l’existence des fichiers/dossiers indiqués:\\ | + | 4) apache traite le fichier /etc/apache2/sites-availables/debian.com.conf, vérifie les droits, l’existence des fichiers/dossiers indiqués:\\ |
- | si quelque chose bloque, vous aurez une erreur (4xx si le pb vient de vous, 5xx si c'est le serveur qui plante) | + | si quelque chose bloque, vous aurez une erreur. (4xx si le pb vient de vous, 5xx si c'est le serveur qui plante) |
5) enfin si tout est ok, apache vous affiche le site demandé. | 5) enfin si tout est ok, apache vous affiche le site demandé. | ||
Ligne 450: | Ligne 451: | ||
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:\\ | ||
+ | %%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%%\\ | ||
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 | ||
c'est la valeur de ce champ qu'apache va utiliser pour savoir quel site servir. | c'est la valeur de ce champ qu'apache va utiliser pour savoir quel site servir. | ||
- | Apache va parcourir ses différents fichiers vhost pour rechercher les directives "ServerName" et "ServerAlias" et servir le répertoire correspondant (défini par "DocumentRoot" dans le vhost) | + | Apache va parcourir ses différents fichiers vhost pour rechercher les directives "ServerName" et "ServerAlias" et servir le répertoire correspondant (défini par "DocumentRoot" dans le vhost). |
<note important>Apache lit ses fichiers vhost dans l'ordre alphabétique, et sert le premier si aucune correspondance n'a été trouvée dans les autres vhost. | <note important>Apache lit ses fichiers vhost dans l'ordre alphabétique, et sert le premier si aucune correspondance n'a été trouvée dans les autres vhost. | ||
- | C'est pour cela que le vhost par défaut est nommé 000-default.conf, pour qu'il soit en premier dans l'ordre alphabétique. | + | C'est pour cela que le vhost par défaut est nommé 000-default.conf, pour qu'il soit en premier dans l'ordre alphabétique.\\ |
- | cela veut dire que si vous désactivez le vhost par defaut, le suivant dans l'ordre alphabétique deviendra le site par défaut. </note> | + | **cela veut dire que si vous désactivez le vhost par defaut, le suivant dans l'ordre alphabétique deviendra le site par défaut.** </note> |
- | Exemple de fonctionnement: | + | <note tip>Si vous tentez de désactiver le vhost par défaut (via a2dissite 000-default.conf) sans avoir un autre vhost, apache continuera a vous servir le contenu de /var/www/html, c'est un comportement propre a apache 2.4, mis en place pour des raisons de sécurité.\\ |
+ | 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 | + | 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. |