Sun ONE ロゴ      前へ      目次      索引      次へ     

Sun ONE Portal Server 6.2 インストールガイド

付録 B
BEA WebLogic Server


BEA クラスタへの Sun ONE Portal Server のセットアップ

この節では、どのようにして SunTM ONE Portal Server を BEA WebLogic ServerTM クラスタとともに使用できるかを簡潔に説明し、例を示します。


  • 1 つのクラスタでは、すべてのマシンが同じサブネット上にある必要があります。このクラスタに参加するすべての BEA WebLogic Server インスタンスは同じポート上で待機する必要があります。セッションフェイルオーバーでも Portal Server ソフトウェアを正常に稼動させるために Portal Server ソフトウェアを動作させる 3 つの管理対象サーバーが必要です。
  • クラスタの利用を計画している場合、perftune を実行しないでください。
  • SRA はクラスタとともに動作しません。
  • BEA WebLogic Server プロキシはロードバランスを行いません。BEA WebLogic クラスタのすべてのサーバーインスタンスは、同じ待機ポートを使用する必要があります。weblogic.servlet.proxy.HttpClusterServlet には、新しいクラスタサーブレットを使用する必要があります。
  • Resonate 3.3 は、BEA WebLogic クラスタのロードバランスを行うことができません。

たとえば、マシンが 5 台あるとします。すべてのマシンが同じサブネット上にある必要があります。ディレクトリサーバーは 1 つ (DSmach) しかありません。もう 1 つは BEA WebLogic 管理サーバー (AS) です。クラスタマシンは 3 台 (CS1、CS2、CS3) です。ロードバランスをサポートする場合、ロードバランスのためのプロキシサーブレットとして別のマシンか、あるいは管理サーバーマシンを設定することができます。ハードウェアによるロードバランサを使用することもできます。クラスタにはロードバランスが必要です。この例では、プロキシが管理サーバー上にあります。

DSmach 上にディレクトリサーバーをインストールします。デフォルトインストールを使用した他の 4 つのマシンすべてに BEA WebLogic Server をインストールします。すべてのサーバーが正しく稼動することを確認します。

BEA WebLogic Server をインストールした 4 台のマシンで、BEA WebLogic の指示を使用して、待機ポート 7001 の管理サーバー (すべてのマシン上の ADMINSERVER) と待機ポート 80 の別のサーバー (すべてのマシン上の PORTALSERVER) で構成される新しいドメイン (すべてのマシン上の NEWDOMAIN) を作成します。待機ポートは同じである必要があります。この例では 80 を使用します。

次に 4 台のマシン上で Portal Server ソフトウェアを管理対象サーバーインスタンス (PORTALSERVER) にインストールします。

  1. 次の質問に n と答えます。Use these settings? [y]/n
  2. 質問のリストが続きます。

  3. 次の質問以外はデフォルト値を使用します。次の質問は、変更が必要な値と重要なデフォルト値を示します。次の例は、BEA WebLogic 管理サーバーのものです。クラスタマシンのインストール値も同様です。
  4. What is the Application Server domain? [mydomain] NEWDOMAIN

    What is the Application Server instance? [myserver] PORTALSERVER

    What is the Application Server administration port? [7001]

    What port should be used to access the Portal Server? [80]

    Use an existing Directory Server? y/[n] y

    What is the name of the directory server?[...] DSmach

    ディレクトリサーバーに関する質問に適切に答えます。

  5. すべてのマシン上のすべてのサーバー (Portal Server、管理対象サーバー、管理サーバー) を停止し、再起動します。
  6. インストールが正常に行われたことを確認します。
  7. Sun ONE Identity Server 管理コンソールに管理者としてログインします。
  8. デフォルトでは、ロケーション区画で「アイデンティティ管理」が選択され、ナビゲーション区画で作成されたすべての組織が表示されます。

  9. ロケーション区画で「サービス設定」を選択します。
  10. ナビゲーション区画の「プラットフォーム」の横にあるプロパティの矢印をクリックします。
  11. サーバーリストでプロキシを設定する予定のマシンに full-ps-servername が指定されていることを確認します。この例でマシンは http://AS.example.com:80 です。
  12. 「保存」をクリックします。

