
私は 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>
。
ディレクティブDocumentRoot
とServerName
がここにあります。問題ありません。おそらく、ページをリクエストしたときに仮想ホストが呼び出されないのでしょう。
これは、Apache がどの IP を指しているかを知らないために発生する可能性があります。DNSまたは少なくとも hosts ファイルにはsub.domain.com
記載されていますか?sub.domian.com
名前ベースの仮想ホストの詳細:http://httpd.apache.org/docs/2.2/vhosts/name-based.html