Vraag Apache-fout "Kon de volledige gekwalificeerde domeinnaam van de server niet betrouwbaar bepalen"


Wanneer ik mijn Apache-server opnieuw start met behulp van de opdracht

sudo /etc/init.d/apache2 restart

Ik krijg de volgende foutmelding:

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

Werkt de server met 127.0.1.1 in plaats van met 127.0.0.1? Wat veroorzaakt deze fout?


385
2018-02-14 13:09


oorsprong




antwoorden:


13.04 en ouder

Dit is slechts een vriendelijke waarschuwing en niet echt een probleem (zoals dat iets niet werkt).

Als u een invoegt

ServerName localhost   

in beide httpd.conf of apache2.conf in /etc/apache2 en herstart apache de melding verdwijnt.

Als je een naam in je hebt /etc/hostname je kunt ook die naam gebruiken in plaats van localhost.


En het gebruikt 127.0.1.1 als het in je is /etc/hosts:

127.0.0.1 localhost
127.0.1.1 myhostname

Voorkeursmethode

Problemen met Apache oplossen

Als u deze foutmelding krijgt:

apache2: Could not determine the server's fully qualified domain name, 
using 127.0.0.1 for ServerName

gebruik dan een teksteditor zoals "sudo nano" op de opdrachtregel of "gksudo gedit" op het bureaublad om een ​​nieuw bestand te maken,

sudo nano /etc/apache2/conf.d/fqdn

of

gksu "gedit /etc/apache2/conf.d/fqdn"

dan toevoegen

ServerName localhost

naar het bestand en opslaan. Dit kan allemaal in één opdracht worden gedaan met het volgende:

 echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn

Maar op Ubuntu 14.04:

 echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/fqdn.conf
 sudo a2enconf fqdn

Vergeet het ".conf" niet (zonder zal niet werken).


470
2018-02-14 13:18



Dit staat ook vermeld in de Ubuntu LAMP-installatiedocumentatie voor Problemen met Apache oplossen. Daar adviseren ze om een ​​bestand /etc/apache2/conf.d/fqdn aan te maken ServerName localhost in het - icc97
Zeer goed antwoord - maar ik zou ook aanraden om het in de conf.d map te plaatsen :) - cwd
/etc/apache2/conf.d/ bestaat niet na mijn installatie van lamp-server^ in 14.04 - redanimalwar
@redanimalwar Zie voor 13.10 en nieuwer @ Starx's antwoord hieronder. - Dan
Voor de allerlaatste stap (het maken van sym-link in 14.04) zou ik aanraden sudo a2enconf fqdn hoewel het technisch gezien hetzelfde zou moeten zijn. - yoshi


13.10 of nieuwer

Vanaf Apache 2.4 - die standaard beschikbaar is vanaf 13.10 - kun je de methode voor het toevoegen van een configuratiebestand in de conf.d directory.

Apache gebruikt niet langer de conf.d directory. Alle configuratiebestanden worden binnen opgeslagen /etc/apache2/conf-available directory en alle configuratiebestanden moeten nu een .conf uitbreiding.

Om dit bericht in Apache 2.4 op te lossen, moeten we een configuratiebestand maken binnen de conf-beschikbare map. Bijvoorbeeld servername.conf.

sudo vi /etc/apache2/conf-available/servername.conf

En daarbinnen moeten we slechts één regel toevoegen

ServerName localhost

U kunt de vorige twee opdrachten in één combineren met:

echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/servername.conf

Als je een domeinnaam of een andere naam wilt gebruiken, afhankelijk van de vereisten, is het prima, vervang hem gewoon localhost met alles wat je nodig hebt. Vervolgens moet u deze configuratie inschakelen. Hiervoor moet je de volgende opdracht uitvoeren:

sudo a2enconf servername

a2enconf is een opdracht om een ​​configuratiebestand in Apache 2.4 in te schakelen. Merk ook op dat servername op de bovenstaande opdracht komt uit de naam van het configuratiebestand servername.conf. Als uw configuratiebestand was ngenericserver.conf dan zou je moeten schrijven sudo a2enconf ngenericserver.

Hierna laad je de server opnieuw en het bovenstaande bericht zal je niet langer lastig vallen.

sudo service apache2 reload

of

sudo apache2ctl graceful

Nu zult u zien dat het bericht niet meer zal worden getoond en het probleem zal worden verholpen.


158
2017-12-26 18:45



Weet iemand hoe hij Apache moet laten zeggen welke config bestand heeft het probleem met? Ik weet niet waarom ontwikkelaars nooit denken om dit in hun foutmeldingen te zetten - het kost nauwelijks veel code! - John Y
Als ik een internet-fqdm voor deze server heb, is dit dan de plek om het te plaatsen? dwz zou ik myhost.org in plaats van localhost moeten substitueren? - CPBL
@CPBL Dit is de standaardservernaam voor alle sites. Als u slechts één site heeft, dan is dat alles wat u hoeft te doen. Als u meerdere sites op uw server hebt, moet u ook de servernaamrichtlijn voor elke site toevoegen aan hun respectieve virtuele hostconfiguratie. - Dan
Werkt op 14.04 LTS. - Parto
Je geciteerde link lijkt dood, corrigeer alsjeblieft. - Fredrick Gauss


  • Open een terminal
  • Open de /etc/apache2/httpd.conf het dossier:

    sudo editor /etc/apache2/httpd.conf # [1]
    
  • Standaard zou het leeg zijn. Voeg eenvoudig de volgende regel toe:

    ServerName localhost
    
  • Sla het bestand op en sluit af

  • Start de server opnieuw op

    sudo service apache2 restart
    

