前へ     目次     索引     DocHome     次へ     
iPlanet Web Server, Enterprise Edition 管理者ガイド



第 13 章   仮想サーバの使用


この章では、iPlanet Web Server を使用して仮想サーバの設定および管理を行う方法を説明します。

この章は、次の節で構成されています。



仮想サーバの概要

仮想サーバを使用すると、インストールされた 1 つのサーバで、複数の会社または個人に対して、ドメイン名、IP アドレス、およびサーバ監視機能を提供できます。仮想サーバを使用してハードウェアと基本的な Web サーバの維持管理を提供しますが、ユーザからは、それぞれが専用の Web サーバを所有しているように見えます。



仮想サーバを使用しない場合でも、Web サーバインスタンスのコンテンツ、プログラム、およびその他の機能を構成するときは Class Manager の項目を使用します。Web サーバをインストールすると、そのインスタンスのデフォルトの仮想サーバが作成されます。仮想サーバのユーザインタフェースを使用して、デフォルトの仮想サーバのコンテンツおよびサービスを管理できます。



仮想サーバを設定するには、次の項目を設定する必要があります。

仮想サーバの設定は、server.xml ファイルに保存されます。このファイルは server_root/server_ID/config ディレクトリにあります。仮想サーバを使用するのにこのファイルを編集する必要はありませんが、このファイルについてさらに詳細を知りたい場合は、『NSAPI プログラマーズガイド』を参照してください。

この節では、次の内容について説明します。


複数のサーバインスタンス

これまでのリリースの iPlanet Web Server では、仮想サーバごとに固有の構成情報を柔軟に設定することができませんでした。サーバごとに個別の構成情報を簡単に設定する方法として、ほとんどの場合、ユーザは個別のサーバインスタンスを作成していました。iPlanet Web Server 6.0 では、仮想サーバクラスごとに個別の構成情報が存在します。複数のサーバインスタンスを使用することは現在も可能ですが、個別の構成情報を持つサーバを多数使用する場合は、仮想サーバの使用をお勧めします。


仮想サーバクラス

仮想サーバはクラスにグループ分けされます。クラスを使用すると、類似するサーバを一度に構成できるので、各サーバを個別に構成する必要がありません。同じクラスに含まれるすべての仮想サーバは同じ基本構成情報を共有しますが、仮想サーバごとに変数を設定して構成を変更することもできます。仮想サーバ間で構成情報を共有させたくない場合は、各仮想サーバクラスに 1 つずつ仮想サーバを作成します。一方、複数の仮想サーバが類似するプロパティを持つ場合は、1 つのクラスにグループ化して一緒に構成することができます。

たとえば、インターネットサービスプロバイダ (Internet Service Provider、ISP) で、さまざまなレベルのホスティングサービスを各顧客に異なる料金で提供する場合は、顧客に対して複数の仮想サーバクラスを設定できます。あるクラスの仮想サーバでは Java サーブレットおよび JSP を使用可能にし、料金の低い別のクラスの仮想サーバでは Java サーブレットおよび JSP を使用不可にすることができます。

仮想サーバのクラスを作成するには、そのクラスに名前を付けて、ドキュメントルートを設定します。デフォルトでは、そのドキュメントルートがそのクラスに属するすべての仮想サーバのドキュメントルートになります。$id 変数を使用して、クラス内の各仮想サーバがそのクラスのドキュメントルート内に個別のドキュメントルートを持つように設定できます。詳細は、「ドキュメントルート」を参照してください。

仮想サーバクラスを作成したあと、そのクラスにサービスを関連付けます。仮想サーバクラスでは、次の種類のサービスを有効にするか構成することができます。


obj.conf ファイル

同じクラス内のすべての仮想サーバは、1 つの obj.conf ファイルを共有します。このファイルには、その仮想サーバクラスに関する情報が格納されます。情報の一部は変数として格納され、各仮想サーバの稼動時に、それぞれのサーバに固有の変数値が代入されます。

obj.conf ファイルと変数についての詳細は、『NSAPI プログラマーズガイド』を参照してください。ユーザインタフェースでの変数の使用法については、「変数の使用法」を参照してください。


クラスに属する仮想サーバ

同一のクラスに属する仮想サーバを、そのクラスのメンバーと呼びます。仮想サーバの設定項目には、クラス内のすべての仮想サーバに対して構成する項目と、個別に構成する項目があります。仮想サーバの設定項目は、 Class Manager の「Virtual Servers」タブで設定します。詳細は、第 14 章「仮想サーバの作成と構成」を参照してください。


デフォルトのクラス

iPlanet Web Server のインストール時に、defaultclass というクラスが自動的に作成されます。このクラスには、デフォルトでそのサーバインスタンス用の仮想サーバメンバーが 1 つ作成されます。デフォルトのクラスにさらに仮想サーバを追加できますが、デフォルトの仮想サーバをクラスから削除することはできません。また、デフォルトのクラスも削除できません。


待機ソケット

サーバとクライアントの間の接続は待機ソケットを通して確立されます。作成する待機ソケットにはそれぞれ、IP アドレス、ポート番号、サーバ名、およびデフォルトの仮想サーバ が割り当てられます。デフォルトの仮想サーバは、待機ソケットに対して自動的に作成される接続グループに関連付けられます。1 台のマシンの特定のポートで構成済み IP アドレスのすべてを待機する待機ソケットを設定する場合は、IP アドレスとして 0.0.0.0、any、ANY、または INADDR_ANY を使用します。

