
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/hostname
também poderá usar esse nome em vez de localhost
.
E usa 127.0.1.1
se estiver dentro do seu /etc/hosts
:
127.0.0.1 localhost
127.0.1.1 myhostname
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.d
diretório.
O Apache não usa mais o conf.d
diretório. Todos os arquivos de configuração são armazenados no /etc/apache2/conf-available
diretório e todos os arquivos de configuração agora devem ter uma .conf
extensã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 localhost
pelo 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 servername
o 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 ServerName
de nenhuma diretiva httpd.conf
ou 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.com
está 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.com
em 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.