仮想ホストの設定値

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

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

Apache Configuration Toolには、図13-8に示すデフォルト仮想ホストが組み込まれています。デフォルト仮想ホストの詳細については、デフォルト仮想ホストを参照してください。

図 13-8. 仮想ホスト

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

仮想ホストの追加と編集

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

一般のオプション

一般のオプション設定値は、設定中の仮想ホストだけに適用される全般のオプションです。仮想ホスト名に仮想ホストの名前を設定します。この名前は、Apache Configuration Toolが仮想ホストを区別するために使用します。

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

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

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

デフォルト仮想ホスト

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

IPベースの仮想ホスト

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

名前ベースの仮想ホスト

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

SSL

注意メモ
 

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

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