Apache2 仮想ホストが動作しない

Apache2 仮想ホストが動作しない

私は Debian 7 を使用しており、次のチュートリアルに従ってアドレス sub.domain.com の仮想ホストをインストールしました。http://www.debian-administration.org/articles/412

有効にしてPCを再起動しましたが、サブドメインはまだ/var/wwwを開きます

以下は、 /etc/apache2/sites-available/ にある「sub.domain.com」という名前のファイルの内容です。

<VirtualHost *>
    ServerName sub.domain.com
    DocumentRoot /usr/share/destfolder
    ServerAdmin [email protected]
    ErrorLog /var/log/apache2/sub.domain.com-error_log
    CustomLog /var/log/apache2/sub.domain.com-access_log common
</VirtualHost>

ちなみに、Apache の設定をリロードすると、次のようになります。 NameVirtualHost *:80 has no VirtualHosts

助言がありますか?

答え1

チュートリアルへのリンクだけでは情報が不十分なので、設定ファイルを投稿するとさらに良いでしょう。/var/www仮想ホスト アドレスを開いたときに発生する問題には、他にも原因が考えられます。

Apache 構成ファイルは、コンテキストなしでディレクティブがグローバルに適用される方法で構築されます。それ以外の場合は、コンテキスト内でのみ適用されます。仮想ホストは、defaultまたは*仮想ホストがデフォルトとして設定されている方法で実行されます。そのような仮想ホストがない場合、構成の解析中に最初に検出された仮想ホストがデフォルトとして使用されます。

さて、最後に、考えられる答えは次の通りです。

1) 仮想ホストで DocumentRoot ディレクティブが設定されておらず、(おそらくデフォルトの) グローバル DocumentRoot が を指しています/var/www

2) 仮想ホストが期待どおりに動作していません。これは、名前を間違えたときに発生することがあります。LogLevel debugデバッグ ログを有効にして、目的のアドレスを開いたときに何が起こるか、どの仮想ホストが呼び出されるかを確認してください。Debian のログ ファイルは (100% 確実ではありません) にあります/var/log/apache2/

設定ファイルとデバッグ メッセージを投稿すると、役立つ提案が得られる可能性が大幅に高まります。

アップデート: 名前ベースの仮想ホスティングを有効にしたようです。基本的に、設定は妥当に見えます。<VirtualHost ...>句では、宛先ポートを次のように指定する必要があります<VirtualHost *:443>

ディレクティブDocumentRootServerNameがここにあります。問題ありません。おそらく、ページをリクエストしたときに仮想ホストが呼び出されないのでしょう。

これは、Apache がどの IP を指しているかを知らないために発生する可能性があります。DNSまたは少なくとも hosts ファイルにはsub.domain.com記載されていますか?sub.domian.com

名前ベースの仮想ホストの詳細:http://httpd.apache.org/docs/2.2/vhosts/name-based.html

関連情報