httpd: impossible de déterminer de manière fiable le nom de domaine complet du serveur, en utilisant 127.0.0.1 pour ServerName


172

J'ai essayé de redémarrer mon serveur Apache sur CentOS 5.0 et j'ai reçu ce message:

httpd: impossible de déterminer de manière fiable le nom de domaine complet du serveur, en utilisant 127.0.0.1 pour ServerName

Voici le /etc/hostsfichier:

127.0.0.1    server4-245    server4-245.com    localhost.localdomain localhost
::1        localhost6.localdomain6 localhost6

Voici le /etc/sysconfig/networkfichier:

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=server4-245

J'ai également ceci dans le fichier Apache httpd.conf:

ServerName localhost

Cependant, je reçois toujours le premier message d'erreur lorsque je redémarre Apache.


1
Assurez-vous d'avoir modifié le bon httpd.conf. C'est généralement ServerName xytrès bien.
KingCrunch

Réponses:


95

Votre fichier d'hôtes n'inclut pas de FQDN valide, ni localhostun FQDN. Un FQDN doit inclure une partie de nom d'hôte, ainsi qu'une partie de nom de domaine. Par exemple, ce qui suit est un nom de domaine complet valide:

host.server4-245.com

Choisissez un nom de domaine complet et incluez-le à la fois dans votre /etc/hostsfichier sur les adresses IPv4 et IPv6 que vous utilisez (dans votre cas, localhostou 127.0.0.1), et modifiez votre ServerNameconfiguration httpd en conséquence.

/ etc / hosts:

127.0.0.1    localhost.localdomain localhost host.server4-245.com
::1          localhost.localdomain localhost host.server4-245.com

httpd.conf:

ServerName host.server4-245.com

6
Notez également que vous voudrez modifier votre entrée HOSTNAME dans votre fichier / etc / sysconfig / network pour correspondre au nom que vous avez choisi.
Paul Stengel

2
Hmm. J'ai: 127.0.0.1 localhost gondor gondor.localdomain 192.168.0.3 gondor.localdomain mais il semble que linux ne pense pas que gondor.localdomain soit un FQDN non plus. Quel est le problème avec ça? Dois-je avoir un TLD?
Adam

Salut, j'ai essayé tout ce qui précède et j'obtiens toujours les mêmes erreurs, je ne comprends pas tout à fait ce qui me manque ici. Mon nom de domaine complet est ak.local.com défini de la même manière que votre réponse, mais j'obtiens toujours les mêmes problèmes. Je cours sous OSX 10.10
AKFourSeven

1
J'ai trouvé que: 127.0.0.1 myserver myserver.mydom.com ... etc << ne fonctionne pas 127.0.0.1 myserver.mydom.com myserver ... etc << fonctionne
Martin

208

Si vous n'avez pas httpd.confde dossier /etc/apache2, vous devriez avoir apache2.conf - ajoutez simplement:

ServerName localhost

Puis redémarrez le apache2service.


2
Fonctionne parfaitement sur Ubuntu 12.04 LTS exécutant plusieurs hôtes virtuels.
Gor

3
Fonctionne parfaitement sur Mac OS 10.7.5 exécutant plusieurs hôtes virtuels.
DudeOnRock

1
A travaillé sur Mac OS 10.7.5 exécutant Virtualbox
iWizard

3
A parfaitement fonctionné sur Centos 6.4.
Kel Solaar

7
Fonctionne parfaitement sur Centos 6 (version cloud), bien que httpd.conf se trouve dans / etc / httpd / conf /
gbarry

64

Après l'installation initiale du serveur Apache, j'ai eu l'erreur suivante lors du redémarrage du service Apache sur Ubuntu 12.04 (Precise Pangolin)

La solution est vraiment simple. Ajoutez simplement la ServerNamedirective à /etc/apache2/httpd.conf:

sudo nano /etc/apache2/httpd.conf

Ajouter: ServerName localhost

Enfin, redémarrez le serveur Apache:

sudo /etc/init.d/apache2 restart

1
Dans CentOS 7, le chemin sera /etc/httpd/conf/httpd.conf
Debashis

11

Donc, bien que cela soit répondu et accepté, il est toujours apparu comme l'un des meilleurs résultats de recherche et les réponses bien que présentées (après de nombreuses recherches) m'ont laissé me gratter la tête et creuser beaucoup plus loin. Voici donc une présentation rapide de la façon dont j'ai résolu le problème.

