apache2 VirtualHosts Adresse sur réseau local ?

Bonjour,

je me bats depuis trois jours avec les hôtes virtuels d’apache. Ainsi, j’ai suivi scrupuleusement le tuto du wiki :[quote]Pour créer un site, il faut créer un fichier dans /etc/apache2/sites-available[/quote]
Donc : création de /etc/apache2/sites-available/monsite édité convenablement, puis activation (le lien est bien créé), création de /var/www/monsite/index.html

Sur le réseau local, dans un navigateur : ip_du_serveur/monsite (qui est le nom de mon répertoire) renvoie ce qu’il faut.

J’ai pensé donner le nom complet du site au répertoire, mais pourquoi le déclarer dans le fichier dans ce cas ?
J’ai bien essayé de modifier /etc/hosts, sans succès.

Bref, je manque cruellement de repères, voilà pourquoi je me tourne vers vous. D’autant que j’ai commencé à gratter un peu avec la documentation officielle, qui indique :[quote]Il vous suffit d’ajouter la configuration suivante à httpd.conf[/quote]
Ce fichier est bien là, mais il est vide, ce qui est normal.
Je ne sais plus trop où j’en suis.
Merci par avance.

Salut,
Il y a quoi dans les fichiers du (des) vhost(s) ?
httpd.conf est remplacé par apache2.conf qui lui même charge ce qui est dans sites-enabled, conf.d et le dossier des modules (j’ai pas le nom en tête)…

Merci de me répondre. Très simplement :

<VirtualHost *:80>
       # ServerAdmin webmaster@example.org
       ServerName  www.monsite.fr
       # ServerAlias foo.example.org bar.example.org
       DocumentRoot /var/www/monsite

       <Directory /var/www/monsite>
               Options -Indexes FollowSymLinks -MultiViews
               AllowOverride None
               Order allow,deny
               allow from all
       </Directory>
  
	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
       LogLevel warn

       CustomLog ${APACHE_LOG_DIR}/access.log combined
       ErrorLog ${APACHE_LOG_DIR}/error.log
</VirtualHost>

Salut,
Logiquement si tu renseignes le fichier /etc/hosts tu devrais y aller avec monsite.fr
Ou sinon ton_IP_ou_ton_nom_de_machine/monsite

/etc/hosts ... ton_IP www.monsite.fr

Si tu n’as pas une résolution de nom convenable (qui point vers ton ip) c’est normal que tu n’y accède pas.

… que tu fais n’importe quoi. L’inconvénient avec les tutoriels, c’est qu’ils décrivent le comment mais pas toujours le pourquoi. Résultat, on ne comprend pas ce qu’on fait et on se plante.

Reprenons.

  • Ton fichier de virtualhost définit un site nommé “www.monsite.fr” (ServerName) dont la racine se trouve dans le répertoire local /var/www/monsite (DocumentRoot). Cela signifie qu’avec l’URL monsite.fr on accède au contenu de /var/www/monsite.

  • Avec l’URL ip_du_serveur/www.monsite.fr, tu demandes le contenu du document ou répertoire “www.monsite.fr” sur le site ip_du_serveur. Et pas du tout la racine du site “www.monsite.fr”.

  • L’URL ip_du_serveur/monsite n’utilise pas le virtualhost “www.monsite.fr” mais le site par défaut du serveur dont la racine est visiblement /var/www/.

Pour accéder au site “www.monsite.fr”, il faut faire pointer son nom vers l’adresse IP du serveur. Et ça, ça ne se configure pas dans Apache mais dans la résolution de nom, soit localement sur le poste client (et non sur le serveur, sauf si c’est le même) dans le fichier /etc/hosts comme indiqué par Laurent, soit dans la zone DNS monsite.fr si tu as un serveur DNS.

En gros, le nom du site dans l’URL http sert à deux choses totalement différentes :

  • d’abord, identifier le serveur qui sert le site recherché, pour s’y connecter ;
  • ensuite, identifier le site à demander au serveur, celui-ci pouvant héberger plusieurs sites sur la même adresse IP.

Merci beaucoup, je viens de suivre vos conseils et explications précieuses, c’est très clair et j’ai bien le résultat espéré (smiley qui exprime mon respect)

Comme vous êtes là, je me permets quelques interrogations supplémentaires :

  • dois-je désactiver le site par défaut pour éviter mes âneries ? (a2dissite default)

  • il se trouve que j’ai le nom de domaine monsite.fr (je garde le même exemple) Il suffit que je donne mon ip fixe brute (xxx.xxx.xxx.xxx) comme redirection à mon hébergeur ?

  • sachant qu’il s’agit d’un petit site perso, quel intérêt ai-je à installer un serveur DNS ?

  • j’ai aussi créé un sous-domaine chez mon hébergeur, là aussi, est-ce que je créé une redirection chez lui, où bien je supprime chez l’hébergeur et je recrée sur mon serveur, auquel cas le serveur DNS devient impératif, si j’ai bien tout compris.

Par ailleurs :

C’est terrible, on se fréquente depuis quelques jours à peine et il me connaît déjà si bien :wink: .

Re,

[quote=“legaub”]dois-je désactiver le site par défaut pour éviter mes âneries ? (a2dissite default)[/quote]Non, Apache sait qu’il faut rediriger vers /var/www/monsite