iPlanet Web Server をインストールすると、ls1 という待機ソケットが自動的に作成されます。この待機ソケットには、0.0.0.0 の IP アドレス と、インストール時に HTTP サーバのポート番号として指定したポート番号 (デフォルトでは 80) が割り当てられます。デフォルトの待機ソケットは削除できません。仮想サーバを使用しない場合は、この待機ソケットだけで十分です。仮想サーバを使用する場合は、各仮想サーバ用に複数の待機ソケットを作成する必要がある場合があります。

待機ソケットは IP アドレスとポート番号の組み合わせであるため、複数の待機ソケットを作成する場合、IP アドレスが同じでもポート番号が異なっていればよく、また、IP アドレスが異なっていればポート番号が同じでもかまいません。たとえば、1.1.1.1:81 と 1.1.1.1:82 の待機ソケットを作成できます (1.1.1.1 はアドレス、81 と 82 はポート番号を示す)。また、1.1.1.1:81 と 1.2.3.4:81 のような待機ソケットも作成できます。ただし、マシンが両方のアドレスに対応するように構成されていることを前提とします。1 つのポートですべての IP アドレスを待機する 0.0.0.0 または ANY の IP アドレスを使用する場合、同じポートで特定の IP アドレスを待機する待機ソケットは追加できません。たとえば、0.0.0.0:80 (ポート 80 ですべての IP アドレスを待機する) 待機ソケットがある場合、1.2.3.4:80 の待機ソケットを追加することはできません。

さらに、待機ソケットのスレッドの数を指定します。受け入れスレッドは、接続を待機するスレッドです。このスレッドは、接続を受け入れて、キューに入れます。キューの接続はこのあと、ワーカースレッドに引き継がれます。新しい要求が来たときに常に使用可能な受け入れスレッドが存在するように十分な受け入れスレッド数を設定するのが理想的ですが、システムに負担がかかりすぎない程度の数に抑える必要があります。デフォルトは 1 です。システムの CPU 1 つ当たり 1 つの受け入れスレッドを設定することをお勧めします。パフォーマンスに問題がある場合は、この値を調節できます。


接続グループ

各待機ソケットには、少なくとも 1 つの接続グループが関連付けられます。待機ソケットを作成すると、その待機ソケット用に指定したデフォルトの仮想サーバをメンバーとする接続グループも作成されます。この接続グループの IP アドレスは default です。

待機ソケットの IP アドレスを 0.0.0.0 または ANY に設定すると、特定の IP アドレスに応答する複数の接続グループを追加できます。この機能を使用して、専用の IP アドレスを持つ仮想サーバを設定できます。

各待機ソケットには必ず、デフォルトの接続 (IP アドレスが default と示される) による接続グループが存在します。待機ソケットに特定の IP アドレスを設定すると、使用できる接続グループはデフォルトの接続グループだけになります。待機ソケットに any の IP アドレス を設定した場合、その待機ソケットの他の接続グループの中に該当する IP アドレスが見つからないときは、デフォルトの接続グループが使用されます。

サーバのインストール時に、デフォルトの待機ソケット ls1 に、1 つの接続グループがデフォルトで作成されます。デフォルトの接続グループの IP アドレスは default、ポートは 80 であり、デフォルトの仮想サーバは、インストール時に作成されたデフォルトのサーバになります。

仮想サーバごとに、その仮想サーバが対応する接続グループを 1 つ以上選択します。クラス全体に対して接続グループを設定することはできません。接続グループ情報は、仮想サーバクラスとは無関係です。


仮想サーバ

仮想サーバを作成するには、まず、その仮想サーバをどのクラスに入れるかを決める必要があります。次に、作成する仮想サーバの種類を決める必要があります。仮想サーバを作成するには、仮想サーバ ID、1 つ以上の接続グループ、および 1 つ以上の URL ホストを指定する必要があります。

この節では、次の内容について説明します。


仮想サーバの種類

以前のバージョンの iPlanet Web Server には、ハードウェアとソフトウェアの 2 種類の仮想サーバがありました。ハードウェア仮想サーバには、固有の IP アドレスが割り当てられていました。ソフトウェア仮想サーバには、固有の IP アドレスはなく、代わりに固有の URL ホストが割り当てられていました。

iPlanet Web Server 6.0 では、このような概念が当てはまらなくなっています。すべての仮想サーバに URL ホストが割り当てられます。ただし、待機ソケットおよび接続グループの情報に基づいて、仮想サーバに IP アドレスが割り当てられる場合もあります。

新しい要求を受け取ると、サーバは IP アドレスまたは Host ヘッダーの値に基づいて、受け取った要求をどの仮想サーバに送るかを決定します。サーバは、最初に IP アドレスを評価します。詳細は、「要求を処理する仮想サーバの選択」を参照してください。


IP アドレスベースの仮想サーバ

1 つのコンピュータに複数の IP アドレスを設定するためには、オペレーティングシステムでマッピングするか、カードを追加する必要があります。オペレーティングシステムで複数の IP アドレスを設定するには、Windows NT の場合はコントロールパネルの「ネットワーク」、UNIX または Linux の場合は ifconfig ユーティリティを使用します。ifconfig を使用するための方法は、プラットフォームによって異なります。詳細は、オペレーティングシステムのマニュアルを参照してください。

