Apache2仮想ホストが機能しない

Apache2仮想ホストが機能しない

私は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.comsub.domian.comDNSがあるか、少なくともホストファイルにありますか?

名前ベースの仮想ホスティングに関する追加情報:http://httpd.apache.org/docs/2.2/vhosts/name-based.html

関連情報