Re: Apache cannot determine host name
On Wed, 7 Mar 2001, Marc Mongenet wrote: Bonjour, je viens d'installer Apache sur ma Debian 2.2r2 mais la configuration par dfaut ne fonctionne pas. Exemple au boot, aprs le boot, en tant connect par PPP, a revient au mme : Allons-y: defian:/etc# apt-get install apache Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: apache-common The following NEW packages will be installed: apache apache-common 0 packages upgraded, 2 newly installed, 0 to remove and 0 not upgraded. [ ... ] /usr/sbin/apachectl start: httpd started chez moi a marche (tm) [Version: 1.3.9-13.2] Je ne comprend pas pourquoi Apache n'arrive pas dterminer le "local host name". A mon avis, chez moi a marche car mon /etc/hosts: 127.0.0.1 localhost 193.72.186.8defian.alphanet.ch defian En clair je n'ai pas touch 127.0.0.1 localhost, et j'ai un rseau fixe (Ethernet) avec l'adresse mentionne. Bien sr je pourrais essayer de donner une valeur (laquelle ?) ServerName, Sauf erreur ServerName est le nom qui sera transmis au client HTTP. Il faut donc que pour tout client qui accdera au serveur Apache, resolve(ServerName) donne bien l'adresse. Apache le trouve tout seul, sauf dans un cas: s'il n'y a aucune autre interface que l'interface locale (ou si les autres interfaces n'ont pas le unresolve qui marche). # ServerName allows you to set a host name which is sent back to clients for # your server if it's different than the one the program would get (i.e. use # "www" instead of the host's real name). # # Note: You cannot just invent host names and hope they work. The name you # define here must be a valid DNS name for your host. If you don't understand # this, ask your network administrator. Si tu mets localhost, le client distant voudra accder aux requtes suivantes via localhost, ie lui-mme, au lieu du serveur, donc cela ne marchera pas (ni yok-yok, d'ailleurs, car c'est aussi 127.0.0.1). Cela n'a aucune importance, bien sr, si tu n'as que des clients locaux. Dans ce dernier cas mettre localhost ou yok-yok, quivalent pour toi. On peut donc reprocher Debian de ne pas avoir vu que ta machine n'a aucune connexion rseau et donc ne pourra jamais tre accde de l'extrieur correctement. Dans ce cas Debian devrait mettre localhost dans ServerName, car Apache ne pourra pas trouver de nom diffrent d'un nom valeur locale seulement qui se rsoud. Est-ce que j'ai un peu clarifi le problme ? Effectivement, sur d'autres distribs, il n'y a pas besoin de modifier httpd.conf pour Ces autres distributions, elles installent une interface `dummy' pour le rseau ? -- http://www-internal.alphanet.ch/linux-leman/ avant de poser une question.
Re: Apache cannot determine host name
Marc SCHAEFER wrote: On Wed, 7 Mar 2001, Marc Mongenet wrote: Allons-y: Merci pour tout tes efforts. chez moi a marche (tm) [Version: 1.3.9-13.2] J'ai aussi la version 1.3.9-13.2. Je ne comprend pas pourquoi Apache n'arrive pas dterminer le "local host name". A mon avis, chez moi a marche car mon /etc/hosts: 127.0.0.1 localhost 193.72.186.8defian.alphanet.ch defian En clair je n'ai pas touch 127.0.0.1 localhost, et j'ai un rseau fixe (Ethernet) avec l'adresse mentionne. Est-ce que Apache lirait directement ce fichier ? (voir en-dessous). Bien sr je pourrais essayer de donner une valeur (laquelle ?) ServerName, Sauf erreur ServerName est le nom qui sera transmis au client HTTP. Il faut donc que pour tout client qui accdera au serveur Apache, resolve(ServerName) donne bien l'adresse. Apache le trouve tout seul, sauf dans un cas: s'il n'y a aucune autre interface que l'interface locale (ou si les autres interfaces n'ont pas le unresolve qui marche). Je ne comprend pas trs bien ce que fait Apache. Comment peut-il trouver tout seul ? Il y a bien `hostname`, mais il ne semble pas l'utiliser, sinon il trouverait "yok-yok". Et pour les autres interfaces, comment les trouve-t-il, comment slectionne-t-il la bonne ? Avoir une interface PPP active ne l'intresse pas chez moi. Pourtant le unresolve marche, j'ai toujours un nom du genre "pop-ls-9-4-1.freesurf.ch" lorsque je suis connect par PPP. Je suppose qu'il faut lire les sources d'Apache pour comprendre la logique. # ServerName allows you to set a host name which is sent back to clients for # your server if it's different than the one the program would get (i.e. use # "www" instead of the host's real name). # # Note: You cannot just invent host names and hope they work. The name you # define here must be a valid DNS name for your host. If you don't understand # this, ask your network administrator. Si tu mets localhost, le client distant voudra accder aux requtes suivantes via localhost, ie lui-mme, au lieu du serveur, donc cela ne marchera pas (ni yok-yok, d'ailleurs, car c'est aussi 127.0.0.1). Cela n'a aucune importance, bien sr, si tu n'as que des clients locaux. Dans ce dernier cas mettre localhost ou yok-yok, quivalent pour toi. C'est aussi ce que je comprend, merci pour l'approfondissement. On peut donc reprocher Debian de ne pas avoir vu que ta machine n'a aucune connexion rseau et donc ne pourra jamais tre accde de l'extrieur correctement. Dans ce cas Debian devrait mettre localhost dans ServerName, car Apache ne pourra pas trouver de nom diffrent d'un nom valeur locale seulement qui se rsoud. On pourrait aussi reprocher Apache de ne pas se satisfaire d'un nom local lorsqu'il ne trouve rien d'autre, non ? Est-ce que j'ai un peu clarifi le problme ? Oui, un peu, mais je suis difficile satisfaire tant que je n'ai pas tout compris. :-) Pour rsumer, 3 points m'chappent : - Comment Apache reconnat les noms locaux ? - Pourquoi n'utilise-t-il pas le nom local s'il n'en trouve pas d'autre ? - Pourquoi ne trouve-t-il pas le nom rseau lorsque je suis connect ? Marc Mongenet -- http://www-internal.alphanet.ch/linux-leman/ avant de poser une question.
Re: Apache cannot determine host name
Ludwin wrote: Marc Mongenet wrote: Bonjour, je viens d'installer Apache sur ma Debian 2.2r2 mais la configuration par dfaut ne fonctionne pas. Exemple au boot, aprs le boot, en tant connect par PPP, a revient au mme : ~# /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 C'est toujours comme a quand apache est juste install sur la debian patate. Il m'a suffi de rajouter: ServerName 127.00.01 en bas de httpd.conf et a marche Merci pour le tuyau. Effectivement, sur d'autres distribs, il n'y a pas besoin de modifier httpd.conf pour que le serveur dmarre. Peut-tre faudrait-il envoyer un mail au gars qui gre ce package chez debian... D'aprs ce que j'ai vu, il y a dj pas mal de problmes. Dont un qui commence exactement comme le mien : http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=65335repeatmerged=yes Marc Mongenet -- http://www-internal.alphanet.ch/linux-leman/ avant de poser une question.
Re: Apache cannot determine host name
Marc Mongenet wrote: Bonjour, je viens d'installer Apache sur ma Debian 2.2r2 mais la configuration par dfaut ne fonctionne pas. Exemple au boot, aprs le boot, en tant connect par PPP, a revient au mme : ~# /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 C'est toujours comme a quand apache est juste install sur la debian patate. Il m'a suffi de rajouter: ServerName 127.00.01 en bas de httpd.conf et a marche Effectivement, sur d'autres distribs, il n'y a pas besoin de modifier httpd.conf pour que le serveur dmarre. Peut-tre faudrait-il envoyer un mail au gars qui gre ce package chez debian... -- http://www-internal.alphanet.ch/linux-leman/ avant de poser une question.