web-dev-qa-db-ja.com

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

Apacheを(再)起動すると、この警告が表示され続けます。

* Restarting web server Apache2Apache2: 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にアクセスすると、空白のページが表示されます。

誰かが私が間違っていることを発見できますか?

73
user35402

デフォルトでは、UbuntuはApache構成でServerNameを指定しません。サーバーの名前がわからないためです。それは何も返さないあなたのIPアドレスで逆引きを試​​みます、それで ServerName としてIPアドレスを使わなければなりません。

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

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

52
crb

ここに簡単な修正があります:

echo ServerName $HOSTNAME > /etc/Apache2/conf.d/fqdn
27
ReinoutS

この警告を回避するもう1つの方法は、127.0.1.1/etc/hosts行に完全修飾ドメイン名を配置することです。実際にはDNSサーバー上の任意のものに解決されるfqdnである必要はありません。

127.0.1.1  hpdtp-ubuntu910.lan  hpdtp-ubuntu910

追加の.lanを期待していないプログラムの動作も保持しながら、トリックを実行します。順序は重要です。より多くのレベルを持つ名前を最初に指定する必要があります。この例では、.lanアドレスが他のアドレスの前にあります。

16
Ryan Ahearn

このソリューションは私の開発ニーズに対応します:

背景:

Debian Linux Sid:
VirtualHost Development:私は10個のサーバー名を持っています(サイト内で10個のvirtualhostエントリを利用できます)

/etc/hosts内に一意のlocalhost IPアドレスをそれぞれ割り当てました:

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

別の仮想ホストを追加する場合(開発用にかなりの数があります)、別のローカルホストIPアドレスにエントリを追加し、Apache 2.2を再起動する前にサイトを有効にします。

127.0.0.11 *newhost*

VirtualHostファイルとして有効にしたいすべてのエントリについて:

/ etc/Apache2/sites-available /

joe joomla schooフォレストストアパブリッシャースタジオdrupalグラフィックワードプレス

すべての仮想ホストは、a2ensite/a2dissitehostnameによって有効/無効にされます

エラーを抑制するには

Webサーバーの再起動:Apache2apache2:ServerNameに127.0.0.1を使用してサーバーの完全修飾ドメイン名を確実に特定できませんでした...待機中のApache2:ServerNameに127.0.0.1を使用してサーバーの完全修飾ドメイン名を確実に特定できませんでした ''

編集httpd.conf in /etc/Apache2/httpd.conf [Debianの空のファイル]:

ServerName 127.0.1.1

次に、すべての名前についてルックアップが解決されますaddコメントアウトまたはdisableダウンライン。

忘れた場合:唯一のVirtualHost *:80エントリは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>

VirtualHostエントリ内は省略VirtualHost *:8

例:virtualhost joe

<VirtualHost *:80>
    **ServerAlias joe**
    **...**
</VirtualHost>
7
Marc Driftmeyer

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

6
Nick

サーバー構成レベルのServerNameエントリがありません。 Apacheをデフォルトとして使用するには、ホストの外側にServerNameエントリが必要です。

VirtualHost内にServerNameエントリを配置しても問題は解決しません。 ServerName Directiveを参照してください。

5
David

これを修正するには、/ etc/Apache2/httpd.confまたは/etc/Apache2.confを編集して、次の行を追加する必要があります。

ServerName nameofserver
3
niekutis

デフォルトの仮想ホストにServerNameを追加する必要があると思います。そこにはないため、デフォルトのIPアドレスを使用しています。そしてそれは一種の警告です。あなたのウェブサーバーはまだ機能していると思います。

1
vpram86
  1. 次の手順でhttpd.confファイルにServerNameを追加する必要があります

    Sudo gedit /etc/Apache2/httpd.conf
    

    デフォルトでは、httpd.confファイルは空白になります。ここで、次の行をファイルに追加します。

    ServerName localhost
    

    ファイルを保存し、geditを終了します。最後にサーバーを再起動します。

    Sudo /etc/init.d/Apache2 restart
    

2)Include httpd.confの最後にApache2.confを追加します

0
kunjalpopat