6 # 13.04 und älter
Dies ist nur eine freundliche Warnung und kein wirkliches Problem (da etwas nicht funktioniert).
Wenn du nach ... gehst:
/etc/apache2/apache2.conf
und einfügen:
ServerName localhost
und starten Sie Apache neu, indem Sie Folgendes in das Terminal eingeben:
sudo systemctl reload apache2
Der Hinweis verschwindet.
Wenn Sie einen Namen haben /etc/hostname
, können Sie auch diesen Namen anstelle von verwenden localhost
.
Und es verwendet, 127.0.1.1
wenn es in Ihrem ist /etc/hosts
:
127.0.0.1 localhost
127.0.1.1 myhostname
Bevorzugte Methode
Fehlerbehebung bei Apache
Wenn Sie diesen Fehler erhalten:
apache2: Could not determine the server's fully qualified domain name,
using 127.0.0.1 for ServerName
Verwenden Sie dann einen Texteditor wie "sudo nano" in der Befehlszeile oder "gksudo gedit" auf dem Desktop, um eine neue Datei zu erstellen.
sudo nano /etc/apache2/conf.d/fqdn
oder
gksu "gedit /etc/apache2/conf.d/fqdn"
dann füge hinzu
ServerName localhost
in die Datei und speichern. Dies kann alles mit einem einzigen Befehl ausgeführt werden:
echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn
Aber auf Ubuntu 14.04:
echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/fqdn.conf
sudo a2enconf fqdn
Vergessen Sie nicht die ".conf" (ohne wird nicht funktionieren).
ServerName localhost
darin/etc/apache2/conf.d/
existiert nicht nach meiner Installation vonlamp-server^
in 14.04sudo a2enconf fqdn
obwohl es technisch gleich sein sollte.13.10 oder neuer
Ab Apache 2.4 - der standardmäßig ab 13.10 verfügbar ist - können Sie die Methode zum Hinzufügen einer Konfigurationsdatei zum
conf.d
Verzeichnis nicht mehr verwenden.Apache verwendet das
conf.d
Verzeichnis nicht mehr . Alle Konfigurationsdateien werden in einem/etc/apache2/conf-available
Verzeichnis gespeichert und alle Konfigurationsdateien sollten jetzt eine.conf
Erweiterung haben.Um diese Meldung in Apache 2.4 zu beheben, müssen wir eine Konfigurationsdatei im conf-available-Verzeichnis erstellen. Zum Beispiel
servername.conf
.Und innerhalb dieses brauchen wir nur eine Zeile hinzuzufügen
Sie können die beiden vorherigen Befehle in einem kombinieren mit:
Wenn Sie einen Domain-Namen oder einen anderen Namen verwenden möchten, der den Anforderungen entspricht, ersetzen
localhost
Sie ihn einfach durch den gewünschten Namen . Als nächstes müssen Sie diese Konfiguration aktivieren. Dazu müssen Sie den folgenden Befehl ausführen:a2enconf
ist ein Befehl zum Aktivieren einer Konfigurationsdatei in Apaches 2.4. Beachten Sie auch, dassservername
der obige Befehl aus dem Namen der Konfigurationsdatei stammtservername.conf
. Wenn Ihre Konfigurationsdateingenericserver.conf
wäre, müssten Sie schreibensudo a2enconf ngenericserver
.Nach diesem Reload wird der Server und die obige Meldung Sie nicht mehr stören.
oder
Danach sehen Sie, dass die Nachricht nicht mehr angezeigt wird und das Problem behoben ist.
quelle
Apache2 kann den vollqualifizierten Domänennamen auch von einem ordnungsgemäß konfigurierten Systemhostnamen beziehen, anstatt ihn fest in der Apache-Konfigurationsdatei zu codieren. Das Hardcodieren führt auch zu Verwirrung, wenn sich der Hostname ändert. Sie benötigen tatsächlich keine
ServerName
Direktiven inhttpd.conf
oder Apache-Konfigurationsdateien.Geben Sie Folgendes ein
/etc/hosts
:Wo
hostname.domainname.com
ist der vollqualifizierte Domänenname Ihres Computers?Zusammen mit einem ordnungsgemäß konfigurierten Hostnamen in
/etc/hostname/
oder mithostnamectl
wird dies auch dazu beitragen, dass andere Dienste auf Ihrem Computer ordnungsgemäß ausgeführt werden (dh die Anmeldeaufforderung wirdThis is hostname.domainname.com
anstelle von angezeigtThis is hostname.unknown_domain
.)quelle
[warn] RSA server certificate CommonName (CN) <fqdn> does NOT match server name!?
hostname localhost
sein sollmyubuntuservername localhost
? Oder das String-Literalhostname localhost
? Sie waren in Ihrer Antwort nicht klar127.0.0.1
zuordnen.Öffnen Sie die
/etc/apache2/httpd.conf
Datei:Standardmäßig ist es leer. Fügen Sie einfach die folgende Zeile hinzu:
Speichern Sie die Datei und beenden Sie sie
Starten Sie den Server neu
[1] Standardeditor starten, siehe
sudo update-alternatives --config editor
quelle
In der neuen Version von Apache2 folgen Sie einfach dem folgenden Befehl:
Fügen Sie das folgende neue Zeilenende der Datei hinzu:
Dann starte apache2 neu:
Es ist fertig.
quelle
Ich finde es etwas besser, eine neue Datei darin zu erstellen
/etc/conf.d
, um entwederapache2.conf
oder zu ändernhttpd.conf
.Es ist eine persönliche Präferenz, die meine Konfigurationsänderungen vom Distributionspaket trennt. Updates sind also weniger kompliziert.
Ich erstelle die Datei
/etc/apache2/conf.d/AAserverName
und sie enthält nur:Die anderen Vorschläge funktionieren sicherlich auch.
quelle
In Ubuntu 16.04:
quelle
Hinzufügen
ServerName localhost
Zu
Es ist kein Fehler. Es ist nur eine Erinnerung an einen Freund
quelle
Dies können
ServerName localhost
Sie tun, indem Sie in Ihren Konfigurationsdateien außerhalb der virtuellen Hostabschnitte angeben .Einige andere Antworten schlagen vor, dass Sie ändern sollten
/etc/apache2/httpd.conf
. Diese Datei wird überschrieben, wenn Apache von Apt aktualisiert wird. Für die Apache-Konfiguration, die Sie nicht überschreiben möchten, sollten Sie eine neue Datei erstellen. Hier ist der "Debian-Weg", um diese Konfiguration zu ändern:Dies ist im Grunde die gleiche Antwort wie bei Starks, jedoch in einer einfach zu kopierenden und einzufügenden Skriptform. Ich hatte dies ursprünglich in einer Frage gepostet, die als doppelt markiert war: https://askubuntu.com/a/432408
quelle
Unter Ubuntu 16.04 :
Fügen Sie
ServerName localhost
der Dateihttpd.conf
den folgenden Befehl hinzu.Fügen Sie dann diese Zeile
Include httpd.conf
am Ende dieser Datei einSuchen Sie erneut nach Syntaxfehlern
Sie sollten jetzt bekommen
Sie können den Server jetzt ordnungsgemäß neu starten, indem Sie die Konfiguration neu laden
oder beenden Sie den Vorgang und beginnen Sie erneut
quelle
Unter Ubuntu 11.10 habe ich diese Meldung zusammen mit einem hängengebliebenen Systemstart gesehen, weil meine Festplatte voll war. Eine der Protokolldateien war nicht mehr aktuell . Wahrscheinlich gab es eigentlich kein Problem mit Apache, aber diese Nachricht war der letzte Hinweis, der gegeben wurde, bevor der Boot hing.
Um das Problem zu beheben, musste ich in den Wiederherstellungsmodus booten und die unberechenbare Protokolldatei entfernen.
quelle
Wenn Sie bash verwenden und minimale Abhängigkeiten benötigen (und nur einen Einzeiler für Ihr Entrypoint-Skript benötigen, wenn Sie Docker wie mich verwenden), sollten diese beiden Optionen funktionieren.
Wenn Sie localhost wollen:
echo "ServerName localhost" >> /etc/apache2/apache2.conf
Wenn Sie den vorhandenen Hostnamen möchten:
echo "ServerName $(cat /etc/hostname)" >> /etc/apache2/apache2.conf
Hierbei werden die Bash-Umleitungsoperatoren verwendet , um die Zeichenfolge an das Ende der Datei anzuhängen. Echo fügt automatisch die neue Zeile ein, so dass Sie fertig sind.
quelle
Führen Sie den folgenden Befehl aus:
Um den Pfad zu Ihrer
httpd.conf
Konfigurationsdatei zu bestimmen , bearbeiten Sie diese Datei und kommentieren / ändern Sie die Zeile, die den Wert für dieServerName
Option angibt , zVerwenden Sie für den Webserver den registrierten DNS-Namen (z
example.com
. B. ).quelle
Unter Ubuntu 16.04 :
Fügen Sie
ServerName localhost
der Dateihttpd.conf
den folgenden Befehl hinzu.Fügen Sie dann diese Zeile
Include httpd.conf
am Ende dieser Datei einSuchen Sie erneut nach Syntaxfehlern
Sie sollten jetzt bekommen
Sie können den Server jetzt ordnungsgemäß neu starten, indem Sie den Konfigurations-Sudo-Dienst apache2 restart neu laden
quelle