クラスタをセットアップするには、次の手順に従います。

  1. 管理マシン AS の管理コンソール (http://AS:7001/console) を使用し、クラスタに含まれる各マシンに対して、クラスタに含めるサーバーを作成します。
    1. サーバーを選択し、新しいサーバーを設定します。
    2. 新しいサーバー名には、マシン名 CS1、CS2、CS3 を使用します。
  2. クラスタに含まれるマシン上のすべてのサーバーを停止します。
  3. これらのサーバーを再起動しますが、管理サーバー AS に接続したままにします。たとえば、次のようなエントリがあります。
  4. ./startManagedWebLogic.sh CS1 AS:7001

  5. 管理マシン AS (http://AS:7001/console) の管理コンソールを使用してクラスタを作成します。
    1. クラスタを選択し、新しいクラスタを設定します。
    2. 例では、「名前」に NEWCLUSTER が使用されています。

    3. 「住所」には、クラスタリングされるマシンを表すサーバーの名前 CS1、CS2、CS3 を入力します。
    4. この同じウィンドウの内部で、「サーバー」タブを選択し、サーバー CS1、 CS2、CS3 を選択し、これらを「使用可能」ボックスから「選択済み」ボックスに移動します。

詳細については、BEA WebLogic Server のクラスタのセットアップ方法を参照してください。

クラスタをセットアップするときには、次のことに注意してください。

BEA WebLogic Server 管理コンソールを表示します。左区間の「クラスタ」を選択し、右区画の「監視」タブを選択してから、クラスタの「サーバーの参加を監視する」を選択することによって、クラスタが正しくセットアップされていることを確認してください。起動した 1 つまたは複数のサーバーインスタンスが表示されない場合、BEA WebLogic Server ツールを使用して、正しいマルチキャストアドレスとポート番号を確認してください。


管理コンソールからリモートで BEA WebLogic 管理対象サーバーの起動お よび停止を行う場合、BEA ノードマネージャを設定し、実行する必要があ ります。詳細については、BEA WebLogic Server のマニュアルを参照して ください。


プロキシサーブレットを使用してロードバランスを行う場合、ロードバランスサーブレットを設定するためにクラスタが使用する web.xml ファイルを作成してください。一時ディレクトリを使用してサブディレクトリ WEB-INF を作成してください。web.xml ファイルは、ディレクトリ (WEB-INF) 内のただ 1 つのファイルです。ファイルでは完全指定のマシン名を使用してください。

図 B-1 web.xml ファイルのサンプル 

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.

         //DTD Web Application 2.2//EN"

         "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

     <web-app>

     <servlet>

              <servlet-name>HttpClusterServlet</servlet-name>

                 <servlet-class>

                     weblogic.servlet.proxy.HttpClusterServlet

                 </servlet-class>

              <init-param>

                 <param-name>WebLogicCluster</param-name>

                 <param-value>

CS1.domain.COM:80:7002|CS2.domain.COM:80:7002|CS3.domain.COM:80:7002

                 </param-value>

              </init-param>

     </servlet>

     <servlet-mapping>

              <servlet-name>HttpClusterServlet</servlet-name>

              <url-pattern>/</url-pattern>

     </servlet-mapping>

     <servlet-mapping>

              <servlet-name>HttpClusterServlet</servlet-name>

              <url-pattern>*.jsp</url-pattern>

     </servlet-mapping>

     <servlet-mapping>

              <servlet-name>HttpClusterServlet</servlet-name>

              <url-pattern>*.htm</url-pattern>

     </servlet-mapping>

     <servlet-mapping>

              <servlet-name>HttpClusterServlet</servlet-name>

              <url-pattern>*.html</url-pattern>

     </servlet-mapping>

     </web-app>

  1. クラスタサーバー値を含む web.xml.war ファイルにします。ターミナルウィンドウで次のように入力します。
  2. jar cvf proxy.war WEB-INF

  3. BEA WebLogic Server ソフトウェアによって提供される java weblogic.deploy コマンドを使用して BEA WebLogic 管理サーバーに .war ファイルを配備します。
  4. BEA WebLogic Server 管理サーバーの管理コンソールで、「サーバー」を展開し、「PORTALSERVER:80」を選択します。
  5. 「HTTP」タブをクリックします。
  6. デフォルト Web アプリケーションを proxy に設定します。
  7. Portal Server を再起動します。
  8. または、.war ファイルを作成した後、.war ファイルを管理マシン (AS) 上の新しいドメインのアプリケーションディレクトリにコピーします。

  9. 「Web アプリケーション」を選択します。
  10. 「新しい Web アプリケーションの設定」をクリックします。
  11. 「名前」に proxy を入力し、.war ファイルのフルパスを指定します。
  12. 「作成」をクリックします。
  13. 「Web アプリケーション」の下の左区画で「proxy」をクリックします。
  14. 右区画で「ターゲット」タブをクリックし、「使用可能」ボックスから「選択済み」ボックスへ「Portal Server」を移動します。

次に Portal Server ソフトウェアをクラスタに配備する必要があります。このため、各 Web アプリケーション (amconsole、amserver、amcommon、ampassword、および portal) に対して、次の手順に従ってください。

  1. 管理サーバーの BEA WebLogic Server 管理コンソール (AS:7001/console) に移動します。
  2. 左区画の Web アプリケーションを展開し、Portal Server ソフトウェアのいずれかの Web アプリケーション (amconsole、amserver、amcommon、ampassword、および portal) を選択します。
  3. 管理サーバーの配備を取り消します (PORTALSERVER サーバーに Portal をインストールしていますが、これはクラスタの一部ではないため、このサーバーからは削除します)。
    1. 「ターゲット」タブを選択し、次に「サーバー」サブタブを選択します。
    2. サーバー名を「選択済み」から「使用可能」ボックスに移動し、「適用」をクリックします。
  4. 「Web アプリケーション記述子を編集する」リンクをクリックし、「新しい Web アプリケーション記述子を設定する」リンクをクリックします。
  5. 左区画の「WebApp Ext」の下で「セッション記述子」を選択します。
  6. 右区画では、「持続保存タイプ」を「レプリケート」に変更します。「適用」をクリックします。
  7. 左区画の一番上のトピックで「Web 記述子」か、「Identity Server サービス」を選択します。「持続」を選択します。このウィンドウを閉じます。
  8. 「ターゲット」タブを選択し、次に「クラスタ」サブタブを選択します。
  9. クラスタ名 (NEWCLUSTER) を「使用可能」ボックスから「選択済み」ボックスに移動し、「適用」をクリックします。
  10. 3 つの Portal Server マシンで、identity-server-install-root/SUNWam/lib ディレクトリに移動し、テキストエディタで AMConfig.properties ファイルを開きます。
  11. すべてのマシンで次の値を設定します。
  12. com.iplanet.am.session.failover.enabled=true

    com.iplanet.am.replica.enable=true

    com.iplanet.am.naming.url=http://AS.example.com:80/amserver/namingservice

    com.iplanet.am.notification.url=http://AS.example.com:80/amserver/notificationservice

    com.iplanet.am.session.server.host=AS.example.com

    com.iplanet.am.server.host=ASNMS.example.com

    com.iplanet.services.cdsso.CDCURL=http://AS.example.com:80/amserver/cdcservlet

    com.iplanet.services.cdc.authLoginUrl=http://AS.example.com:80/amserver/login

  13. すべてのサーバーを停止し、再起動します。管理対象サーバーは、各マシンで次のように入力します。
  14. ./startManagedWebLogic.sh managed-servername http://AS.example.com:80

  15. すべてが正しく動作することを確認します。


Cookie のエンコード値の設定

Web コンテナが BEA WebLogic Server または WebSphere Application Server 上にあるとき、AMConfig.properties ファイルの com.iplanet.am.cookie.encode プロパティは、「true」に設定する必要があります。これは、WebLogic は、Web アプリケーションによって設定された Cookie の値を自動的にはエンコードしないためです。

BEA WebLogic Server およびIBM WebSphere Application Server の下で com.iplanet.am.cookie.encode を「true」に設定すると、Sun ONE Identity Server によって、カンマ、セミコロン、スペースなどの文字がエスケープまたはエンコードされずに Cookie の値に設定されるのを防ぎます。カンマ、セミコロン、スペースなどの文字がエンコードまたはエスケープされずに Cookie の値として直接設定されると、Web ブラウザによっては、その Cookie の値を正しくパースできません。このため、アプリケーションは、後続の要求で不正な Cookie の値を受け取ります。

ターゲットの Web コンテナが WebLogic のときは、AMConfig.properties ファイルを編集し、com.iplanet.am.cookie.encode プロパティの値を true に設定します。



前へ      目次      索引      次へ     


Copyright 2003 Sun Microsystems, Inc. All rights reserved.