logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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:02]
winproof [Travailler en PHP]
doc:reseau:apache2:apache2.4 [03/11/2016 16:00]
winproof [Précisions sur le fonctionnement des virtualhosts (ou comment héberger plusieurs sites)]
Ligne 33: Ligne 33:
 Après l'​installation du système, la première chose à faire est de fixer l'IP de ce système virtuel. Par exemple, 192.168.x.xx. Après l'​installation du système, la première chose à faire est de fixer l'IP de ce système virtuel. Par exemple, 192.168.x.xx.
  
-Puis de relever son hostname, par exemple "​debian-MV-server"​.+Puis de relever son hostname, par exemple "​debian-VM-server"​.
  
 Ensuite, on configure [[doc:​reseau:​ssh:​serveur|le serveur ssh]], afin de pouvoir par la suite, configurer le serveur web depuis le client ssh. Ensuite, on configure [[doc:​reseau:​ssh:​serveur|le serveur ssh]], afin de pouvoir par la suite, configurer le serveur web depuis le client ssh.
Ligne 87: Ligne 87:
   * **/​etc/​apache2/​sites-available/​** :   * **/​etc/​apache2/​sites-available/​** :
  
-Ce répertoire contient les fichiers (un par site) définissant (chemin des fichiers, droits, etc...) les différents sites disponibles .\\  +Ce répertoire contient les fichiers (un par site) définissant (chemin des fichiers, droits, etc...) les différents sites disponibles
-Puisque après l'​installation,​ il a été possible d'​afficher une page web d'​accueil,​ c'est que ce répertoire contient un fichier décrivant le site par défaut:+<note tip>​Apache utilise des "​Virtualhost"​ (voir plus bas) pour définir la configuration d'un site, y compris pour le site par défaut.\\ 
 +Donc dans la suite de ce document, le fichier de configuration d'un site (/​etc/​apache2/​sites-availables/​xxx.conf) sera appelé **fichier vhost** ou juste **vhost**</​note>​ 
 +Puisque après l'​installation,​ il a été possible d'​afficher une page web d'​accueil,​ c'est que ce répertoire contient un fichier ​vhost décrivant le site par défaut:
  
 <code root>ls /​etc/​apache2/​sites-available/</​code>​ <code root>ls /​etc/​apache2/​sites-available/</​code>​
Ligne 97: Ligne 99:
 </​file>​ </​file>​
  
-vu que l'on a affiché la page ''​http://​192.168.x.x/''​ et pas ''​https://​192.168.x.x''​ (version SSL du site), c'est donc le fichier ​000-default.conf (version classique du site par défaut) qui a été utilisé par apache pour afficher la page.+vu que l'on a affiché la page ''​http://​192.168.x.x/''​ et pas ''​https://​192.168.x.x''​ (version SSL du site), c'est donc le vhost 000-default.conf (version classique du site par défaut) qui a été utilisé par apache pour afficher la page.
  
 regardons son contenu: regardons son contenu:
Ligne 146: Ligne 148:
 Si vous regardez le contenu du fichier index.html (je ne met pas le contenu de ce fichier ici, il est trop grand) vous verrez une longue page html, avec le code correspondant a ce que vous affiche apache quand vous visitez la page ''​http://​192.168.x.x/''​. Si vous regardez le contenu du fichier index.html (je ne met pas le contenu de ce fichier ici, il est trop grand) vous verrez une longue page html, avec le code correspondant a ce que vous affiche apache quand vous visitez la page ''​http://​192.168.x.x/''​.
  
-Donc le fichier ​"​000-default.conf"​ défini le site par défaut qu'​apache affiche quand vous essayez d’accéder au site par defaut.+Donc le vhost "​000-default.conf"​ défini le site par défaut qu'​apache affiche quand vous essayez d’accéder au serveur.
  
 **Mais ce n'est pas tout!** **Mais ce n'est pas tout!**
Ligne 189: Ligne 191:
 </​note>​ </​note>​
  
-Voila un petit résumé de la façon (en gros) donc apache vous sert un site, mettons le site test.com:+Voila un petit résumé de la façon (en gros) donc apache vous sert un site, mettons le site www.test.com:
  
-1) vous allez sur http://192.168.x.x/test.com+1) vous allez sur http://www.test.com.
  
-2) apache vérifie si il existe un lien symbolique pour test.com ​dans /​etc/​apache2/​sites-enabled/​,si oui il passe au traitement du fichier correspondant,​sinon il affiche ​une erreur 404+2) votre navigateur demande au DNS l’adresse IP du domaine ​test.com, ​puis envoi une requête HTTP a l'​adresse IP correspondante.
  
