19.3. 仮想ホストの設定値

HTTP 設定ツールを使用して、仮想ホストを設定できます。仮想ホストがあると、異なるIPアドレス、 異なるホスト名、または同じマシン上の異なるポートを使って、異なるサーバーを稼動させることができます。たとえば、仮想ホストを 使用して、同じサーバ上で、http://www.example.com/やhttp://www.anotherexample.com/といったWebサイトを実行できます。 このオプションは、デフォルト仮想ホストとIPベースの仮想ホストの場合は、<VirtualHost> ディレクティブに相当します。名前ベースの仮想ホストの場合は、<NameVirtualHost> ディレクティブに相当します。

仮想ホストのディレクティブ群は、特定の仮想ホストだけに適用されます。デフォルト設定を編集 ボタンでサーバー全体に対して設定されているが、仮想ホスト設定値内に定義されていないディレクティブに関しては、デフォルト 設定値が使用されます。たとえば、メインタブの管理者のメールアドレスを定義することは できますが、各仮想ホストに個別の電子メールアドレスを定義することはできません。

HTTP 設定ツールには、 図19-8に示してあるように、 デフォルトの仮想ホストが含まれます。

図 19-8. 仮想ホスト

http://httpd.apache.org/docs-2.0/vhosts/Webサイトや、 コンピュータにインストールされているApache HTTP サーバードキュメントには仮想ホストに関する詳しい情報が記載されています。

19.3.1. 仮想ホストの追加と編集

仮想ホストを追加するには、仮想ホストタブの追加ボタンをクリックします。一覧内の仮想ホストを選択して編集ボタンをクリックし、仮想ホストの設定を編集することもできます。

19.3.1.1. 一般のオプション

一般のオプション設定値は、設定中の仮想ホストだけに適用されます。仮想ホスト名 テキストフィールドに仮想ホストの名前を設定します。この名前は、HTTP 設定ツールが 仮想ホストを区別するために使用します。

ドキュメントのルートディレクトリの値は、仮想ホストのrootドキュメント(index.htmlなど)を含む ディレクトリに対して設定します。このオプションは、 VirtualHostディレクティブ内のDocumentRootディレクティブに 相当します。Red Hat Linux 7.0より前のRed Hat LinuxのApache HTTP サーバーでは、/home/httpd/htmlDocumentRoot として使用していました。Red Hat Linux 9では、デフォルトのDocumentRoot/var/www/html です。

管理者のメールアドレスは、VirtualHostディレクティブ内のServerAdminディレクティブに相当します。 エラーページのフッタに電子メールアドレスを表示するように選択した場合は、フッタにこの電子メールアドレスが使用されます。

ホスト情報セクションでは、デフォルトの仮想ホストIPベースの仮想ホスト名前ベースの仮想ホストのいずれかを選択します。

デフォルト仮想ホスト

設定できるデフォルト仮想ホストは1つだけです。要求されたIPアドレスが別の仮想ホスト内に明示的に一覧されていない場合に、 デフォルト仮想ホストの設定値が使用されます。デフォルト仮想ホストが定義されていない場合は、メインのサーバーの設定値が使用されます。

IPベースの仮想ホスト

IPベースの仮想ホストを選択すると、サーバーのIPアドレスに基づいて <VirtualHost> ディレクティブを設定するためのウィンドウが表示されます。IP アドレスフィールドで サーバーのIPアドレスを指定します。複数のIPアドレスを指定するには、各IPアドレスをスペースで区切ります。 ポートを指定するときは、IP Address:Portという構文を使います。 「:*」を使用すると、そのIPアドレスにすべてのポートを設定できます。サーバのホスト名フィールドに 仮想ホストのホスト名を指定します。

名前ベースの仮想ホスト

名前ベースの仮想ホストを選択すると、サーバーのホスト名に基づいてNameVirtualHostディレクティブ を設定するためのウィンドウが出てきます。IPアドレスフィールドにサーバーのIPアドレスを指定します。 複数のIPアドレスを指定するには、各IPアドレスをスペースで区切ります。ポートを指定するときは、IP Address:Port という構文を使います。「:*」を使用すると、そのIPアドレスのすべてのポートを設定できます。 サーバのホスト名フィールドに仮想ホストのホスト名を指定します。エイリアス セクションで、追加ボタンをクリックし、ホスト名の別名を追加します。ここで別名を追加すると、 NameVirtualHostディレクティブ内にServerAliasディレクティブが追加されます。

19.3.1.2. SSL

注意注意
 

SSLハンドシェイクは、該当する名前ベースの仮想ホストを識別するHTTP要求の前(ブラウザがセキュアWebサーバーの証明書を受け取ったとき)に実行されるため、名前ベースの仮想ホストとSSLを同時に使用することはできません。名前ベースの仮想ホストを使用する場合は、セキュアでないWebサーバーでしか稼動できません。

図 19-9. SSLサポート

Apache HTTP サーバー にSSLサポートが設定されていないと、Apache HTTP サーバーとクライアント間の通信は暗号化されません。これは、ユーザー情報や機密情報を持たないWebサイトには適しています。たとえば、ソースが公開されたソフトウェアやドキュメントを配信するオープンなWebサイトには、セキュアな通信は必要ありません。ただし、クレジットカード情報が必要なEコマースWebサイトでは、ApacheのSSLサポートを使用して通信を暗号化する必要があります。Apache SSLサポートを有効にすると、mod_sslセキュリティモジュールを使用できるようになります。HTTP 設定ツールを使ってこれを有効にするには、メインタブの使えるアドレスの一覧のアドレスを使い、ポート443を使用してアクセスできるように設定する必要があります。詳細については項19.1を参照してください。次に、仮想ホストタブで仮想ホスト名を選択し、編集ボタンをクリックします。左側のメニューからSSLを選択し、SSLサポートを有効オプションをチェックします(図19-9参照)。SSL 設定セクションは、仮のデジタル証明書を使って事前設定されています。デジタル証明書は、セキュアWebサーバーの認証に使用され、クライアントWebブラウザに対してセキュアサーバーの身元を証明します。自分専用のデジタル証明書を購入する必要があります。自分のWebサイトでは、Red Hat Linuxに組み込まれている仮のデジタル証明書は使用しないでください。CAの承認を受けたデジタル証明書の購入については、第20章を参照してください。

19.3.1.3. その他の仮想ホストのオプション

仮想ホストのサイト設定環境変数ディレクトリ といったオプションは、これらのオプションが設定中の個々の仮想ホスト用に設定される点を除けば、 デフォルト設定の編集ボタンをクリックしたときに設定したディレクティブと同じです。 これらのオプションについての詳細は、項19.2を参照してください。