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
にアクセスすると、空白のページが表示されます。
誰かが私が間違っていることを発見できますか?
デフォルトでは、UbuntuはApache構成でServerNameを指定しません。サーバーの名前がわからないためです。それは何も返さないあなたのIPアドレスで逆引きを試みます、それで ServerName としてIPアドレスを使わなければなりません。
これを修正するには、ServerNameディレクティブ仮想ホストの外部を追加します。 /etc/Apache2/httpd.conf
、またはプライマリIPアドレスのリバースDNS応答を設定します-この場合、127.0.1.1
無視しても問題ありません。
ここに簡単な修正があります:
echo ServerName $HOSTNAME > /etc/Apache2/conf.d/fqdn
この警告を回避するもう1つの方法は、127.0.1.1
の/etc/hosts
行に完全修飾ドメイン名を配置することです。実際にはDNSサーバー上の任意のものに解決されるfqdnである必要はありません。
127.0.1.1 hpdtp-ubuntu910.lan hpdtp-ubuntu910
追加の.lan
を期待していないプログラムの動作も保持しながら、トリックを実行します。順序は重要です。より多くのレベルを持つ名前を最初に指定する必要があります。この例では、.lan
アドレスが他のアドレスの前にあります。
このソリューションは私の開発ニーズに対応します:
背景:
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>
Httpd.confでServerName
を設定してもうまくいきませんでした。 ServerName 127.0.0.1
に/etc/Apache2/conf.d/name
を設定して修正しました。
私はUbuntu 12.10 Alpha3を実行していて、両方の場所でServerName
を定義しています。
サーバー構成レベルのServerNameエントリがありません。 Apacheをデフォルトとして使用するには、ホストの外側にServerNameエントリが必要です。
VirtualHost内にServerNameエントリを配置しても問題は解決しません。 ServerName Directiveを参照してください。
これを修正するには、/ etc/Apache2/httpd.confまたは/etc/Apache2.confを編集して、次の行を追加する必要があります。
ServerName nameofserver
デフォルトの仮想ホストにServerName
を追加する必要があると思います。そこにはないため、デフォルトのIPアドレスを使用しています。そしてそれは一種の警告です。あなたのウェブサーバーはまだ機能していると思います。
次の手順で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
を追加します