通常、IP アドレスベースの仮想サーバを作成するには、any の IP アドレスで待機する待機ソケットを作成し、各待機ソケットの追加接続グループを作成します。各接続グループに、固有の IP アドレスを割り当てます。次に、各接続グループに、デフォルトの仮想サーバを関連付けます。ただし、IP アドレスごとに個別の待機ソケットを作成することもできます。仮想サーバの導入方法の詳細は、「仮想サーバの導入」を参照してください。


URL ホストベースの仮想サーバ

URL ホストベースの仮想サーバを設定するには、各仮想サーバに固有の URL ホストを割り当てます。サーバは、Host 要求ヘッダーの内容によって、その要求を正しい仮想サーバに振り向けます。

たとえば、aaabbb、および ccc という顧客の仮想サーバを設定し、それぞれの顧客が個別のドメイン名を持てるようにするには、まず、各顧客の URL (www.aaa.com、www.bbb.comwww.ccc.com) を、使用する待機ソケットの IP アドレスへ名前解決して認識できるように DNS を構成します。次に、各仮想サーバの URL ホストを正しく設定します (www.aaa.com など)。

1 つの接続グループに関連付ける URL ホストベースの仮想サーバ数はいくつでもかまいません。

URL ホストベースの仮想サーバは、Host 要求ヘッダーを使用してユーザに正しいページを表示するため、クライアントソフトウェアによっては、この処理ができない場合もあります。HTTP Host ヘッダーをサポートしていないクライアントソフトウェアでは、この処理ができません。そのようなクライアントは、接続グループのデフォルトの仮想サーバを受け取ります。


デフォルトの仮想サーバ

URL ホストベースの仮想サーバは、Host 要求ヘッダーを使用して選択されます。エンドユーザのブラウザが Host ヘッダーを送信しない場合、または、指定された Host ヘッダーをサーバが見つけられない場合は、デフォルトの仮想サーバがその要求を処理します。

IP アドレスベースの仮想サーバでも、指定された IP アドレスを iPlanet Web Server が見つけられない場合は、デフォルトの仮想サーバがその要求を処理します。デフォルトの仮想サーバを、エラーメッセージまたは専用のドキュメントルートからのサーバページを送るように構成できます。



接続グループのデフォルトの仮想サーバと、サーバのインストール時に作成されるデフォルトのクラスおよび仮想サーバを混同しないでください。デフォルトのクラスは、サーバのインストール時に自動的に作成され、そのサーバインスタンスの仮想サーバがそのクラスのメンバーになります。接続グループのデフォルトの仮想サーバは、デフォルトとして指定する仮想サーバです。



デフォルトの仮想サーバは、接続グループごとに設定します。待機ソケットの作成時に、デフォルトの仮想サーバを指定します。これが、その待機ソケット用にデフォルトで作成される接続グループのデフォルトの仮想サーバになります。デフォルトの仮想サーバはいつでも変更できます。特定の IP アドレスが割り当てられている待機ソケットの場合は、この接続グループが、その待機ソケットの唯一の接続グループになります。any の IP アドレスで待機する待機ソケットの場合は、作成する接続グループごとに、デフォルトの仮想サーバを指定します。


要求を処理する仮想サーバの選択

サーバが要求を処理するには、待機ソケットから要求を受け取り、その要求を適切な接続グループと仮想サーバに振り向ける必要があります。

まず、次のように接続グループが選択されます。

  • 待機ソケットが特定の IP アドレスに対して待機するように構成されている場合、接続グループは 1 つしかないので、その接続グループが選択されます。

  • 待機ソケットが ANY で待機するように構成されている場合は、クライアントが接続した IP アドレスが、その待機ソケットに属する接続グループの IP アドレスと照合されます。一致する IP アドレスがない場合は、default の IP アドレスを持つデフォルトの接続グループが選択されます。

次のように、仮想サーバが選択されます。

  • 接続グループがデフォルトの仮想サーバのみで構成されている場合は、デフォルトの仮想サーバが選択されます。

  • 接続グループが複数の仮想サーバで構成されている場合は、要求の Host ヘッダーと一致する仮想サーバの URL ホストが選択されます。Host ヘッダーが存在しない場合、または一致する URL ホストがない場合は、その接続グループのデフォルトの仮想サーバが選択されます。

SSL 待機ソケットに設定されている仮想サーバは、サーバの起動時に、その URL ホストが証明書のサブジェクトパターンと照合され、一致しない場合は、警告が生成されてエラーログに書き込まれます。

仮想サーバが決まったら、サーバは、その仮想サーバが属する仮想サーバクラスの obj.conf ファイルを実行します。サーバが obj.conf で実行する指令を決定する方法については、『NSAPI プログラマーズガイド』を参照してください。


ドキュメントルート

プライマリドキュメントディレクトリまたはドキュメントルートは、仮想サーバの全ファイルを格納してリモートクライアントに提供するための中央ディレクトリです。

ドキュメントルートディレクトリを利用すると、仮想サーバ上のファイルへのアクセスを簡単に制限できます。また、URL に指定されたパスはプライマリドキュメントディレクトリへの相対パスであるため、URL を変更せずに、ドキュメントを新しいディレクトリ (別のディスクの場合もある) に簡単に移動できます。

たとえば、ドキュメントディレクトリが C:\iplanet\servers\docs の場合、http://www.iplanet.com/products/info.html という要求を受け取ると、サーバは C:\iplanet\servers\docs\products\info.html でそのファイルを探します。ドキュメントルートを変更する (つまり、すべてのファイルおよびサブディレクトリを移動する) 場合は、仮想サーバが使用するドキュメントルートを変更するだけなので、すべての URL を新しいディレクトリにマッピングしたり、クライアントに新しいディレクトリを探すように知らせる必要はありません。

