Frage apache2: Der vollständig qualifizierte Domänenname des Servers konnte mit 127.0.1.1 für ServerName nicht zuverlässig ermittelt werden


Ich bekomme immer wieder diese Warnung, wenn ich Apache (neu) starte.

* Restarting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName [ OK ]

Dies ist der Inhalt meiner etc/hosts Datei:

#127.0.0.1  hpdtp-ubuntu910
#testproject.localhost  localhost.localdomain   localhost
#127.0.1.1  hpdtp-ubuntu910

127.0.0.1   localhost
127.0.0.1   testproject.localhost
127.0.1.1   hpdtp-ubuntu910



# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Dies ist der Inhalt meiner /etc/apache2/sites-enabled/000-default Datei:

<VirtualHost *:80>
  ServerName testproject.localhost
  DocumentRoot "/home/morpheous/work/websites/testproject/web"
  DirectoryIndex index.php
  <Directory "/home/morpheous/work/websites/testproject/web">
    AllowOverride All
    Allow from All
  </Directory>

  Alias /sf /lib/vendor/symfony/symfony-1.3.2/data/web/sf
  <Directory "/lib/vendor/symfony/symfony-1.3.2/data/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

Wenn ich gehe http://testproject.localhostIch bekomme eine leere Seite.

Kann jemand sehen, was ich falsch mache?


72
2018-01-16 19:24


Ursprung




Antworten:


Standardmäßig gibt Ubuntu in der Apache-Konfiguration keinen Servernamen an, da er nicht weiß, wie der Name des Servers lautet. Es versucht eine umgekehrte Suche auf Ihrer IP-Adresse, die nichts zurückgibt, so dass es nur die IP-Adresse als verwenden muss Servername.

Um es zu beheben, fügen Sie entweder eine ServerName-Anweisung hinzu außerhalb eines virtuellen Hosts - z.B. im /etc/apache2/httpd.conf, oder richten Sie eine Reverse-DNS-Antwort für Ihre primäre IP-Adresse ein - in diesem Fall 127.0.1.1

Es ist vollkommen in Ordnung, es auch zu ignorieren.


53
2018-01-16 21:37



Dies ist kontraintuitiv. Wenn ich den Servernamen hinzufüge draußen von virtuellen Hosts - wie kann ich mehrere virtuelle Hosts vom selben Apache Server aus bedienen? (Dies ist schließlich der Punkt der benannten virtuellen Server) - UNBEGRENZT sagen Sie, dass ich mehr als 1 ServerName-Eintrag in (sagen wir) /etc/apache2/httpd.conf haben kann - user35402
Sie können ServerName / ServerAlias ​​dann in VirtualHost-Blöcken hinzufügen, damit VirtualHost nur mit den gewünschten Hostnamen übereinstimmt. Lesen httpd.apache.org/docs/2.2/mod/core.html#servername für den Tiefpunkt. - crb
Ich habe über eine Stunde nach dieser Antwort gesucht. So viel Mist im Internet diesbezüglich, aber das hat mein Problem behoben. Vielen Dank - Mike
@Mike Sie und andere sind Genie! Ich suche nach dieser Antwort für vier Tage. (Ok, nicht voll Arbeitstage.). +1, weil dies die erste Antwort ist, die erklärt, dass ich eine ServerName-Direktive außerhalb von virtuellen Hosts hinzufügen kann, ohne sie zu beeinflussen. In diesem Sinne hat die Lösung von ReinoutS für mich funktioniert (+1 für ihn auch). - Sony Santos


Hier ist eine schnelle Lösung:

echo ServerName $HOSTNAME > /etc/apache2/conf.d/fqdn

27
2018-03-15 16:25



Vielen Dank. Keine der Fixes, die / etc / hosts oder httpd.conf benutzen, funktionierte für mich, aber das tat es. - Ryan
Perfekt danke! - James
Fixed es auf Ubuntu 13.04 läuft apache2, danke! - dmanexe
Arbeitete gut auf aktuellen Debian Wheezy :) danke - DominikAngerer


Ein anderer Weg, um diese Warnung zu umgehen, besteht darin, einen vollqualifizierten Domänennamen auf den 127.0.1.1 Linie von /etc/hosts. Es muss nicht einmal ein FQDN sein, der tatsächlich zu irgendetwas auf einem DNS-Server auflösen würde.

127.0.1.1  hpdtp-ubuntu910.lan  hpdtp-ubuntu910

würde den Trick machen, während auch das Verhalten von Programmen erhalten, die das Extra nicht erwarten .lan. Die Reihenfolge ist wichtig; Namen mit mehreren Ebenen sollten zuerst angegeben werden, wie in diesem Beispiel .lan Adresse kommt vor der anderen Adresse.


16
2018-03-03 04:45





Diese Lösung funktioniert für meine Entwicklungsbedürfnisse:

Hintergrund:

Debian Linux Sid:
VirtualHost-Entwicklung: Ich habe 10 Server-Namen (10 virtuelle Host-Einträge innerhalb von Websites verfügbar)

Ich habe jedem eine eindeutige Localhost-IP-Adresse zugewiesen /etc/hosts:

127.0.0.1   joe   localhost.localdomain   localhost
127.0.1.1   joe
127.0.1.2   joomla
127.0.1.3   schmoo
127.0.1.4   forrest
127.0.1.5   store
127.0.1.6   publisher
127.0.1.7   studios
127.0.1.8   drupal
127.0.1.9   graphics
127.0.1.10  wordpress
...

The following lines are desirable for IPv6 capable hosts

::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Wenn Sie einen weiteren virtuellen Host hinzufügen (ich habe einige für die Entwicklung), fügen Sie einen Eintrag zu einer anderen localhost IP-Adresse hinzu und aktivieren Sie die Site, bevor Sie Apache 2.2 neu starten:

127.0.0.11 *newhost*

Für jeden Eintrag, den Sie als VirtualHost-Datei aktivieren möchten:

/ etc / apache2 / sites-available /

joe joomla schoo forrest store verlagsstudios drupal graphics wordpress

Alle virtuellen Hosts werden über a2ensite / a2dissite aktiviert / deaktiviert Hostname

Um den Fehler zu unterdrücken

Neustart des Webservers: apache2apache2: Der Server konnte nicht vollständig zuverlässig ermittelt werden   qualifizierter Domänenname unter Verwendung von 127.0.0.1 für ServerName   ... waiting apache2: Die vollqualifizierte Domäne des Servers konnte nicht zuverlässig ermittelt werden   Name, mit 127.0.0.1 für ServerName ''

bearbeiten httpd.conf im /etc/apache2/httpd.conf [leere Datei in Debian]:

ServerName 127.0.1.1

Nachschlagen ist dann für alle Namen gelöst hinzufügen, auskommentieren oder deaktivieren auf der ganzen Linie.

Für den Fall, dass Sie vergessen: Der einzige VirtualHost *: 80 Eintrag muss nur innerhalb der ports.conf Datei,

/etc/apache2/ports.conf

**NameVirtualHost *:80**
Listen 80

<IfModule mod_ssl.c>
   # If you add NameVirtualHost *:443 here, you will also have to change
   # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
   # to <VirtualHost *:443>
   # Server Name Indication for SSL named virtual hosts is currently not
   # supported by MSIE on Windows XP.
   Listen 443
</IfModule>

<IfModule mod_gnutls.c>
   Listen 443
</IfModule>

Innerhalb Ihres VirtualHost-Eintrags weglassen VirtualHost *: 80

Beispiel: virtualhost joe

<VirtualHost *:80>
    **ServerAlias joe**
    **...**
</VirtualHost>

7
2018-02-15 11:43





Rahmen ServerName in httpd.conf hat bei mir nicht funktioniert. Ich habe es behoben, indem ich es eingestellt habe ServerName 127.0.0.1 im /etc/apache2/conf.d/name.

Ich benutze Ubuntu 12.10 Alpha3 und habe ServerName in beiden Spots definiert.

Quelle: http://linuxconfig.net/manual-howto/error-solution-could-not-reliably-the-servers-fully-qualified-domain-name.html


6
2017-09-08 21:05



Cool, das hat bei mir auch funktioniert, hatte das selbe Problem. - Priyank Bolia


Ihnen fehlt ein Server-Server-Eintrag auf Server-Konfigurationsebene. Sie müssen einen ServerName-Eintrag außerhalb eines Hosts haben, damit Apache als Standard verwendet wird.

Wenn Sie einen ServerName-Eintrag in einen VirtualHost einfügen, wird das Problem nicht behoben. Sehen ServerName-Richtlinie.


5
2018-01-16 21:36





Um es zu beheben, müssen wir die Datei /etc/apache2/httpd.conf oder /etc/apache2.conf bearbeiten und folgende Zeile hinzufügen:

ServerName nameofserver

3
2018-01-08 10:24



Du hast recht! Aber diese Antwort dupliziert den Inhalt der Antwort von CRB, ohne neue Informationen oder Einsichten zu liefern. Ich würde es in Betracht ziehen, es zu löschen oder mehr Details hinzuzufügen, die sich von den Antworten anderer Leute unterscheiden. - Royce Williams
Das hat mich zum Laufen gebracht, danke! - Drewdin


Ich glaube, du musst hinzufügen ServerName für den standardmäßigen virtuellen Host. Da es nicht dort ist, nimmt es die Standard-IP-Adresse. Und es ist eine Art Warnung. Ihr Webserver wird immer noch funktionieren, denke ich.


1
2018-01-16 20:21



Ich verstehe deinen Kommentar nicht. Ich habe bereits ServerName in meiner Datei: <VirtualHost 127.0.0.1:8080> ServerName mysite.localhost Könnten Sie bitte Ihren Kommentar erklären?
Für den -default- virtuellen Host, nicht nur einen bestimmten virtuellen Host. - Kzqai


  1. Sie müssen ServerName in Ihrem hinzufügen httpd.conf Datei mit den folgenden Schritten

    sudo gedit /etc/apache2/httpd.conf
    

    Standardmäßig httpd.conf Datei wird leer sein. Fügen Sie nun einfach die folgende Zeile zur Datei hinzu.

    ServerName localhost
    

    Speichern Sie die Datei und beenden Sie sie gedit. Starten Sie den Server neu.

    sudo /etc/init.d/apache2 restart
    

2) Hinzufügen Include httpd.conf am Ende von apache2.conf


0
2017-08-06 12:07