En supposant que mon serveur est myserver.myhome.com et que mon adresse IP statique est 192.168.1.150:

  1. Modifier le fichier d'hôtes

    $ sudo nano -w /etc/hosts
    
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    
    127.0.0.1 myserver.myhome.com myserver
    
    192.168.1.150 myserver.myhome.com myserver
    
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    ::1 myserver.myhome.com myserver
    
  2. Modifier httpd.conf

    $ sudo nano -w /etc/apache2/httpd.conf
    
    ServerName myserver.myhome.com
    
  3. Modifier le réseau

    $ sudo nano -w /etc/sysconfig/network HOSTNAME=myserver.myhome.com
    
  4. Vérifier

    $ hostname
    
    (output) myserver.myhome.com
    
    $ hostname -f
    
    (output) myserver.myhome.com
    
  5. Redémarrez Apache

    $ sudo /etc/init.d/apache2 restart
    

Il est apparu que la différence myserver.myhome.comconcernait à la fois l'adresse 127.0.0.1 et l'adresse IP statique 192.168.1.150 dans le fichier d'hôtes. La même chose sur Ubuntu Server et CentOS.


9

Dans httpd.conf, recherchez "ServerName". Il est généralement commenté par défaut sur Mac. Décommentez-le simplement et remplissez-le. Assurez-vous que le combo nom / ip est également défini dans / etc / hosts.


Merci, cela a été utile. httpd ne récupérait pas mon fqdn dans / etc / hosts, et mon nom d'hôte semblait configuré correctement.
Banjer

8

Assurez-vous que vous modifiez le bon httpd.conffichier, l'erreur concernant le nom de domaine du serveur non fiable devrait disparaître (c'est l'erreur la plus courante).

Pour localiser votre httpd.conffichier de configuration Apache, exécutez:

apachectl -t -D DUMP_INCLUDES

Puis éditez le fichier et décommentez ou changez la ServerNameligne en:

ServerName localhost

Ensuite, redémarrez votre apache en: sudo apachectl restart


1
«Assurez-vous de modifier le bon fichier htttpd.conf», cela m'a aidé sur macOS. Je n'éditais pas le bon http.conffichier. Merci.
Asme Just


3

Il existe deux façons de résoudre cette erreur:

  1. Include /etc/apache2/httpd.conf

    Ajoutez la ligne ci-dessus dans le fichier /etc/apache2/apache2.conf

  2. Ajoutez cette ligne à la fin du fichier /etc/apache2/apache2.conf :

    ServerName localhost


1

J'ai résolu le message de nom de domaine pleinement qualifié à différentes occasions en ajoutant le nom d'hôte de mon serveur au fichier /etc/apache2/httpd.conf et au /etc/apache2/apache2.conffichier.

Tapez hostname -fvotre terminal. Cette requête renverra votre nom d'hôte.

Ensuite, modifiez le /etc/apache2/httpd.conffichier (ou créez-le s'il n'existe pas pour une raison quelconque) et ajoutez-le ServerName <your_hostname>.

Alternativement, j'ai également pu éliminer le message en ajoutant ServerName <your_hostname>au/etc/apache2/apache2.conf fichier.

Si tout se passe bien, lorsque vous redémarrez Apache, le message disparaîtra.


1

La plupart des réponses suggèrent d'ajouter simplement ServerName localhostà /etc/apache2/apache2.conf.

Mais citant la documentation Apache  :

La présence de ce message d'erreur indique également qu'Apache httpd n'a pas pu obtenir un nom d'hôte complet en effectuant une recherche inversée sur l'adresse IP de votre serveur. Bien que les instructions ci-dessus suppriment dans tous les cas l'avertissement, il est également judicieux de corriger la résolution de votre nom afin que ce mappage inversé fonctionne.

Par conséquent, l'ajout d'une telle ligne à /etc/hostsest probablement une solution plus robuste:

192.0.2.0  foobar.example.com  foobar

192.0.2.0 est l'adresse IP statique du serveur nommé foobardans le example.comdomaine.

On peut vérifier le FQDN par exemple avec

hostname -A

(raccourci pour hostname --all-fqdn).


1

Il s'avère que j'ai eu ce problème et c'est parce que j'ai utilisé des "tabulations" pour indenter des lignes au lieu d'espaces. Publier simplement, au cas où cela aiderait quelqu'un.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.