Apache2の起動時に発生するエラーは次のとおりです。
* Starting web server Apache2
Apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[Wed Oct 21 16:37:26 2009] [warn] NameVirtualHost *:80 has no VirtualHosts
私は最初にこのガイドに従って、複数のサイトをホストするようにApacheを設定しました。
次に、ServerFaultで 同様の質問 を見つけてソリューションを適用しようとしましたが、役に立ちませんでした。
これが私の最終的なVirtualHost構成の例です。
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.xxx.com
ServerAlias xxx.com
# Indexes + Directory Root.
DirectoryIndex index.html
DocumentRoot /var/www/www.xxx.com
# Logfiles
ErrorLog /var/www/www.xxx.com/logs/error.log
CustomLog /var/www/www.xxx.com/logs/access.log combined
</VirtualHost>
無実を保護するためにドメインXを使いました:-)
また、ガイドに記載されているconf.d/virtual.confファイルは次のようになっています。
NameVirtualHost *
奇妙なことに、3つのサイトのうち2つですべてが正常に機能しているように見えます。
NameVirtualHost
で名前が付けられたIPアドレスは、各VirtualHost
要素のIPアドレスと一致する必要があります。
例:
NameVirtualHost *:80
NameVirtualHost *:81
<VirtualHost *:80>
# ...
</VirtualHost>
<VirtualHost *:81>
# ...
</VirtualHost>
# This will not work!
<VirtualHost *>
# ...
</VirtualHost>
詳細は Apache Virtual Hostのドキュメント を参照してください。
これを交換してください:
NameVirtualHost *
これとともに:
NameVirtualHost *:80
応答に加えて、私が気付いたことの1つは、すべてのNameVirtualHostおよびVirtualHostディレクティブで:80を明示的に宣言しないとSSLを実行できないことです。Apacheは次のものをサポートしません。
NameVirtualHost *
そして
NameVirtualHost *:443
同じ構成で混同すると、ポート0でリッスンしているApacheでエラーが発生します。
私にとっては、すべてのホストに:80を追加しただけなので、SSLは適切に機能します。
例:
<VirtualHost 85.25.97.252:80>
ServerName domain.com
ServerAlias * .domain.com
ServerAdmin [email protected]
DocumentRoot "/var/www/domain.com/httpdocs/"
<ディレクトリ "/var/www/domain.com/httpdocs /">
オプションインデックスFollowSymLinks
AllowOverride All
注文許可、拒否
すべてから許可
</ Directory>
</ VirtualHost>