Nota :
Contributeurs, les sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !
Une mise au point pour commencer : /etc/hosts concerne la résolution locale de noms d'hôtes alors que /etc/apache2/sites-enable concerne les sites gérés par apache (virtualhosts).
Ce sont deux domaines qui n'ont strictement rien à voir.
Voici ce que fait un navigateur pour accéder à http://site/ressource :
On voit que pour que tout cela fonctionne, le serveur web qui répond à l'adresse IP obtenue par la résolution du nom “site” doit héberger un site nommé “site”. L'adresse IP locale réelle du serveur peut être totalement différente, peu importe.
Revenons maintenant au fichier /etc/hosts.
Sa syntaxe est décrite dans sa page de manuel :
man hosts
Il y est bien précisé qu'il ne doit en principe y avoir qu'une ligne par adresse IP, contenant un ou plusieurs noms d'hôtes.
Le premier nom est dit “canonique” (principal), les suivants sont des alias.
Le fichier /etc/hosts est consulté pour la résolution de noms par les processus locaux, pour déterminer l'adresse IP associée à un nom d'hôte et vice versa.
Un navigateur web tournant sur une autre machine utilise son propre fichier hosts, pas le fichier hosts du serveur.
Le DNS est une alternative qui permet de centraliser la résolution de noms sur des serveurs communs plutôt que de devoir gérer les fichiers hosts de chaque machine.
rajouté par lagrenouille
Si tu n'as qu'une seule machine sur laquelle tournent à la fois le client et le serveur web, alors le fichier hosts suffit.
Le fichier hosts permet de faire correspondre facilement des adresses IP à des noms de domaine.
Le meilleur exemple mon réseau local où je me connecte sans avoir à taper l'adresse IP complète.
pour accéder en ssh à mon serveur, pas besoin de l'ip car il est dans le hosts
mon fichier hosts sur le serveur
$ cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 lebug.home lebug #127.0.0.1 localhost/nextcloud 127.0.0.1 funambule.org # # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
cette adresse est IP dans le fichier hosts de façon à ce que je n'ai qu'a taper:
<code> ssh lagrenouille@etmabule.org</code>
Lien sur le forum :
Merci aux participants de cette discussion pour avoir permis la rédaction de ce tuto.