On Fri, 9 Mar 2001, Marc Mongenet wrote:

> On pourrait aussi reprocher à Apache de ne pas se satisfaire d'un nom
> local lorsqu'il ne trouve rien d'autre, non ?

Oui.

En théorie d'ailleurs les scripts de Debian *devraient* poser la question
si l'interface n'est pas connue. A voir ils ne le font qu'en cas de
virtual host, mais je n'ai pas creusé.

J'ai reporté un bug, pour voir, à Debian.

J'ai tenté de reproduire le problème et, effectivement, si je commente,
dans /etc/hosts:

   #193.72.186.8   defian.alphanet.ch      defian

et on a:

   defian:% hostname

le problème se produit. Que se passe-t-il si je magouille /etc/hosts
pour que `hostname` soit 127.0.0.1 ? Même problème. En fait cela ne marche
qu'avec une ligne:

   ADRESSE_IP defian.alphanet.ch      defian

Donc un fichier /etc/hosts avec seulement:

   127.0.0.1 defian.alphanet.ch defian localhost

semble marcher.

Alors que

   127.0.0.1 localhost defian.alphanet.ch defian

ne fonctionne pas. N'oublions pas que le premier nom est normalement le
nom retourné par un unresolve() (IP adress -> nom), dans l'absence d'un
DNS bien sûr.

On peut donc en déduire que si resolve(`hostname`) n'est pas possible, ou
si unresolve(resolve(`hostname`.`domainname`)) != `hostname`.`domainname`,
Apache refuse de démarrer:

   defian:# /etc/init.d/apache start
   Starting web server: apache.
   apache: cannot determine local host name.
   Use the ServerName directive to set it manually.
   /usr/sbin/apachectl start: httpd could not be started

(et propose de configurer ServerName)

> - Comment Apache reconnaît les noms locaux ?

Ceux qui sont corrects (propriété symétrique unresolve/resolve).

> - Pourquoi ne trouve-t-il pas le nom réseau lorsque je suis connecté ?

n'est pas `hostname`.

En bref, sans réseau local fixe correctement configuré, mettre ServerName
manuellement :)

--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question.

Répondre à