私はDebian 7を使用しており、このチュートリアルに従ってアドレスがsub.domain.comの仮想ホストをインストールしました。http://www.debian-administration.org/articles/412
有効にしてコンピュータを再起動しましたが、サブドメインはまだ開いています。 /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) Web ホストが期待どおりに動作しません。名前が間違っていると、これが時々起こります。デバッグロギングを有効にLogLevel debug
し、目的のアドレスを開くと何が起こるのか、どの仮想ホストが呼び出されるのかを確認してください。 Debianでは、ログファイルがあります(100%はわかりません)/var/log/apache2/
。
設定ファイルを公開してメッセージをデバッグすると、役に立つ提案を受ける可能性が大幅に向上します。
修正する:
名前ベースの仮想ホスティングがオンになっているようです。デフォルトでは、設定は合理的に見えます。この<VirtualHost ...>
セクションでは、宛先ポート<VirtualHost *:443>
などを指定する必要があります。
ガイドラインDocumentRoot
とガイドラインのServerName
両方がここにあるので、そのまま使用してください。ページのリクエスト時に Web ホストが呼び出されないことがあります。
これはおそらく、ApacheがIPが何を指しているのかわからないからですsub.domain.com
。sub.domian.com
DNSがあるか、少なくともホストファイルにありますか?
名前ベースの仮想ホスティングに関する追加情報:http://httpd.apache.org/docs/2.2/vhosts/name-based.html