iPlanet Web Server のインストール時に、Web サーバインスタンスのドキュメントルートを指定します。これが、デフォルトのクラスのドキュメントルートになります。クラスレベルで、ドキュメントルート用のディレクトリを変更できます。また、個々の仮想サーバレベルでクラスレベルのディレクトリを無効にすることもできます。

クラスを追加する場合、ドキュメントディレクトリも指定する必要があります。このディレクトリは絶対パスで指定します。ただし、絶対パスをそのままで入力すると、そのクラスに属するすべての仮想サーバのドキュメントルートが同じディレクトリにデフォルト設定されます。ドキュメントルートの絶対パスの最後に $id 変数を付けると、仮想サーバごとに、class_doc_root/virtual_server_ID というドキュメントルートがデフォルト設定されます。たとえば、クラスのドキュメントディレクトリが /iplanet/servers/docs/$id の場合、そのクラスに属する仮想サーバ vs1 のデフォルトのドキュメントディレクトリは、/iplanet/servers/docs/vs1 になります。

変数についての詳細は、「変数の使用法」を参照してください。

クラスレベルのデフォルトのドキュメントディレクトリを、個別の仮想サーバレベルでは無効にすることもできます。


ログファイル

新しい仮想サーバを作成すると、デフォルトでは、ログファイルはサーバインスタンスと同じログファイルが使用されます。ほとんどの場合、仮想サーバごとに専用のログファイルを使用する必要があります。そのためには、各仮想サーバのログパスを変更します。

詳細は、「仮想サーバのログの設定」を参照してください。


前のリリースから仮想サーバを移行する

バージョン 4.x の iPlanet Web Server を使用していた場合は、移行ツールを使用して現在のバージョンに移行できます。詳細は、『インストールと移行』を参照してください。



仮想サーバで iPlanet Web Server の機能を使用する



iPlanet Web Server には、SSL やアクセス制御など、仮想サーバで使用できる多くの機能があります。これらの機能の多くは、すべてのサーバ、1 つのサーバインスタンス、仮想サーバクラス、または個別の仮想サーバの構成に関係します。次の節では、これらの機能について説明し、詳細情報の参照先に関する情報を提供します。

この節では、次の内容について説明します。


仮想サーバで SSL を使用する

仮想サーバで SSL を使用するときは、ほとんどの場合、IP アドレスベースの仮想サーバを使用します。ポートは通常、443 を使用します。iPlanet Web Server は、要求を送信する URL ホストを決定する前に、その要求を読み取る必要があるため、URL ホストベースの仮想サーバで SSL を使用するのは困難です。サーバが要求を読み取ると、セキュリティ情報をやり取りする最初のハンドシェークが発生済みになります。

唯一の例外は、URL ホストベースの仮想サーバのすべてが、「ワイルドカード証明書」を使用して、同一のサーバ証明書など、同じ SSL 構成を持つ場合です。詳細は、第 5 章「Web サーバのセキュリティ」を参照してください。

仮想サーバで SSL を使用する方法の 1 つは、2 つの待機ソケットを設定して、一方は SSL を使用してポート 443 で待機し、もう一方は SSL を使用しないようにすることです。ユーザは通常、 SSL を使用しない待機ソケットから仮想サーバにアクセスします。セキュリティ保護されたトランザクションの必要が生じた場合には、ユーザは、Web ページ上のボタンをクリックして、セキュリティ保護されたトランザクションを起動します。この操作のあと、セキュリティ保護された待機ソケットが要求に使用されます。

SSL トランザクションは、SSL を使用しないトランザクションよりもかなり時間がかかるため、SSL トランザクションの使用は必要な場合のみに限定されます。必要な場合以外は、より高速な SSL を使用しない接続を使用します。

iPlanet Web Server や仮想サーバでセキュリティを設定する方法および使用する方法についての詳細は、第 5 章「Web サーバのセキュリティ」を参照してください。仮想サーバでの SSL の設定例は、「例 2 : セキュリティ保護されたサーバ」の図を参照してください。


仮想サーバでアクセス制御を使用する

仮想サーバでは、仮想サーバ単位でアクセス制御を設定できます。さらに、LDAP データベースを使用して、各仮想サーバごとにユーザおよびグループを認証できるように設定することもできます。詳細は、「仮想サーバへのアクセス制御」を参照してください。


仮想サーバで CGI を使用する

仮想サーバで CGI を使用できます。アクセスおよびセキュリティに関して設定できる項目が多数あります。

CGI の設定および使用法の詳細は、「CGI プログラムのインストール」を参照してください。


仮想サーバで構成スタイルを使用する

構成スタイルを使用すると、さまざまな仮想サーバが保持する個々のファイルまたはディレクトリに、一連のオプションを簡単に適用できます。構成スタイルの詳細は、第 17 章「構成スタイルの適用」を参照してください。



仮想サーバのユーザインタフェースの使用法



仮想サーバの作成および編集には、ユーザインタフェースまたはコマンド行ユーティリティを使用できます。

仮想サーバを管理するためのユーザインタフェースは、次の 3 つの部分で構成されます。

  • Server Manager では、サーバ全体 (またはすべての仮想サーバ) に影響する項目を設定します。

  • Class Manager では、単一のクラスおよびクラス内の仮想サーバに影響する項目を設定します。

  • Virtual Server Manager では、個々の仮想サーバに関する項目を設定します。

