httpd: Impossibile determinare in modo affidabile il nome di dominio completo del server, utilizzando 127.0.0.1 per ServerName


172

Ho provato a riavviare il mio server Apache su CentOS 5.0 e ho ricevuto questo messaggio:

httpd: Impossibile determinare in modo affidabile il nome di dominio completo del server, utilizzando 127.0.0.1 per ServerName

Ecco il /etc/hostsfile:

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

Ecco il /etc/sysconfig/networkfile:

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=server4-245

Ho anche questo nel file httpd.conf di Apache:

ServerName localhost

Tuttavia, ricevo ancora il primo messaggio di errore quando riavvio Apache.


1
Assicurati di aver modificato il diritto httpd.conf. Di solito ServerName xyva bene.
KingCrunch

Risposte:


95

Il file hosts non include un nome di dominio completo valido, né localhostun nome di dominio completo. Un nome di dominio completo deve includere una parte del nome host e una parte del nome di dominio. Ad esempio, il seguente è un nome di dominio completo valido:

host.server4-245.com

Scegli un FQDN e includilo entrambi nel tuo /etc/hostsfile su entrambi gli indirizzi IPv4 e IPv6 che stai utilizzando (nel tuo caso, localhosto 127.0.0.1), e cambia il tuoServerName nella tua configurazione httpd in modo che corrisponda.

/ 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
Nota anche che vorrai modificare la tua voce HOSTNAME nel tuo file / etc / sysconfig / network in modo che corrisponda al nome scelto.
Paul Stengel,

2
Hmm. Ho: 127.0.0.1 localhost gondor gondor.localdomain 192.168.0.3 gondor.localdomain ma sembra che Linux non pensi che neanche gondor.localdomain sia un nome di dominio completo. Qual è il problema con quello? Devo avere un TLD?
Adam,

Ciao, ho provato tutto quanto sopra e sto ancora ricevendo gli stessi errori, non capisco bene cosa mi manchi qui. Il mio nome di dominio completo è impostato su ak.local.com nello stesso modo della tua risposta, ma sto ancora riscontrando gli stessi problemi. Sono in esecuzione su OSX 10.10
AKFourSeven

1
Ho scoperto che: 127.0.0.1 myserver myserver.mydom.com ... etc << non funziona 127.0.0.1 myserver.mydom.com myserver ... etc << funziona
Martin

208

Se non hai httpd.confnella cartella /etc/apache2, dovresti avere apache2.conf - aggiungi semplicemente:

ServerName localhost

Quindi riavviare il apache2servizio.


2
Ha funzionato perfettamente su Ubuntu 12.04 LTS con più host virtuali.
Gor

3
Ha funzionato perfettamente su Mac OS 10.7.5 con più host virtuali.
DudeOnRock

1
Ha funzionato su Mac OS 10.7.5 con Virtualbox
iWizard

3
Ha funzionato perfettamente su Centos 6.4.
Kel Solaar,

7
Ha funzionato perfettamente su Centos 6 (versione cloud), sebbene httpd.conf fosse in / etc / httpd / conf /
gbarry

64

Dopo l'installazione iniziale del server Apache, ho avuto il seguente errore durante il riavvio del servizio Apache su Ubuntu 12.04 (Precise Pangolin)

La soluzione è davvero semplice. Aggiungi la ServerNamedirettiva a /etc/apache2/httpd.conf:

sudo nano /etc/apache2/httpd.conf

Inserisci: ServerName localhost

Infine riavvia il server Apache:

sudo /etc/init.d/apache2 restart

1
All'interno di CentOS 7, il percorso sarà /etc/httpd/conf/httpd.conf
Debashis

11

Quindi, sebbene questa sia una risposta e una accettazione, è emersa come un risultato di ricerca superiore e le risposte, sebbene disposte (dopo molte ricerche), mi hanno lasciato grattarmi la testa e scavare molto di più. Quindi, ecco un rapido layout di come ho risolto il problema.

Supponendo che il mio server sia myserver.myhome.com e il mio indirizzo IP statico sia 192.168.1.150:

  1. Modifica il file 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. Modifica httpd.conf

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

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

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

    $ sudo /etc/init.d/apache2 restart
    

Sembrava che la differenza myserver.myhome.comincludesse sia il 127.0.0.1 sia l'indirizzo IP statico 192.168.1.150 nel file hosts. Lo stesso su Ubuntu Server e CentOS.


9

In httpd.conf, cerca "ServerName". Di solito è commentato per impostazione predefinita su Mac. Basta decommentarlo e compilarlo. Assicurati di avere anche il nome / ip combo impostato in / etc / hosts.


Grazie, questo è stato utile. httpd non stava rilevando il mio fqdn in / etc / hosts e il mio nome host sembrava configurato correttamente.
Banjer,

8

Assicurati di modificare il diritto httpd.conf file , quindi l'errore sul nome di dominio del server inaffidabile dovrebbe essere sparito (questo è l'errore più comune).

Per individuare il httpd.conffile di configurazione di Apache, eseguire:

apachectl -t -D DUMP_INCLUDES

Quindi modifica il file e decommenta o cambia ServerNameriga in:

ServerName localhost

Quindi riavvia Apache: sudo apachectl restart


1
"Assicurati di modificare il file htttpd.conf corretto", questo mi ha aiutato su macOS. Non stavo modificando il http.conffile giusto . Grazie.
Asme Solo il


3

Esistono due modi per risolvere questo errore:

  1. Include /etc/apache2/httpd.conf

    Aggiungi la riga sopra nel file /etc/apache2/apache2.conf

  2. Aggiungi questa riga alla fine del file /etc/apache2/apache2.conf :

    ServerName localhost


1

Ho risolto il messaggio di nome di dominio completo in diverse occasioni aggiungendo il mio nome host del server al file /etc/apache2/httpd.conf e al /etc/apache2/apache2.conffile.

Digita il hostname -ftuo terminale. Questa query restituirà il tuo nome host.

Quindi modificare il /etc/apache2/httpd.conffile (o crearlo se non esiste per qualche motivo) e aggiungere ServerName <your_hostname>.

In alternativa, sono stato anche in grado di eliminare il messaggio aggiungendolo ServerName <your_hostname>al /etc/apache2/apache2.conffile.

Se tutto va bene, quando riavvii Apache, il messaggio sparirà.


1

La maggior parte delle risposte suggerisce di aggiungere solo ServerName localhosta /etc/apache2/apache2.conf.

Ma citando la documentazione di Apache  :

La presenza di questo messaggio di errore indica anche che Apache httpd non è stato in grado di ottenere un nome host completo eseguendo una ricerca inversa sull'indirizzo IP del server. Sebbene le istruzioni sopra rimuoveranno l'avviso in ogni caso, è anche una buona idea correggere la risoluzione del tuo nome in modo che questa mappatura inversa funzioni.

Pertanto l'aggiunta di tale linea a /etc/hostsè probabilmente una soluzione più solida:

192.0.2.0  foobar.example.com  foobar

dove 192.0.2.0 è l'indirizzo IP statico del server denominato foobarall'interno del example.comdominio.

Si può controllare il nome di dominio completo, ad es. Con

hostname -A

(scorciatoia per hostname --all-fqdn).


1

Si scopre che ho avuto questo problema ed è stato perché ho usato "tabs" per indentare le linee anziché gli spazi. Basta pubblicare, nel caso in cui aiuti qualcuno.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.