httpd: nie można wiarygodnie określić w pełni kwalifikowanej nazwy domeny serwera przy użyciu 127.0.0.1 dla ServerName

172

Próbowałem ponownie uruchomić serwer Apache na CentOS 5.0 i otrzymałem ten komunikat:

httpd: nie można wiarygodnie określić w pełni kwalifikowanej nazwy domeny serwera przy użyciu 127.0.0.1 dla ServerName

Oto /etc/hostsplik:

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

Oto /etc/sysconfig/networkplik:

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=server4-245

Mam to również w pliku httpd.conf Apache:

ServerName localhost

Jednak nadal otrzymuję pierwszy komunikat o błędzie po ponownym uruchomieniu Apache.

user1220351
źródło
1
Zapewnić edytowane prawo httpd.conf. Zwykle ServerName xyjest w porządku.
KingCrunch

Odpowiedzi:

95

Twój plik hosts nie zawiera prawidłowej nazwy FQDN ani localhostnazwy FQDN. W pełni kwalifikowana nazwa domeny musi zawierać część nazwy hosta, a także część nazwy domeny. Na przykład poniżej przedstawiono prawidłową nazwę FQDN:

host.server4-245.com

Wybierz nazwę FQDN i umieść ją w swoim /etc/hostspliku zarówno pod adresami IPv4, jak i IPv6, których używasz (w twoim przypadku localhostlub 127.0.0.1), a następnie zmień ServerNamekonfigurację httpd, aby była zgodna.

/ 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
Paul Stengel
źródło
6
Zauważ również, że będziesz chciał zmodyfikować wpis NAZWA HOSTA w pliku / etc / sysconfig / network, aby pasował do wybranej przez Ciebie nazwy.
Paul Stengel
2
Hmm. Mam: 127.0.0.1 localhost gondor gondor.localdomain 192.168.0.3 gondor.localdomain ale wygląda na to, że linux nie uważa, że ​​gondor.localdomain również jest FQDN. Jaki jest z tym problem? Czy muszę mieć TLD?
Adam
Cześć, wypróbowałem wszystkie powyższe i nadal otrzymuję te same błędy, nie do końca rozumiem, czego mi tutaj brakuje. Moja nazwa FQDN to ak.local.com ustawiona w taki sam sposób, jak Twoja odpowiedź, ale nadal pojawiają się te same problemy. Używam OSX 10.10
AKFourSeven
1
Okazało się, że: 127.0.0.1 myserver myserver.mydom.com ... etc << nie działa 127.0.0.1 myserver.mydom.com myserver ... etc << działa
Martin
208

Jeśli nie masz httpd.confw folderze /etc/apache2, powinieneś mieć apache2.conf - po prostu dodaj:

Nazwa_serwera localhost

Następnie uruchom ponownie apache2usługę.

riegersn
źródło
2
Działał idealnie na Ubuntu 12.04 LTS z wieloma wirtualnymi hostami.
Gor
3
Działał doskonale na Mac OS 10.7.5 z wieloma wirtualnymi hostami.
DudeOnRock
1
Pracowałem na Mac OS 10.7.5 z Virtualboxem
iWizard
3
Działał doskonale na Centos 6.4.
Kel Solaar
7
Działał doskonale na Centos 6 (wersja w chmurze), chociaż httpd.conf znajdował się w / etc / httpd / conf /
gbarry
64

Po początkowej instalacji serwera Apache podczas ponownego uruchamiania usługi Apache na Ubuntu 12.04 (Precise Pangolin) wyskoczył następujący błąd

Rozwiązanie jest naprawdę proste. Po prostu dodaj ServerNamedyrektywę do /etc/apache2/httpd.conf:

sudo nano /etc/apache2/httpd.conf

Dodaj: ServerName localhost

Na koniec zrestartuj serwer Apache:

sudo /etc/init.d/apache2 restart
rizon
źródło
1
W CentOS 7, ścieżka będzie /etc/httpd/conf/httpd.conf
Debashis
11

Tak więc, mimo że odpowiedź na to pytanie jest akceptowana, nadal pojawia się jako najlepszy wynik wyszukiwania, a odpowiedzi, choć określone (po wielu badaniach), sprawiły, że drapałem się po głowie i kopałem dużo dalej. Oto krótki schemat rozwiązania problemu.