また、個々の仮想サーバを所有するエンドユーザ用のユーザインタフェースも使用できます。詳細は、「個々の仮想サーバをユーザが監視できるようにする」を参照してください。

この節では、次の内容について説明します。


Class Manager

Class Manager にアクセスするには、次の手順に従います。

  1. Server Manager から、「Virtual Server Class」タブをクリックします。

  2. 「Manage Classes」をクリックします。

  3. クラスを選択して、「Manage」をクリックします。

サーバのツリービューでクラス名をクリックする、または Server Manager の右上隅にある「Class Manager」ボタンをクリックする方法もあります。


Virtual Server Manager

Virtual Server Manager にアクセスするには、次の手順に従います。

  1. Class Manager から「Virtual Servers」タブをクリックします。

  2. 「Manage Virtual Servers」をクリックします。

  3. 仮想サーバを選択して、「Manage」をクリックします。

サーバのツリービューで仮想サーバ名をクリックする方法もあります。

コマンド行ユーティリティの HttpServerAdmin を使用しても、ユーザインタフェースを使用する場合と同じ仮想サーバ関連操作を実行できます。コマンド行ユーティリティの HttpServerAdmin の詳細は、「HttpServerAdmin (仮想サーバの管理)」を参照してください。


変数の使用法

クラス内の仮想サーバごとに固有の値を供給する変数を使用すると、それぞれの値を個別に指定しなくて済みます。変数は、obj.conf ファイルに定義されます。独自の変数を定義できますが、ユーザインタフェースでは独自に定義した変数は認識されません。ユーザインタフェースでもっとも便利な変数は、仮想サーバの ID を表す $id 変数です。この変数を入力すると、サーバは、その値に各仮想サーバの ID を代入します。

$accesslog (各仮想サーバのアクセスログのパス) や $docroot (各仮想サーバのドキュメントルートのパス) など、いくつかの変数がありますが、フィールドに入力する必要があるのは $id だけです。

変数の詳細は、『NSAPI プログラマーズガイド』を参照してください。


動的再構成

動的再構成を利用すると、稼動中の Web サーバの構成を変更して、Web サーバを停止したり再起動したりすることなく、変更を適用することができます。server.xml およびその関連ファイル内の構成に関する設定および属性のすべてを、サーバを再起動することなく動的に変更できます。仮想サーバのユーザインタフェースで加えたすべての変更が、サーバを再起動することなく適用されます。再構成スクリプトまたはユーザインタフェースによる変更のあと、サーバを動的に再構成できます。

UNIX プラットフォームの場合、動的再構成スクリプトは、各インスタンスのディレクトリにある reconfig という名前のシェルスクリプトです。このスクリプトには、コマンド行引数はありません。この再構成スクリプトを実行するには、サーバインスタンスのディレクトリから「reconfig」と入力します。

NT の場合は、動的再構成スクリプトは、各インスタンスのディレクトリにある reconfig.bat というバッチファイルです。コマンド行引数はありません。この再構成スクリプトを実行するには、サーバインスタンスのディレクトリから「reconfig」または「reconfig.bat」と入力します。

このスクリプトを実行すると、ユーザインタフェースと同様にサーバの動的再構成が起動し、再構成に関するサーバメッセージが表示されます。

動的再構成の画面にアクセスするには、Server Manager、Class Manager、および Virtual Server Manager の各ページの右上隅にある「Apply」リンクをクリックし、次に、「Apply Changes」ページの「Load Configuration Files」ボタンをクリックします。新しい構成を組み込む際にエラーが発生する場合は、以前の構成が復元されます。



仮想サーバの設定



仮想サーバを設定するには、次の手順に従います。

  1. 待機ソケットを作成します。

  2. 接続グループを作成します。

  3. 仮想サーバクラスを作成します。

  4. クラスのサービスを構成します。

  5. 仮想サーバクラス内の仮想サーバを作成します。

  6. 仮想サーバを構成します。

待機ソケットを作成する場合、デフォルトの仮想サーバのフィールドには、既存する仮想サーバを入力する必要があります。サーバのインストール時に作成された仮想サーバをデフォルトの仮想サーバとして使用し、追加の仮想サーバを作成したあとで、必要に応じて、デフォルトの仮想サーバを変更することができます。


待機ソケットの作成

待機ソケットを作成するには、次の手順に従います。

  1. Server Manager から、「Preferences」タブをクリックします。

  2. 「Add Listen Socket」をクリックします。

  3. 各フィールドに必要事項を入力します。

    待機ソケットのポート番号と IP アドレスは、他と重複しない組み合わせにする必要があります。IPV4 または IPV6 のアドレスを使用できます。IP アドレスベースの仮想サーバの待機ソケットを作成する場合、IP アドレスは、0.0.0.0、ANY、any、または INADDR_ANY にする必要があります。これにより、この待機ソケットは、そのポートですべての IP アドレスを待機します。このあと、接続グループで特定の IP アドレスを指定できます。

    この待機ソケットでは、セキュリティ機能 (SSL) を使用可能にすることもできます。

    「Server Name」フィールドには、サーバがクライアントに送る URL のホスト名を指定します。これは、サーバが自動的に生成する URL に影響し、サーバに保存されるディレクトリおよびファイルの URL には影響しません。この名前は、エイリアスを使用するサーバの場合は、エイリアス名にする必要があります。

    デフォルトの仮想サーバは、他の仮想サーバが見つからなかった場合に、待機ソケットのデフォルトの接続グループに対する要求に応える仮想サーバです。

    詳細は、「要求を処理する仮想サーバの選択」を参照してください。

  4. 「OK」をクリックします。


