apache2: Não foi possível determinar com segurança o nome de domínio completo do servidor, usando 127.0.1.1 para ServerName

72

Continuo recebendo este aviso quando eu (re) inicio o Apache.

* 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 [ OK ]

Este é o conteúdo do meu arquivo etc/hosts :

#127.0.0.1  hpdtp-ubuntu910
#testproject.localhost  localhost.localdomain   localhost
#127.0.1.1  hpdtp-ubuntu910

127.0.0.1   localhost
127.0.0.1   testproject.localhost
127.0.1.1   hpdtp-ubuntu910



# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Este é o conteúdo do meu arquivo /etc/apache2/sites-enabled/000-default :

<VirtualHost *:80>
  ServerName testproject.localhost
  DocumentRoot "/home/morpheous/work/websites/testproject/web"
  DirectoryIndex index.php
  <Directory "/home/morpheous/work/websites/testproject/web">
    AllowOverride All
    Allow from All
  </Directory>

  Alias /sf /lib/vendor/symfony/symfony-1.3.2/data/web/sf
  <Directory "/lib/vendor/symfony/symfony-1.3.2/data/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

Quando vou para http://testproject.localhost , obtenho uma página em branco.

Alguém consegue identificar o que estou fazendo errado?

    
por user35402 16.01.2010 / 20:24

11 respostas

53

Por padrão, o Ubuntu não especifica um nome de servidor na configuração do Apache, porque ele não sabe qual é o nome do seu servidor. Ele tenta uma pesquisa inversa no seu endereço IP, que não retorna nada, então só tem que usar o endereço IP como o ServerName .

Para corrigir isso, adicione uma diretiva ServerName fora de qualquer host virtual - por exemplo, em /etc/apache2/httpd.conf ou configure uma resposta DNS reversa para seu endereço IP principal - nesse caso, 127.0.1.1

É perfeitamente correto ignorá-lo também.

    
por 16.01.2010 / 22:37
27

Aqui está uma solução rápida:

echo ServerName $HOSTNAME > /etc/apache2/conf.d/fqdn
    
por 15.03.2011 / 17:25
16

Outra maneira de contornar esse aviso é colocar um nome de domínio totalmente qualificado na linha 127.0.1.1 de /etc/hosts . Ele nem precisa ser um fqdn que realmente resolva qualquer coisa em um servidor dns.

127.0.1.1  hpdtp-ubuntu910.lan  hpdtp-ubuntu910

funcionaria ao mesmo tempo em que preserva o comportamento de qualquer programa que não esteja esperando o .lan extra. A ordem é importante; nomes com mais níveis devem ser especificados primeiro, como neste exemplo em que o endereço .lan vem antes do outro endereço.

    
por 03.03.2010 / 05:45
7

Esta solução funciona para minhas necessidades de desenvolvimento:

Histórico:

Debian Linux Sid:
Desenvolvimento VirtualHost: Eu tenho 10 nomes de servidores (10 entradas de virtualhost dentro de sites disponíveis)

Eu atribuí a cada um um endereço IP de host local exclusivo dentro de /etc/hosts :

127.0.0.1   joe   localhost.localdomain   localhost
127.0.1.1   joe
127.0.1.2   joomla
127.0.1.3   schmoo
127.0.1.4   forrest
127.0.1.5   store
127.0.1.6   publisher
127.0.1.7   studios
127.0.1.8   drupal
127.0.1.9   graphics
127.0.1.10  wordpress
...

The following lines are desirable for IPv6 capable hosts

::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Se você for adicionar outro virtualhost (eu tenho um bom número para desenvolvimento), adicione uma entrada a outro endereço IP de localhost e ative o site antes de reiniciar o Apache 2.2:

127.0.0.11 *newhost*

Para cada entrada que você deseja ativar como um arquivo VirtualHost:

/ etc / apache2 / sites-disponíveis /

joe joomla schoo forrest loja editora estúdios drupal gráficos wordpress

Todos os virtualhosts são habilitados / desabilitados via a2ensite / a2dissite hostname

Para suprimir o erro

Restarting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName ... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName''

edite link em /etc/apache2/httpd.conf [arquivo vazio no Debian]:

ServerName 127.0.1.1

A pesquisa é então resolvida para todos os nomes que você adiciona , comenta ou desativa a linha.

Caso você esqueça: A única entrada VirtualHost *: 80 só precisa estar dentro do arquivo ports.conf ,

/etc/apache2/ports.conf

**NameVirtualHost *:80**
Listen 80

<IfModule mod_ssl.c>
   # If you add NameVirtualHost *:443 here, you will also have to change
   # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
   # to <VirtualHost *:443>
   # Server Name Indication for SSL named virtual hosts is currently not
   # supported by MSIE on Windows XP.
   Listen 443
</IfModule>

<IfModule mod_gnutls.c>
   Listen 443
</IfModule>

Dentro da sua entrada VirtualHost, deixe de fora o VirtualHost *: 80

Exemplo: virtualhost joe

<VirtualHost *:80>
    **ServerAlias joe**
    **...**
</VirtualHost>
    
por 15.02.2011 / 12:43
6

A configuração de ServerName no httpd.conf não funcionou para mim. Eu consertei definindo ServerName 127.0.0.1 em /etc/apache2/conf.d/name .

Estou executando o Ubuntu 12.10 Alpha3 e tenho ServerName definido em ambos os lugares.

Fonte: link

    
por 08.09.2012 / 23:05
5

Você está sentindo falta de uma entrada ServerName no nível de configuração do servidor. Você precisa ter uma entrada ServerName fora de qualquer host, para o Apache usar como padrão.

Colocar uma entrada ServerName dentro de um VirtualHost não corrigirá o problema. Consulte Diretiva do ServerName .

    
por 16.01.2010 / 22:36
3

Para corrigir isso, precisamos editar o /etc/apache2/httpd.conf ou /etc/apache2.conf e adicionar a seguinte linha:

ServerName nameofserver
    
por 08.01.2012 / 11:24
1

Acredito que você precisa adicionar ServerName para o host virtual padrão. Como não está lá, está pegando o endereço IP padrão. E é um tipo de aviso. Seu servidor web ainda será funcional, eu acho.

    
por 16.01.2010 / 21:21
0
  1. você precisa adicionar o ServerName no seu arquivo link usando as seguintes etapas

    sudo gedit /etc/apache2/httpd.conf
    

    Por padrão, o arquivo httpd.conf ficará em branco. Agora, basta adicionar a seguinte linha ao arquivo.

    ServerName localhost
    

    Salve o arquivo e saia de gedit . Finalmente, reinicie o servidor.

    sudo /etc/init.d/apache2 restart
    

2) Adicione Include httpd.conf no final de apache2.conf

    
por 06.08.2013 / 14:07
-1

Se um arquivo httpd.conf ainda não existir em seu diretório etc / apache2 após a instalação, o arquivo principal de configuração do apache, apache2.conf, não terá uma referência a ele, portanto, adicionando qualquer coisa a um httpd.conf criado não fará nada. Você pode simplesmente adicionar a linha "Nome do host do ServerName" ao arquivo apache2.conf.

    
por 23.01.2013 / 03:32
-1

É / etc / hosts ainda tem essas entradas. (Eu pulei algumas respostas acima)

127.0.0.1 localhost 127.0.0.1 testproject.localhost

O endereço IP 127.0.0.1 é o mesmo aqui.

Forneça um endereço IP diferente para testproject.localhost da subnet ip de loopback.

    
por 06.08.2013 / 14:41