13.04 e mais velhos

13.04 e mais velhos

Quando eu reinicio meu servidor Apache usando o comando

sudo /etc/init.d/apache2 restart

Estou tendo o erro a seguir:

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

O servidor está usando 127.0.1.1 em vez de 127.0.0.1? O que causa esse erro?

Responder1

13.04 e mais velhos

Este é apenas um aviso amigável e não é realmente um problema (como se algo não funcionasse).

Se você vai para:

/etc/apache2/apache2.conf

e insira:

ServerName localhost   

e reinicie o apache digitando no terminal:

sudo systemctl reload apache2

o aviso desaparecerá.

Se você tiver um nome dentro, /etc/hostnametambém poderá usar esse nome em vez de localhost.


E usa 127.0.1.1se estiver dentro do seu /etc/hosts:

127.0.0.1 localhost
127.0.1.1 myhostname

Método preferido

Solução de problemas do Apache

Se você receber este erro:

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

em seguida, use um editor de texto como "sudo nano" na linha de comando ou "gksudo gedit" na área de trabalho para criar um novo arquivo,

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

ou

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

então adicione

ServerName localhost

para o arquivo e salve. Tudo isso pode ser feito em um único comando com o seguinte:

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

Mas no Ubuntu 14.04:

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

Não esqueça do ".conf" (sem não funciona).

Responder2

13.10 ou mais recente

A partir do Apache 2.4 - que está disponível por padrão a partir de 13.10 - você não pode usar o método de adição de um arquivo de configuração no conf.ddiretório.

O Apache não usa mais o conf.ddiretório. Todos os arquivos de configuração são armazenados no /etc/apache2/conf-availablediretório e todos os arquivos de configuração agora devem ter uma .confextensão.

Para resolver esta mensagem no Apache 2.4, temos que criar um arquivo de configuração dentro do diretório conf-available. Por exemplo servername.conf.

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

E dentro disso só precisamos adicionar uma linha

ServerName localhost

Você pode combinar os dois comandos anteriores em um com:

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

Se você quiser usar um nome de domínio ou qualquer outro nome dependendo do requisito, tudo bem, basta substituir localhostpelo que precisar. Em seguida você deve habilitar esta configuração. Para isso, você precisa executar o seguinte comando:

sudo a2enconf servername

a2enconfé um comando para habilitar um arquivo de configuração no Apaches 2.4. Observe também que servernameo comando acima vem do nome do arquivo de configuração servername.conf. Se o seu arquivo de configuração fosse ngenericserver.conf, você teria que escrever sudo a2enconf ngenericserver.

Depois disso, recarregue o servidor e a mensagem acima não irá mais incomodá-lo.

sudo service apache2 reload

ou

sudo apache2ctl graceful

Agora depois disso você verá que a mensagem não será mostrada novamente e o problema será resolvido.

Responder3

O Apache2 também pode obter o FQDN de um nome de host do sistema configurado corretamente, em vez de codificado no arquivo de configuração do Apache. Codificá-lo também causará confusão se o nome do host for alterado. Na verdade, você não precisa ServerNamede nenhuma diretiva httpd.confou de nenhum arquivo de configuração do Apache.

Coloque o seguinte /etc/hosts:

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

onde hostname.domainname.comestá o FQDN da sua máquina.

Junto com um nome de host configurado corretamente em /etc/hostname/ou com hostnamectl, isso também ajudará outros serviços em sua máquina a funcionar corretamente (ou seja, o prompt de login, exibido This is hostname.domainname.comem vez de This is hostname.unknown_domain.)

Responder4

Na nova versão do Apache2 você apenas segue um comando como este:

sudo nano /etc/apache2/apache2.conf

Adicione a seguinte nova linha no final do arquivo:

ServerName localhost

Então reinicie o apache2:

sudo service apache2 restart

Está feito.

informação relacionada