接続グループの作成

待機ソケットを追加すると、デフォルトの接続グループが自動的に追加されます。待機ソケットが any の IP アドレスに応答する場合は、接続グループをさらに追加できます。

接続グループを作成するには、次の手順に従います。

  1. Server Manager から、「Preferences」タブをクリックします。

  2. 「Edit Listen Sockets」をクリックします。

  3. 接続グループを追加する待機ソケットに続く行で、「Groups」をクリックします。

    その待機ソケットに関連付けられているグループのリストが表示されます。

  4. グループを追加するには、画面の一番上の行でアクションを「Add」に設定し、各フィールドに必要事項を入力します。

    待機ソケットに単一の IP アドレスが設定されている場合は、接続グループを追加することはできません。


仮想サーバクラスの作成

仮想サーバクラスを作成するには、次の手順に従います。

  1. Server Manager から、「Virtual Server Class」タブをクリックします。

  2. 「Add Class」をクリックします。

  3. クラスに名前を付けます。

  4. そのクラスのドキュメントルートを入力します。

    これは、既存のディレクトリである必要があります。このクラスのすべての仮想サーバでは、特に指定しない限り、この絶対パスのドキュメントルートが使用されます。パスの最後に /$id を付けると、そのクラスのドキュメントルートパス内に、その仮想サーバ ID の名前が付けられたドキュメントルートフォルダが自動的に作成されます。

  5. 「OK」をクリックします。

仮想サーバのクラスを作成したら、そのクラスに関連付けるサービスを選択します。詳細は、第 16 章「コンテンツ管理」を参照してください。


仮想サーバクラスの編集または削除

仮想サーバクラスの設定を編集するには、次の手順に従います。

  1. Server Manager から、「Virtual Server Class」タブをクリックします。

  2. 「Edit Classes」をクリックします。

  3. 目的のクラスの横にあるプルダウンリストから、「Edit」または「Delete」を選択します。

    デフォルトのクラスは削除できません。

  4. クラスのデフォルトのドキュメントルートの絶対パスを変更するには、「Document Root」フィールドを使用します。

    このクラスの仮想サーバのドキュメントルートは、デフォルトでは、このディレクトリ内に作成されます。

  5. この仮想サーバクラスで Accept-Language ヘッダーの解析を使用する場合は、「Accept Language」フィールドに「On」を入力します。

    デフォルトは「Off」です。

  6. クラスに関連付けられている CGI のデフォルト設定を変更する場合は、「Advanced」をクリックします。

    CGI のデフォルト設定を示すウィンドウが表示されます。必要なフィールドを編集し、「OK」をクリックして「Edit Classes」ウィンドウに戻ります。「Reset」ボタンをクリックすると、変更が元に戻されます。

  7. 「OK」をクリックします。これで、クラスが変更または削除されます。


仮想サーバクラスと関連付けるサービスの指定

仮想サーバクラス間の違いを示す特性に、それぞれの仮想サーバクラスで使用できるサービスの違いがあります。たとえば、CGI を使用できる仮想サーバクラスと、使用できない仮想サーバクラスを設定できます。サービスの設定方法の詳細は、第 16 章「コンテンツ管理」を参照してください。


仮想サーバの作成

仮想サーバクラスの設定が完了したら、仮想サーバを作成できます。仮想サーバは、仮想サーバクラスのメンバーであるため、Class Manager で作成します。

詳細は、「仮想サーバの作成」を参照してください。


仮想サーバと関連付ける設定の指定

クラスの設定を仮想サーバレベルでは無効にできます。また、設定を追加することもできます。これらの設定は、Class Manager で行います。

詳細は、第 14 章「仮想サーバの作成と構成」を参照してください。



個々の仮想サーバをユーザが監視できるようにする



個々の仮想サーバを管理するための特別なユーザインタフェースがあります。これを利用すると、各仮想サーバの管理者は、その仮想サーバの設定を確認したり、アクセスログやエラーログを表示することができます。たとえば、3 つの部門用に 3 つの仮想サーバを持つイントラネットの場合、それぞれの部門で、設定およびログファイルを個別に表示できます。

セキュリティ上の理由により、この管理ユーザインタフェースは、管理サーバポートまたは Web サーバインスタンスポートとは別のポートにあります。

このユーザインタフェースは、管理サーバ内の仮想サーバで稼動します。この仮想サーバは、デフォルトで設定され、useradmin という名前が付けられます。ユーザが管理サーバポートへのアクセス権を持たなくても仮想サーバの管理ユーザインタフェースにアクセスできるように、管理サーバが稼動する待機ソケットとは別の待機ソケットを仮想サーバに設定する必要があります。

図 13-1 は、各仮想サーバの管理者が、useradmin 仮想サーバから各自の仮想サーバの情報にアクセスする様子を示しています。

図 13-1   

仮想サーバ管理者のユーザインタフェースの構成

仮想サーバをオンにすると、ユーザは、その仮想サーバを次の URL から管理できます。

server_name:port/user-app/server_instance/virtual_server_ID

次に例を示します。

iplanet:8889/user-app/iplanet/vs2

サーバインスタンスには、サーバインスタンス名の「https」の部分は含めません。

