apache2: ServerName に 127.0.1.1 を使用しても、サーバーの完全修飾ドメイン名を確実に特定できませんでした

apache2: ServerName に 127.0.1.1 を使用しても、サーバーの完全修飾ドメイン名を確実に特定できませんでした

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 ]

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

/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>

にアクセスするとhttp://testproject.localhost、空白のページが表示されます。

私が間違っているところを誰か見つけられますか?

答え1

デフォルトでは、UbuntuはApacheの設定でServerNameを指定しません。サーバーの名前がわからないためです。IPアドレスの逆引きを試​​みますが、何も返ってこないので、IPアドレスをそのまま使用する必要があります。サーバーの名前

これを修正するには、ServerNameディレクティブを追加するか、仮想ホストの外部- 例えば/etc/apache2/httpd.conf、プライマリIPアドレスの逆DNS応答を設定します - この場合は127.0.1.1

無視しても全く問題ありません。

答え2

簡単な修正方法は次のとおりです:

echo ServerName $HOSTNAME > /etc/apache2/conf.d/fqdn

答え3

127.0.1.1この警告を回避する別の方法は、の行に完全修飾ドメイン名を入力することです/etc/hosts。DNS サーバー上で実際に解決される FQDN である必要はありません。

127.0.1.1  hpdtp-ubuntu910.lan  hpdtp-ubuntu910

は、追加の を想定していないプログラムの動作を維持しながら、目的を果たします.lan。順序は重要です。この例では、アドレスが他のアドレスの前に来るため、より多くのレベルを持つ名前を最初に指定する必要があります.lan

答え4

httpd.conf での設定がServerNameうまくいきませんでした。 を設定することで修正しましServerName 127.0.0.1/etc/apache2/conf.d/name

私は Ubuntu 12.10 Alpha3 を実行しており、ServerName両方の場所で定義しています。

ソース:http://linuxconfig.net/manual-howto/error-solution-could-not-reliably-determine-the-servers-fully-qualified-domain-name.html

関連情報