[1] Start de standaardeditor, zie sudo update-alternatives --config editor


24
2018-02-14 13:17



na het uitvoeren van de laatste opdracht treedt de volgende fout op ** Opnieuw opstarten van de webserver apache2 / usr / sbin / apache2ctl: 87: ulimit: foutinstellingslimiet (bewerking niet toegestaan) / usr / sbin / apache2ctl: 87: ulimit: foutinstellingslimiet (bewerking niet toegestaan) (13) Toestemming geweigerd: make_sock: kon niet binden aan adres 0.0.0.0:80 geen luisterende sockets beschikbaar, afsluiten Kan logs niet openen Actie 'start' is mislukt. Het Apache-foutenlogboek bevat mogelijk meer informatie. [mislukt] ** @ green7 - Deepu
probeer 'sudo service apache2 restart' - waterloo2005


Apache2 kan ook de FQDN krijgen van een correct geconfigureerde systeemhostnaam in plaats van hardcoded in het apache-configuratiebestand. Hardcoding zal ook verwarring veroorzaken als de hostnaam verandert. Je hebt eigenlijk geen nodig ServerName richtlijnen in httpd.conf of apache-configuratiebestanden.

Zet het volgende in /etc/hosts:

# IPv4 and IPv6 localhost aliases
127.0.0.1 hostname.domainname.com  hostname  localhost
::1       hostname.domainname.com  hostname  localhost

waar hostname.domainname.com is de FQDN van uw machine.

Samen met een correct geconfigureerde hostnaam in /etc/hostname/ of met hostnamectl, dit zal ook helpen om andere diensten op uw machine correct te laten werken (d.w.z. de inlogprompt, die wordt weergegeven This is hostname.domainname.com in plaats van This is hostname.unknown_domain.)


22
2017-09-18 18:05



+1 voor "een correct geconfigureerde systeemhostnaam". Ik wilde de server correct configureren. Dit heeft ook mijn fout in het logboek verholpen [warn] RSA server certificate CommonName (CN) <fqdn> does NOT match server name!? - transistor1
Denk je dat dit zou moeten werken met Apache 2.2.22? Ik krijg nog steeds "Kon de volledige gekwalificeerde domeinnaam van de server niet betrouwbaar vaststellen, met behulp van 127.0.1.1 voor ServerName" - David Winiecki
is hostname localhost zou moeten zijn myubuntuservername localhost? Of de letterlijke tekenreeks hostname localhost? Je was niet duidelijk in je antwoord - Jonathan
Dit zou het geaccepteerde antwoord moeten zijn. Het lijkt erop dat u de FQDN mogelijk moet koppelen aan het statische IP-adres in plaats van 127.0.0.1. - Skippy le Grand Gourou


In de nieuwe versie van apache2 volg je gewoon het volgende commando:

sudo nano /etc/apache2/apache2.conf

Voeg de volgende nieuwe regel toe aan het einde van het bestand:

ServerName localhost

Start dan apache2 opnieuw:

sudo service apache2 restart

Het is klaar.


15
2018-04-16 06:38





Ik vind het een beetje beter om een ​​nieuw bestand te maken in /etc/conf.d dat om een ​​van beide te wijzigen apache2.conf of httpd.conf.

Het is een persoonlijke voorkeur die ervoor zorgt dat mijn configuratiewijzigingen gescheiden blijven van het distributiepakket. Dus updates zijn minder ingewikkeld.

Ik maak het bestand /etc/apache2/conf.d/AAserverName en het bevat alleen:

ServerName myhost.mycomain.tld

De andere suggesties werken zeker ook.


4
2017-09-06 15:31





In Ubuntu 16.04:

sudo -i

echo 'ServerName localhost' > /etc/apache2/conf-available/server-name.conf
a2enconf server-name

2
2018-04-17 13:26





Toevoegen ServerName localhost

Naar

 sudo leafpad /etc/apache2/apache2.conf

 sudo leafpad /etc/apache2/httpd.conf

Het is geen fout. Het is maar een herinnering van een vriend


1
2017-07-05 09:36





Op Ubuntu 11.10 zag ik dit bericht, samen met een opgehangen boot die plaatsvond omdat mijn schijf vol was. Een van de logbestanden was schurken gegaan. Waarschijnlijk was er geen probleem met Apache, maar deze boodschap was de laatste aanwijzing die werd gegeven voordat de boot werd opgehangen.

Om het probleem op te lossen, moest ik opstarten in de herstelmodus en het logbestand verwijderen.


0
2018-05-07 15:17





opgeven ServerName localhost in uw configuratiebestanden buiten de virtuele hostsecties is de manier om dit te doen.

Sommige andere antwoorden suggereren dat u moet wijzigen /etc/apache2/httpd.conf. Dit bestand wordt overschreven wanneer apache wordt opgewaardeerd van apt. Voor een Apache-configuratie die u niet wilt laten overschrijven, moet u een nieuw bestand maken. Hier is de "Debian-manier" om deze configuratie te veranderen:

# create the configuration file in the "available" section
echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/servername.conf
# enable it by creating a symlink to it from the "enabled" section
sudo a2enconf servername
# restart the server
sudo service apache2 restart

Dit is in principe hetzelfde als het antwoord van Stark, maar dan in een gemakkelijk te kopiëren en plakken-script. Ik had dit oorspronkelijk gepost in een vraag die was gemarkeerd als duplicaat: https://askubuntu.com/a/432408


0
2018-03-24 13:02