図 13-2 は、エンドユーザに表示されるユーザインタフェースを示します。

図 13-2    仮想サーバの管理ユーザインタフェース


この機能を使用できるようにサーバを構成するには、次の手順に従います。

  1. 管理サーバが使用するポートとは別のポートを使用する新しい待機ソケットを作成します。

    たとえば、管理サーバがポート 8888 で稼動する場合、新しく作成する待機ソケットには、別のポート番号を指定する必要があります。別の待機ソケットを使用することで、管理サーバを保護できます。

    セキュリティ上の理由により、ユーザインタフェースからこの待機ソケットを追加することはできません。その代わりに、管理サーバの server.xml ファイルに待機ソケットを追加します。

  2. 管理サーバの server.xml ファイルを開きます。このファイルは、server_root/https-admserv/config/server.xml にあります。

  3. 新しい待機ソケットおよび接続グループをファイルに追加します。

    IP アドレスは 0.0.0.0 または ANY に、ポート番号は、管理サーバのポートとは別のポートにする必要があります。デフォルトの仮想サーバは useradmin であることが必要です。

    コード例 13-1    新しい待機ソケット

    <LS id="ls2" ip="0.0.0.0" port="8889" security="off" acceptorthreads="1" blocking="no">
    <CONNECTIONGROUP id="group2" matchingip="default" servername="iplanet.com" defaultvs="useradmin"/>
    </LS>

    この例では、ls2 は、接続グループの group2 とともに作成する待機ソケットです。

  4. useradmin 仮想サーバ (userclass クラスにある) が、作成した接続グループを使用するように、server.xml ファイルを編集します。

  5. useradmin 仮想サーバの状態を「on」に設定します。

    コード例 13-2    編集後の useradmin

    <VSCLASS id="userclass" objectfile="userclass.obj.conf" rootobject="default" >
    <VS id="useradmin" connections="group2" state="on" mime="mime1" urlhosts="user-app" aclids="acl1">
    <VARS webapps_file="user-apps.xml" webapps_enable="on"/>
    <USERDB id="default" database="default" />
    </VS>
    </VSCLASS>

    この例では、接続グループは前に作成した group2 グループに設定され、状態は on に設定されています。

  6. 変更を server.xml に保存します。

  7. Administration Server を再起動して変更を適用します。

  8. これで、どのサーバインスタンスのどの仮想サーバでも、次の URL で管理ユーザインタフェースにアクセスできます。

    server_name:port/user-app/server_instance/virtual_server_ID


アクセス制御

権限を持たないユーザによる仮想サーバの管理操作を禁止するために、ACL を設定できます。仮想サーバはそれぞれ固有の URI を持つので、正当な管理者のみが仮想サーバの設定にアクセスできるようにアクセス権を設定できます。

詳細は、第 8 章「サーバへのアクセス制御」を参照してください。


ログファイル

仮想サーバごとに専用のログファイルを設定できます。デフォルトでは、すべての仮想サーバがサーバインスタンスのログファイルを共有します。ユーザが各自のログファイルを表示できるようにするには、ほとんどの場合、各仮想サーバが専用のアクセスログおよびエラーログを使用するようにログファイルの設定を変更する必要があります。

詳細は、「仮想サーバのログの設定」を参照してください。



仮想サーバの導入



iPlanet Web Server の仮想サーバアーキテクチャは、非常に柔軟性に富んでいます。サーバインスタンスには、セキュリティ保護されたものとそうでないものを含めて、任意の数の待機ソケットを作成できます。各待機ソケットには、接続グループを通して任意の数の仮想サーバを関連付けることができます。また、IP アドレスベースと URL ホストベースの両方の仮想サーバを設定できます。

さらに、設定が類似する仮想サーバを、任意の数の仮想サーバクラスにグループ分けすることもできます。仮想サーバクラスに属するすべての仮想サーバは、obj.conf 内の同じ要求処理命令を共有します。

仮想サーバごとに、専用の ACL、専用の mime.types ファイル、および専用の Java Web アプリケーションセットを設定することもできます (設定しなくてもかまいません)。

このように設計されているため、さまざまな用途に合わせてサーバを柔軟に構成できます。次の例では、iPlanet Web Server で利用可能な構成をいくつか説明します。


例 1 : デフォルトの構成

iPlanet Web Server を新規にインストールすると、1 つのサーバインスタンスができます。このサーバインスタンスは、コンピュータに設定されているすべての IP アドレスのポート 80 (またはインストール時に選択したポート) で待機する待機ソケットを 1 つだけ持ちます。

ローカルネットワークのメカニズムによっては、コンピュータに設定されているアドレスごとに名前とアドレスのマッピングを確立する場合があります。次の例では、コンピュータに 2 つのネットワークインタフェースがあります。1 つはアドレス 127.0.0.1 のループバックインタフェース (ネットワークカードがなくても存在するインタフェース)、もう 1 つはアドレス 10.0.0.1 のイーサネットインタフェースです。

example.com という名前が、DNS により 10.0.0.1 にマッピングされます。待機ソケットは、そのマシンに設定されているすべてのアドレスのポート 80 で待機するように構成されます (「ANY:80」または「0.0.0.0:80」)。

デフォルトの構成では、IP アドレスベースの仮想サーバは存在しないので、デフォルトの接続グループが唯一の接続グループになります。すべての接続は、仮想サーバ VS1 を通過します。

図 13-3    デフォルトの構成


