httpd: não foi possível determinar com segurança o nome de domínio totalmente qualificado do servidor, usando 127.0.0.1 para ServerName

172

Tentei reiniciar meu servidor Apache no CentOS 5.0 e recebi esta mensagem:

httpd: não foi possível determinar com segurança o nome de domínio totalmente qualificado do servidor, usando 127.0.0.1 para ServerName

Aqui está o /etc/hostsarquivo:

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

Aqui está o /etc/sysconfig/networkarquivo:

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=server4-245

Eu também tenho isso no arquivo httpd.conf do Apache:

ServerName localhost

No entanto, ainda recebo a primeira mensagem de erro ao reiniciar o Apache.

user1220351
fonte
1
Verifique se você editou o direito httpd.conf. Geralmente ServerName xyestá tudo bem.
#

Respostas:

95

O arquivo de hosts não inclui um FQDN válido nem localhostum FQDN. Um FQDN deve incluir uma parte do nome do host, bem como uma parte do nome do domínio. Por exemplo, a seguir é um FQDN válido:

host.server4-245.com

Escolha um FQDN e inclua-o no seu /etc/hostsarquivo nos endereços IPv4 e IPv6 que você está usando (no seu caso localhostou 127.0.0.1) e altere-o ServerNamena sua configuração httpd para corresponder.

/ 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
fonte
6
Observe também que você deseja modificar sua entrada HOSTNAME no arquivo / etc / sysconfig / network para corresponder ao nome escolhido.
Paul Stengel
2
Hmm. Eu tenho: 127.0.0.1 localhost gondor gondor.localdomain 192.168.0.3 gondor.localdomain mas parece que o linux não acha que o gondor.localdomain também seja um FQDN. Qual é o problema com isso? Eu tenho que ter um TLD?
10243 Adam
Oi Eu tentei todas as opções acima e ainda estou recebendo os mesmos erros, não entendo bem o que me falta aqui. Meu FQDN é ak.local.com configurado da mesma maneira que sua resposta, mas ainda estou recebendo os mesmos problemas. Estou executando no OSX 10.10
AKFourSeven 20/15/15
1
Eu descobri que: 127.0.0.1 myserver myserver.mydom.com ... etc << não funciona 127.0.0.1 myserver.mydom.com myserver ... etc << não funciona
Martin
208

Se você não possui uma httpd.confpasta /etc/apache2, deve ter o apache2.conf - basta adicionar:

ServerName localhost

Em seguida, reinicie o apache2serviço.

riegersn
fonte
2
Funcionou perfeitamente no Ubuntu 12.04 LTS executando vários hosts virtuais.
Gor
3
Funcionou perfeitamente no Mac OS 10.7.5 executando vários hosts virtuais.
DudeOnRock
1
Trabalhou no Mac OS 10.7.5 rodando Virtualbox
iWizard
3
Funcionou perfeitamente no Centos 6.4.
27413 Kel Kelmolaar
7
Funcionou perfeitamente no CentOS 6 (versão cloud), embora httpd.conf estava em / etc / httpd / conf /
gbarry
64

Após a instalação inicial do servidor Apache, recebi o seguinte erro ao reiniciar o serviço Apache no Ubuntu 12.04 (Precise Pangolin)

A solução é realmente simples. Basta adicionar a ServerNamediretiva a /etc/apache2/httpd.conf:

sudo nano /etc/apache2/httpd.conf

Adicionar: ServerName localhost

Finalmente, reinicie o servidor Apache:

sudo /etc/init.d/apache2 restart
rizon
fonte
1
No CentOS 7, o caminho será /etc/httpd/conf/httpd.conf
Debashis
11

Portanto, enquanto isso é respondido e aceito, ele continua sendo o principal resultado da pesquisa e as respostas apresentadas (após muita pesquisa) me deixaram coçando a cabeça e cavando muito mais. Então, aqui está um layout rápido de como eu resolvi o problema.

Supondo que meu servidor seja myserver.myhome.com e meu endereço IP estático seja 192.168.1.150:

  1. Edite o arquivo 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. Edite httpd.conf

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

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

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

    $ sudo /etc/init.d/apache2 restart
    

Parecia que a diferença estava incluindo myserver.myhome.como 127.0.0.1 e o endereço IP estático 192.168.1.150 no arquivo de hosts. O mesmo no Ubuntu Server e CentOS.

user2416772
fonte
9

No httpd.conf, procure por "ServerName". Geralmente, é comentado por padrão no Mac. Apenas remova o comentário e preencha. Verifique se você também tem o nome / ip combo definido em / etc / hosts.

sparkyspider
fonte
Obrigado, isso foi útil. O httpd não estava pegando meu fqdn em / etc / hosts e meu nome de host parecia configurado corretamente.
245 Banjer
8

Verifique se você está editando o httpd.confarquivo certo , para que o erro sobre o nome de domínio não confiável do servidor deva desaparecer (esse é o erro mais comum).

Para localizar o httpd.confarquivo de configuração do Apache, execute:

apachectl -t -D DUMP_INCLUDES

Em seguida, edite o arquivo e remova o comentário ou altere a ServerNamelinha para:

ServerName localhost

Em seguida, reinicie o seu apache: sudo apachectl restart

kenorb
fonte
1
"Verifique se você está editando o arquivo updtpd.conf correto", isso me ajudou no macOS. Eu não estava editando o http.confarquivo certo . Obrigado.
Asme Apenas 30/10/19
4

No httpd.confarquivo Apache :

ServerName: 127.0.0.1
user1992487
fonte
3

Existem duas maneiras de resolver esse erro:

  1. Include /etc/apache2/httpd.conf

    Adicione a linha acima no arquivo /etc/apache2/apache2.conf

  2. Adicione esta linha no final do arquivo /etc/apache2/apache2.conf :

    ServerName localhost

Jimit Shah
fonte
1

Resolvi a mensagem de nome de domínio totalmente qualificado em diferentes ocasiões, adicionando o nome do host do servidor ao arquivo /etc/apache2/httpd.conf e ao /etc/apache2/apache2.confarquivo.

Digite hostname -fseu terminal. Esta consulta retornará seu nome de host.

Em seguida, edite o /etc/apache2/httpd.confarquivo (ou crie-o se ele não existir por algum motivo) e adicione ServerName <your_hostname>.

Como alternativa, também consegui eliminar a mensagem adicionando ServerName <your_hostname>ao /etc/apache2/apache2.confarquivo.

Se tudo correr bem, quando você reiniciar o Apache, a mensagem desaparecerá.

John Creamer
fonte
1

A maioria das respostas sugere apenas adicionar ServerName localhosta /etc/apache2/apache2.conf.

Mas citando a documentação do Apache  :

A presença dessa mensagem de erro também indica que o httpd do Apache não conseguiu obter um nome de host completo, fazendo uma pesquisa inversa no endereço IP do servidor. Embora as instruções acima se livrem do aviso em qualquer caso, também é uma boa idéia corrigir a resolução do nome para que esse mapeamento reverso funcione.

Portanto, adicionar essa linha a /etc/hostsé provavelmente uma solução mais robusta:

192.0.2.0  foobar.example.com  foobar

onde 192.0.2.0 é o endereço IP estático do servidor nomeado foobardentro do example.comdomínio.

Pode-se verificar o FQDN, por exemplo, com

hostname -A

(atalho para hostname --all-fqdn).

Skippy le Grand Gourou
fonte
1

Acontece que eu tive esse problema e foi porque usei "guias" para recuar linhas em vez de espaços. Apenas postando, caso isso ajude alguém.

Richard Kersey
fonte