[quote=“legaub”]Il suffit que je donne mon ip fixe brute (xxx.xxx.xxx.xxx) comme redirection à mon hébergeur ?[/quote]Oui (il faut quand même aussi une règle NAT sur le routeur.

[quote=“legaub”]sachant qu’il s’agit d’un petit site perso, quel intérêt ai-je à installer un serveur DNS ?[/quote]Oui si tu souhaites joindre ton site sur l’Intranet A PARTIR de l’Intranet (à moins de configurer tous les fichiers “hosts” de toutes les machines de ton réseau).
Oui, c’est un excellent exercice pour commencer à percevoir le fonctionnement de la résolution de nom.

[quote=“legaub”]j’ai aussi créé un sous-domaine chez mon hébergeur, là aussi, est-ce que je créé une redirection chez lui, où bien je supprime chez l’hébergeur et je recrée sur mon serveur, auquel cas le serveur DNS devient impératif, si j’ai bien tout compris.[/quote]Là c’est moi qui ai pas tout capté… Au final il est ou le sous-domaine ? Chez ton hébergeur ou chez toi ?

Merci encore de tes réponses, je vais suivre tes conseils.

C’est moi qui n’ai pas été assez clair. Actuellement le domaine et le sous-domaine sont chez l’hébergeur. J’envisageais deux options :

  • le laisser déclaré chez l’hébergeur et le rediriger vers mon serveur, vers un autre virtual host, apache faisant le reste.

  • le supprimer de chez l’hébergeur et le recréer sur mon serveur, mais cela nécessite qu’il soit référencé quelque part, d’où la nécessité d’installer moi-même un serveur DNS. Si j’ai bien compris. Remarque que je pourrais me poser la question pour le domaine aussi.

Du coup, je suis en train de me demander ce que me fournit l’hébergeur auquel j’ai acheté le nom de domaine. Est-ce qu’il se contente de m’enregistrer ? Va falloir que je lise les petites lignes. Je suis pas au bout de mes peines.

Re,
C’est, désolé, encore un peu flou.

Tu as un domaine (éventuellement des sous-domaines) déclaré(s) dans le DNS de ton registrar. Ce domaines et les sous-domaines peuvent pointer sur le(s) serveurs de ton choix: Chez toi ou chez un hébergeur, ou les deux…
J’ai des domaines & sous-domaines éparpillés sur plusieurs serveurs éloignés de milliers de km.

Ce domaine (et éventuellement les sous-domaines) est hébergé, soit chez un hébergeur (qui peut être ton registrar) soit chez toi, soit les deux (s’il y a des sous-domaines).
Il s’agit finalement de dossiers contenant des applications Web. Le serveur apache, s’il est bien configuré redirigera les requêtes vers les bons dossiers

Tu nous parles des DNS (et des enregistrements inscrits dedans) ou d’apache (et des dossier contenant les sites) ?

Quand tu auras fait la lumière sur ce point tu auras probablement répondu à tes questions…

C’est flou, c’est normal, ça l’est encore pour moi comme tu l’as compris.

En fait, je parle à la fois de l’hébergement et des DNS, car jusqu’à maintenant je ne me posais pas la question, tout était chez mon registar = boîte noire.

Absolument, en ce moment, j’apprends à distinguer les deux.

Il me semble que j’ai un peu cerné la partie hébergement = des fichiers sur un serveur apache auxquels il faut accéder.

Par contre, si ces fichiers sont hébergés chez moi, je ne vois plus bien le rôle de mon registar. Il tient les DNS à jour et m’enregistre auprès des autorités. Et c’est tout ?

Du coup, si j’installe un serveur DNS à la maison et que j’y déclare mon domaine, que reste-t-il à mon registar ? Il va dupliquer mes infos ou conserver les siennes ? Ou je dois m’assurer qu’elles sont cohérentes ? Je dois impérativement comprendre cette histoire de DNS.

Salut,
Alors:
1 Tu es obligé d’avoir un registrar…
2 Chez ce registrar, tu as le choix:

  • Tu fais pointer les DNS chez lui et tu paramètre le DNS chez lui (en général dans une interface + ou - simplifiée)
  • Tu fais pointer les DNS vers un autre DNS (chez un hébergeur, chez toi ou chez un copain…)

Tu peux mettre les sites chez le registrar (s’il fait aussi office d’hébergeur), chez toi, ou n’importe ou ailleurs.

Le principal étant que les DNS de ton domaine pointent vers un serveur convenablement configuré (chez ton registrar, chez un hébergeur ou chez toi).

Quand tu achète un domaine chez un registrar, par défaut il configure les DNS (primaires et secondaires) pour qu’il pointent chez lui.

J’espère ne pas m’être embrouillé…

Bon, ben merci encore, c’est très clair.

Je suis convaincu qu’un schéma avec des carrés représentant les serveurs, et quelques flèches pour les relier serait drôlement plus parlant ! J’essaierai de le faire à titre d’exercice :slightly_smiling:

J’ai essayé de passer en résolu, mais je suis déconnecté lorsque je clique sur la coche verte … :017

Salut,
Content d’avoir un peu débroussaillé…

J’ai passé en résolu pour toi. Problème de navigateur ?

Oui, probablement. J’utilise firefox 23.0 avec adblock et ghosthery. Je n’ai pas songé à en utiliser un autre :blush:

[EDIT] J’avais les cookies désactivés.