httpd: Der vollständig qualifizierte Domänenname des Servers konnte unter Verwendung von 127.0.0.1 für Servername nicht zuverlässig ermittelt werden


172

Ich habe versucht, meinen Apache-Server unter CentOS 5.0 neu zu starten, und habe folgende Meldung erhalten:

httpd: Der vollständig qualifizierte Domänenname des Servers konnte unter Verwendung von 127.0.0.1 für Servername nicht zuverlässig ermittelt werden

Hier ist die /etc/hostsDatei:

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

Hier ist die /etc/sysconfig/networkDatei:

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=server4-245

Ich habe dies auch in der Apache httpd.conf-Datei:

ServerName localhost

Beim Neustart von Apache wird jedoch immer noch die erste Fehlermeldung angezeigt.


1
Stellen Sie sicher, dass Sie das Recht bearbeitet haben httpd.conf. Normalerweise ServerName xyist alles in Ordnung.
KingCrunch

Antworten:


95

Ihre Hosts-Datei enthält weder einen gültigen FQDN noch localhosteinen FQDN. Ein FQDN muss einen Hostnamen-Teil sowie einen Domainnamen-Teil enthalten. Das Folgende ist beispielsweise ein gültiger FQDN:

host.server4-245.com

Wählen Sie einen vollqualifizierten Domänennamen aus und fügen Sie ihn in Ihre /etc/hostsDatei sowohl für die von Ihnen verwendeten IPv4- als auch für die IPv6-Adressen ein (in Ihrem Fall localhostoder 127.0.0.1), und ändern Sie Ihre ServerNamein Ihrer httpd-Konfiguration entsprechend.

/ 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
Beachten Sie auch, dass Sie Ihren HOSTNAME-Eintrag in Ihrer Datei / etc / sysconfig / network so ändern möchten, dass er Ihrem gewählten Namen entspricht.
Paul Stengel

2
Hmm. Ich habe: 127.0.0.1 localhost gondor gondor.localdomain 192.168.0.3 gondor.localdomain aber es scheint, dass Linux nicht glaubt, dass gondor.localdomain auch ein FQDN ist. Was ist das Problem damit? Muss ich eine TLD haben?
Adam

Hallo, ich habe alle oben genannten Versuche unternommen und erhalte immer noch die gleichen Fehler. Ich verstehe nicht ganz, was mir hier fehlt. Mein FQDN ist ak.local.com auf die gleiche Weise wie Ihre Antwort eingestellt, aber ich bekomme immer noch die gleichen Probleme. Ich
laufe

1
Ich fand, dass: 127.0.0.1 myserver myserver.mydom.com ... etc << funktioniert nicht 127.0.0.1 myserver.mydom.com myserver ... etc << funktioniert
Martin

208

Wenn Sie nicht httpd.confim Ordner haben /etc/apache2, sollten Sie apache2.conf haben - fügen Sie einfach hinzu:

Servername localhost

Starten Sie dann den apache2Dienst neu.


2
Funktionierte perfekt unter Ubuntu 12.04 LTS mit mehreren virtuellen Hosts.
Gor

3
Funktionierte perfekt unter Mac OS 10.7.5 mit mehreren virtuellen Hosts.
DudeOnRock

1
Arbeitete unter Mac OS 10.7.5 mit Virtualbox
iWizard

3
Funktionierte perfekt auf Centos 6.4.
Kel Solaar

7
Funktionierte perfekt auf Centos 6 (Cloud-Version), obwohl httpd.conf in / etc / httpd / conf /
gbarry

64

Nach der Erstinstallation des Apache-Servers wurde beim Neustart des Apache-Dienstes unter Ubuntu 12.04 (Precise Pangolin) der folgende Fehler angezeigt:

Die Lösung ist wirklich einfach. Fügen Sie einfach die ServerNameDirektive hinzu zu /etc/apache2/httpd.conf:

sudo nano /etc/apache2/httpd.conf

Hinzufügen: ServerName localhost

Starten Sie zum Schluss den Apache-Server neu:

sudo /etc/init.d/apache2 restart

1
Innerhalb von CentOS 7 lautet der Pfad /etc/httpd/conf/httpd.conf
Debashis

11

Während dies beantwortet und akzeptiert wurde, kam es dennoch zu einem Top-Suchergebnis, und die Antworten (obwohl sie viel recherchiert wurden) ließen mich am Kopf kratzen und viel weiter graben. Hier ist ein kurzer Überblick darüber, wie ich das Problem gelöst habe.