この構成では、次の場所への接続がサーバに到達し、仮想サーバ VS1 によって処理されます。

  • http://127.0.0.1/ (example.com 上で開始される)

  • http://localhost/ (example.com 上で開始される)

  • http://example.com/

  • http://10.0.0.1/

通常の Web サーバの使用法では、この構成を使用します。仮想サーバや待機ソケットをさらに追加する必要はありません。サーバの設定を行うには、defaultclass (VS1 は defaultclass のメンバー) および VS1 そのもので設定を変更します。


例 2 : セキュリティ保護されたサーバ

デフォルトの構成で SSL を使用する場合は、単に待機ソケットをセキュリティモードに変更するだけです。これは、以前のバージョンの iPlanet Web Server でセキュリティを設定する方法と同様です。

また、セキュリティ保護された待機ソケット (ANY:443 に設定) を新しく追加して、その新しい待機ソケットのデフォルトの接続グループに VS1 を関連付けることもできます。その場合、この仮想サーバは 2 つの接続グループを持ち、1 つの接続グループではセキュリティ保護された待機ソケットを使用し、もう 1 つの接続グループではセキュリティ保護されていない待機ソケットを使用します。これにより、サーバは、SSL を使用する場合も使用しない場合も同じコンテンツを提供します。つまり、http://example.com/ と https://example.com/ は、同じコンテンツを配信します。

図 13-4    セキュリティ保護されたサーバ


SSL パラメータは接続グループに対して設定します。つまり、1 つの接続グループ内のすべての仮想サーバに対して 1 つの SSL パラメータセットを設定します。


例 3 : イントラネットホスティング

さらに複雑な iPlanet Web Server の構成として、イントラネットで、サーバが複数の仮想サーバをホスト処理する構成があります。たとえば、3 つの内部サイトがあり、従業員は、1 つ目のサイトで他のユーザの電話番号を検索でき、2 つ目のサイトで構内の地図を参照でき、3 つ目のサイトでは情報サービス部門に出した要求の状態を追跡できるとします。この例では、以前は、これらのサイトが 3 つのコンピュータでホスト処理され、それぞれのコンピュータに phone.example.com、maps.example.com、および is.example.com という名前が割り当てられていました。

ハードウェアおよび管理の間接費を最小限にするために、この 3 つのサイトを、example.com マシンで稼動する 1 つの Web サーバに統合します。これには、URL ホストベースの仮想サーバを使用する方法と、IP アドレスベースの仮想サーバを使用する方法があります。両者には、それぞれに長所と短所があります。

図 13-5    URL ホストベースの仮想サーバによるイントラネットホスティング


URL ホストベースの仮想サーバは設定が簡単ですが、次のような制限があります。

  • この構成で SSL を使用するには、ワイルドカード証明書による標準外の設定が必要です。詳細は、第 5 章「Web サーバのセキュリティ」を参照してください。

  • URL ホストベースの仮想サーバは、古いバージョンの HTTP クライアントでは動作しません。

図 13-6    IP アドレスベースの仮想サーバによるイントラネットホスティング


IP アドレスベースの仮想サーバによるイントラネットホスティングには、次のような長所があります。

  • HTTP/1.1 Host ヘッダーをサポートしていない古いバージョンのクライアントでも動作します。

  • SSL サポートを簡単に提供できます。

一方で、次のような短所があります。

  • ホストコンピュータの構成 (実際のネットワークインタフェースまたは仮想ネットワークインタフェースの構成) を変更する必要があります。

  • 何千もの仮想サーバによる構成には対応できません。

どちらの構成でも、3 つの名前について名前とアドレスのマッピングを設定する必要があります。IP アドレスベースの構成では、それぞれの名前を別々のアドレスにマッピングします。同時に、それらのアドレスの接続をすべて受け入れるようにホストマシンを設定する必要があります。URL ホストベースの構成では、すべての名前を同じアドレス (もともとマシンに割り当てられているアドレス) にマッピングします。

さらに別の方法として、アドレスごとに 1 つの待機ソケットを持つ IP アドレスベースの構成を設定することもできます。

図 13-7    個別の待機ソケットを使用するイントラネットホスティング


ANY:80 の待機ソケットが 1 つだけ設定されている IP アドレスベースの仮想サーバの構成と比較すると、複数の待機ソケットを持つ構成では、パフォーマンスが少し向上する場合があります。これは、サーバが、要求を受信したアドレスを見つける必要がないためです。ただし、複数の待機ソケットを使用すると、受け入れスレッドが増えるため、オーバーヘッド (メモリおよびスケジューリング) も増えます。


例 4 : マスホスティング

マスホスティングは、多数の低トラフィック仮想サーバを使用可能にする構成です。たとえば、低トラフィックの個人ホームページを多数ホスト処理する ISP などは、このカテゴリに分類されます。

仮想サーバは、通常は URL ホストベースであり、提供するサービスのレベルに応じて、複数の仮想サーバクラスの 1 つに属します。たとえば、静的コンテンツのみを使用できるクラスと、静的コンテンツと CGI を使用できるクラスを作成できます。

図 13-8    マスホスティング


この場合も、サーバのインストール時にインストールされた仮想サーバ VS1 は、defaultclass に存在しています。


前へ     目次     索引     DocHome     次へ     
Copyright © 2001 Sun Microsystems, Inc. Some preexisting portions Copyright © 2001 Netscape Communications Corp. All rights reserved.

Last Updated October 17, 2001