-3) apache ​traite le fichier ​/​etc/​apache2/​sites-availables/test.comvérifie les droits, l’existence des fichiers/​dossiers indiqués:​\\ +3) apache ​reçoit la requête, 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.
-si quelque chose bloquevous aurez une erreur (4xx si le pb vient de vous, 5xx si c'​est ​le serveur qui plante)+
  
-4) enfin si tout est ok, apache vous affiche le site demandé.+4) apache traite le fichier /​etc/​apache2/​sites-availables/​www.test.com,​ 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) 
 + 
 +5) enfin si tout est ok, apache vous affiche le site demandé.
 \\ \\
 \\ \\
Ligne 213: Ligne 217:
 <note warning>​Pour qu'un site dans /var/www/ fonctionne, il faut ajouter une ligne dans votre fichier hosts (ou dans le DNS pour un site en prod) pour faire correspondre l'ip de votre serveur apache avec votre site. <note warning>​Pour qu'un site dans /var/www/ fonctionne, il faut ajouter une ligne dans votre fichier hosts (ou dans le DNS pour un site en prod) pour faire correspondre l'ip de votre serveur apache avec votre site.
 par exemple : <​code>​192.168.x.x ​    ​www.monsite.com</​code>​ par exemple : <​code>​192.168.x.x ​    ​www.monsite.com</​code>​
-Avec bien entendu le fichier virtualhost ​qui va bien\\+Avec bien entendu le vhost qui va bien\\
 en cas de problèmes d’accès, voir la section "​Précisions sur le fonctionnement des virtualhosts"​ plus bas</​note>​ en cas de problèmes d’accès, voir la section "​Précisions sur le fonctionnement des virtualhosts"​ plus bas</​note>​
 +
 +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 important>​Si vous créez votre site dans /​var/​www/​html,​ il s'agit alors d'un sous-domaine du site par défaut.\\
-donc pour y accéder, nul besoin d'un fichier vhost, il suffit d'​utiliser http://​192.168.x.x/​monsite.com\\ +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\\ 
-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>​+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>​
   * 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 243: Ligne 249:
 On enregistre ! On enregistre !
  
-  * On crée le fichier descriptif ​de ce site :+  * On crée le vhost de ce site :
 <code root>vi /​etc/​apache2/​sites-available/​monsite.com.conf</​code>​ <code root>vi /​etc/​apache2/​sites-available/​monsite.com.conf</​code>​
  
-<note important>​Sous apache 2.4, le fichier ​descriptif ​d'un site (donc le fichier dans "/​etc/​apache2/​sites-available"​) doit avoir l'​extension "​.conf"</​note>​+<note important>​Sous apache 2.4, le fichier ​vhost d'un site (donc le fichier dans "/​etc/​apache2/​sites-available"​) doit avoir l'​extension "​.conf"</​note>​
  
 Contenant: Contenant:
Ligne 273: Ligne 279:
  
   * Vérification :   * Vérification :
-Dans le navigateur : **''​http://​192.168.x.xx/monsite.com''​**+Dans le navigateur : **''​http://​www.monsite.com''​**
  
 <​code>​Bravo ! <​code>​Bravo !
Ligne 333: Ligne 339:
 Premièrement,​ il faut modifier l'​extension du fichier index.html pour indiquer a apache qu'il contient du php: Premièrement,​ il faut modifier l'​extension du fichier index.html pour indiquer a apache qu'il contient du php:
  
-<code root>mv /var/www/html/​monsite.com/​index.html /var/www/html/​monsite.com/​index.php</​code>​+<code root>mv /​var/​www/​monsite.com/​index.html /​var/​www/​monsite.com/​index.php</​code>​
  
 Ensuite, ajoutons le code php: Ensuite, ajoutons le code php:
  
-<code root>vi /var/www/html/​monsite.com/​index.php</​code>​+<code root>vi /​var/​www/​monsite.com/​index.php</​code>​
  
 <file php index.php>​ <file php index.php>​
Ligne 356: Ligne 362:
  
   * Tester en tapant dans le navigateur :   * Tester en tapant dans le navigateur :
-**''​http://​192.168.x.xx/monsite.com''​**+**''​http://​www.monsite.com''​**
  
 <​code>​Bravo ! <​code>​Bravo !
Ligne 448: Ligne 454:
  
 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).
  
 +<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.\\
 +**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>​
 +
 +<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 de fonctionnement:​ Exemple de fonctionnement:​
    
-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. 
doc/reseau/apache2/apache2.4.txt · Dernière modification: 31/12/2016 08:09 par smolski

Pied de page des forums

Propulsé par FluxBB