Angenommen, mein Server ist myserver.myhome.com und meine statische IP-Adresse lautet 192.168.1.150:

  1. Bearbeiten Sie die Hosts-Datei

    $ 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. Bearbeiten Sie httpd.conf

    $ sudo nano -w /etc/apache2/httpd.conf
    
    ServerName myserver.myhome.com
    
  3. Netzwerk bearbeiten

    $ sudo nano -w /etc/sysconfig/network HOSTNAME=myserver.myhome.com
    
  4. Überprüfen

    $ hostname
    
    (output) myserver.myhome.com
    
    $ hostname -f
    
    (output) myserver.myhome.com
    
  5. Starten Sie Apache neu

    $ sudo /etc/init.d/apache2 restart
    

Es schien, dass der Unterschied myserver.myhome.comsowohl die 127.0.0.1 als auch die statische IP-Adresse 192.168.1.150 in der Hosts-Datei enthielt. Das gleiche gilt für Ubuntu Server und CentOS.


9

Suchen Sie in httpd.conf nach "Servername". Es ist normalerweise standardmäßig auf dem Mac auskommentiert. Kommentieren Sie es einfach aus und füllen Sie es aus. Stellen Sie sicher, dass in / etc / hosts auch die Kombination aus Name und IP festgelegt ist.


Danke, das war hilfreich. httpd hat mein fqdn in / etc / hosts nicht abgerufen, und mein Hostname schien richtig konfiguriert zu sein.
Banjer

8

Stellen Sie sicher, dass Sie die richtige httpd.confDatei bearbeiten . Dann sollte der Fehler bezüglich des Domänennamens des unzuverlässigen Servers behoben sein (dies ist der häufigste Fehler).

httpd.confFühren Sie Folgendes aus, um Ihre Apache-Konfigurationsdatei zu finden :

apachectl -t -D DUMP_INCLUDES

Bearbeiten Sie dann die Datei und kommentieren Sie die ServerNameZeile aus oder ändern Sie sie in:

ServerName localhost

Starten Sie dann Ihren Apache neu durch: sudo apachectl restart


1
"Stellen Sie sicher, dass Sie die richtige htttpd.conf-Datei bearbeiten", half mir dies unter macOS. Ich habe nicht die richtige http.confDatei bearbeitet . Vielen Dank.
Asme Nur


3

Es gibt zwei Möglichkeiten, um diesen Fehler zu beheben:

  1. Include /etc/apache2/httpd.conf

    Fügen Sie die obige Zeile in die Datei /etc/apache2/apache2.conf ein

  2. Fügen Sie diese Zeile am Ende der Datei /etc/apache2/apache2.conf hinzu :

    Servername localhost


1

Ich habe die Nachricht zum vollqualifizierten Domänennamen bei verschiedenen Gelegenheiten aufgelöst, indem ich meinen Server-Hostnamen zur Datei /etc/apache2/httpd.conf und zur /etc/apache2/apache2.confDatei hinzugefügt habe .

Geben Sie hostname -fIhr Terminal ein. Diese Abfrage gibt Ihren Hostnamen zurück.

Bearbeiten Sie dann die /etc/apache2/httpd.confDatei (oder erstellen Sie sie, wenn sie aus irgendeinem Grund nicht vorhanden ist) und fügen Sie sie hinzu ServerName <your_hostname>.

Alternativ konnte ich die Nachricht auch durch Hinzufügen ServerName <your_hostname>zur /etc/apache2/apache2.confDatei entfernen.

Wenn alles gut geht, wird die Nachricht beim Neustart von Apache nicht mehr angezeigt.


1

Die meisten Antworten deuten darauf hin , nur noch hinzufügen ServerName localhostzu /etc/apache2/apache2.conf.

Aber unter Berufung auf die Apache-Dokumentation  :

Das Vorhandensein dieser Fehlermeldung weist auch darauf hin, dass Apache httpd keinen vollständig qualifizierten Hostnamen erhalten konnte, indem die IP-Adresse Ihres Servers umgekehrt gesucht wurde. Während die obigen Anweisungen die Warnung in jedem Fall beseitigen, ist es auch eine gute Idee, Ihre Namensauflösung zu korrigieren, damit diese umgekehrte Zuordnung funktioniert.

Daher ist das Hinzufügen einer solchen Zeile /etc/hostswahrscheinlich eine robustere Lösung:

192.0.2.0  foobar.example.com  foobar

Dabei ist 192.0.2.0 die statische IP-Adresse des foobarin der example.comDomäne genannten Servers .

Man kann den FQDN zB mit überprüfen

hostname -A

(Abkürzung für hostname --all-fqdn).


1

Es stellte sich heraus, dass ich dieses Problem hatte und es lag daran, dass ich "Tabulatoren" verwendet habe, um Zeilen anstelle von Leerzeichen einzurücken. Einfach posten, falls es jemandem hilft.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.