Zakładając, że mój serwer to myserver.myhome.com, a mój statyczny adres IP to 192.168.1.150:

  1. Edytuj plik hosts

    $ 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. Edytuj plik httpd.conf

    $ sudo nano -w /etc/apache2/httpd.conf
    
    ServerName myserver.myhome.com
    
  3. Edytuj sieć

    $ sudo nano -w /etc/sysconfig/network HOSTNAME=myserver.myhome.com
    
  4. Zweryfikować

    $ hostname
    
    (output) myserver.myhome.com
    
    $ hostname -f
    
    (output) myserver.myhome.com
    
  5. Uruchom ponownie Apache

    $ sudo /etc/init.d/apache2 restart
    

Okazało się, że różnica myserver.myhome.comdotyczyła zarówno adresu 127.0.0.1, jak i statycznego adresu IP 192.168.1.150 w pliku hosts. To samo na Ubuntu Server i CentOS.

user2416772
źródło
9

W httpd.conf wyszukaj „ServerName”. Zwykle jest domyślnie komentowany na Macu. Po prostu odkomentuj go i wypełnij. Upewnij się, że masz również wpisaną nazwę / ip w / etc / hosts.

sparkyspider
źródło
Dzięki, to było pomocne. httpd nie odebrał mojego fqdn w / etc / hosts, a moja nazwa hosta wyglądała na poprawnie skonfigurowaną.
Banjer
8

Upewnij się, że edytujesz właściwy httpd.conf plik, wtedy błąd o niewiarygodnej nazwie domeny serwera powinien zniknąć (jest to najczęstszy błąd).

Aby zlokalizować httpd.confplik konfiguracyjny Apache, uruchom:

apachectl -t -D DUMP_INCLUDES

Następnie edytuj plik i odznacz lub zmień ServerNamewiersz na:

ServerName localhost

Następnie zrestartuj swój apache przez: sudo apachectl restart

kenorb
źródło
1
„Upewnij się, że edytujesz właściwy plik htttpd.conf” - pomogło mi to w systemie macOS. Nie edytowałem właściwego http.confpliku. Dzięki.
Asme Just
4

W httpd.confpliku Apache :

ServerName: 127.0.0.1
user1992487
źródło
3

Istnieją dwa sposoby rozwiązania tego błędu:

  1. Include /etc/apache2/httpd.conf

    Dodaj powyższą linię w pliku /etc/apache2/apache2.conf

  2. Dodaj tę linię na końcu pliku /etc/apache2/apache2.conf :

    Nazwa_serwera localhost

Jimit Shah
źródło
1

Rozwiązałem problem z pełną kwalifikowaną nazwą domeny przy różnych okazjach, dodając nazwę mojego serwera do pliku /etc/apache2/httpd.conf i do /etc/apache2/apache2.confpliku.

Wpisz hostname -fswój terminal. To zapytanie zwróci twoją nazwę hosta.

Następnie edytuj /etc/apache2/httpd.confplik (lub utwórz go, jeśli z jakiegoś powodu nie istnieje) i dodajServerName <your_hostname> .

Ewentualnie udało mi się również wyeliminować wiadomość, dodając ServerName <your_hostname>do/etc/apache2/apache2.conf pliku.

Jeśli wszystko pójdzie dobrze, po ponownym uruchomieniu Apache wiadomość zniknie.

John Creamer
źródło
1

Większość odpowiedzi sugeruje dodanie ServerName localhostdo /etc/apache2/apache2.conf.

Ale cytując dokumentację Apache  :

Obecność tego komunikatu o błędzie wskazuje również, że serwer httpd serwera Apache nie mógł uzyskać w pełni kwalifikowanej nazwy hosta, wykonując wyszukiwanie wsteczne adresu IP serwera. Chociaż powyższe instrukcje pozwolą usunąć ostrzeżenie w każdym przypadku, dobrym pomysłem jest również naprawienie rozpoznawania nazw, aby odwrotne mapowanie działało.

Dlatego dodanie takiej linii do /etc/hostsjest prawdopodobnie bardziej niezawodnym rozwiązaniem:

192.0.2.0  foobar.example.com  foobar

gdzie 192.0.2.0 to statyczny adres IP serwera wymienionego foobarw example.comdomenie.

Można sprawdzić FQDN np. Za pomocą

hostname -A

(skrót do hostname --all-fqdn).

Skippy le Grand Gourou
źródło
1

Okazuje się, że miałem ten problem i to dlatego, że użyłem "tabulatorów" do wcięcia linii zamiast spacji. Po prostu publikuję, na wypadek gdyby to komuś pomogło.

Richard Kersey
źródło