この章は次のトピックで構成されています。
OpenSSO 8.0 Update 2 は、パッチ TBS として入手可能です。
OpenSSO 8.0 Update 2 (または以降のパッチ) をインストールする前に、このマニュアルに記載されている新機能、ハードウェアとソフトウェアの要件、および問題点と回避方法についての情報を確認してください。
OpenSSO 8.0 Update 2 には、次の方法でインストールできる opensso.war ファイルが含まれています。
既存の OpenSSO 8.0 配備へのパッチ適用: Update 2 の ssopatch ユーティリティーを使用して、既存の OpenSSO 8.0 配備にパッチを適用します。手順はこの章で解説しています。
注: Oracle では OpenSSO 8.0 リリースのパッチ適用のみをサポートしています。たとえば、OpenSSO 8.0 に OpenSSO 8.0 Update 2 のパッチを適用することはサポートされています。
新規 OpenSSO 8.0 Update 2 配備のインストール: OpenSSO 8.0 Update 2 の opensso.war ファイルをインストールして設定します。手順は『Sun OpenSSO Enterprise 8.0 Installation and Configuration Guide』で解説しています。
特別な WAR ファイルの新規作成: createwar スクリプトを使用して、Update 2 の opensso.war ファイルから次の新規 WAR ファイルのいずれかを作成します。
OpenSSO 管理コンソール専用 WAR
分散認証 UI サーバーの WAR
OpenSSO サーバー専用 WAR (管理コンソール以外)
IDP のディスカバリサービスの WAR
詳細については、『Sun OpenSSO Enterprise 8.0 Update 1 Release Notes』の第 4 章「Creating a Specialized OpenSSO Enterprise 8.0 Update 1 WAR File」を参照してください。
既存の特別な OpenSSO WAR ファイルの適用: Update 2 の ssopatch ユーティリティーを使用して、既存の特別な OpenSSO 8.0 WAR ファイルのパッチを適用します。この手順は『Sun OpenSSO Enterprise 8.0 Installation and Configuration Guide』の第 23 章「Patching OpenSSO Enterprise 8.0」で解説しています
Access Manager 7.1 または Access Manager 7 2005Q4 を実行していて Update 2 にアップグレードする場合、次の手順に従います。
『Sun OpenSSO Enterprise 8.0 Upgrade Guide 』の手順に従って Access Manager 7.x から OpenSSO 8.0 にアップグレードします。
この章の手順に従って Update 2 のパッチを適用します。
Sun では、OpenSSO 8.0 Update 2 用のパッチを定期的にリリースしています。これらのパッチに関する情報は、定期的にここを確認してください。
「ssopatch ユーティリティーの概要」を確認します。
「ssopatch ユーティリティーのインストール」の手順に従って、使用中のプラットフォームに適したパッチユーティリティーをインストールします。
「OpenSSO WAR ファイルとその内部マニフェストとの比較」の手順に従って、既存の WAR ファイルに関する情報を取得して、既存の WAR ファイルがカスタマイズまたは変更されているかを判定します。
「2 つの OpenSSO WAR ファイルの比較」の手順に従って、既存の WAR ファイルと Update 2 の WAR ファイルを比較して、もとの WAR ファイルでカスタマイズされたファイル、新しい WAR ファイルで更新されたファイル、および 2 つの WAR バージョン間で追加または削除されたファイルを返します。
「OpenSSO WAR ファイルのバックアップ」の手順に従って、既存の OpenSSO WAR ファイルをバックアップおよびアーカイブします。
「OpenSSO WAR ファイルのパッチ適用」の手順に従って、OpenSSO WAR ファイルをパッチ適用します。
「updateschema スクリプトの実行」の手順に従って、updateschema スクリプトを実行します。
注: OpenSSO サーバー専用、管理コンソール専用、分散認証 UI サーバー、IDP のディスカバリサービス 用の WAR など、opensso.war から生成した特別な WAR ファイルにパッチ適用する場合は、「特別な OpenSSO WAR へのパッチ適用」を参照してください。
ssopatch ユーティリティーは、Solaris および Linux では ssopatch として、Windows では ssopatch.bat として利用できる、Java のコマンド行ユーティリティーです。
注: OpenSSO 8.0 Update 2 での ssopatch の構文は、OpenSSO 8.0 のリリースから大幅に変更されています。新しい構文については、「updateschema スクリプトの実行」を参照してください。
ssopatch パッチユーティリティーは、次の機能を実行します。
OpenSSO WAR をもとのマニフェストと比較して、WAR ファイルがカスタマイズまたは変更されたかを判定します
2 つの OpenSSO WAR ファイルを比較して、もとの WAR ファイルに加えられたカスタマイズと新しい WAR ファイルに加えられた変更を含む、2 ファイル間の相違を判定します
パッチ適用された OpenSSO WAR ファイルを新規作成するために必要なファイルのステージング領域を生成します
OpenSSO 8.0 Update 2 の ZIP ファイル (opensso_80U2.zip) をダウンロードして解凍したら、zip-root/opensso/tools ディレクトリの ssoPatchTools.zip ファイルでパッチユーティリティーと関連するファイルが利用できます。zip-root は、opensso_80U2.zip を解凍した場所です。
ssopatch ユーティリティーは、マニフェストファイルを使用して特定の OpenSSO WAR ファイルの内容を判定します。マニフェストファイルとは、次の内容を含む ASCII テキストファイルです。
OpenSSO WAR ファイルの特定バージョンを識別する文字列
OpenSSO WAR ファイル内にある個別のファイルすべて (各ファイルのチェックサム情報を含む)
マニフェストファイルは一般に、OpenSSO.manifest という名前で、OpenSSO WAR ファイルの META-INF ディレクトリに格納されています。
ssopatch ユーティリティーは、その結果を標準出力 (stdout) に送信します。出力をファイルにリダイレクトすれば、ssopatch の出力を取得することもできます。ssopatch が正常に終了すると、終了コードのゼロ (0) を返します。エラーが発生した場合、ssopatch はゼロ以外の終了コードを返します。
ssopatch ユーティリティーをインストールする前に、次の手順に従います。
OpenSSO 8.0 Update 2 の ZIP ファイル (opensso_80U2.zip) をダウンロードして解凍します。
JAVA_HOME 環境変数を変更して JDK 1.5 以降を指定するようにします。
zip-root/opensso/tools ディレクトリの中にある ssoPatchTools.zip ファイルを見つけます。zip-root は、opensso_80U2.zip を解凍した場所です。
ssoPatchTools.zip ファイルを解凍するための新しいディレクトリを作成します。例: ssopatchtools
ssoPatchTools.zip ファイルをこの新しいディレクトリに解凍します。
フルパスを指定せずにカレントディレクトリ以外のディレクトリから ssopatch ユーティリティーを実行する場合は、ユーティリティーを PATH 変数に追加します。
次の表に、ssoPatchTools.zip 内のファイルを示します。
ファイルまたはディレクトリ |
説明 |
---|---|
README |
ssopatch の説明を記載した Readme ファイル |
/lib |
必要な ssopatch JAR ファイル |
/patch |
updateschema スクリプトと updateschema.bat スクリプト、および関連する XML ファイル |
/resources |
必要なプロパティーファイル |
ssopatch および ssopatch.bat |
Solaris、Linux、および Windows システム用のユーティリティー |
開始する前に、既存の OpenSSO WAR ファイルおよび設定データを次の手順に従ってバックアップします。
既存の OpenSSO WAR ファイルを安全な場所にコピーします。その後、何らかの理由で Update 2 をバックアウトする必要がある場合は、この WAR ファイルのバックアップコピーを再配備できます。
『Sun OpenSSO Enterprise 8.0 Administration Guide』の第 15 章「Backing Up and Restoring Configuration Data」の手順に従って、設定データをバックアップします。
ssopatch --help|-? [--locale|-l] ssopatch --war-file|-o [--manifest|-m] [--locale|-l] ssopatch --war-file|-o --war-file-compare|-c [--staging|-s] [--locale|-l] [--override|-r] [--overwrite|-w] |
各オプションは次のとおりです。
-war-file|-o は、以前に配備していた WAR ファイル (opensso.war など) へのパスを指定します。
-manifest|-m は、 作成するマニフェストファイルへのパスを指定します。このオプションを指定した場合、マニフェストファイルは -war-file|-o で指定された WAR ファイルから生成されます。
-war-file-compare|-c は、-war-file|-o で指定された WAR ファイルと比較する WAR ファイルへのパスを指定します。
-staging|-s は、OpenSSO WAR のファイルが書き込まれるステージング領域へのパスを指定します。
-locale|-l は、使用するロケールを指定します。このオプションを指定しない場合、ssopatch はデフォルトのシステムロケールを使用します。
-override|-r は 2 つの WAR ファイルのバージョンチェックをオーバーライドします。 バージョンチェックは WAR ファイルのバージョンを判定して、互換性のあるバージョンである場合にのみ続行します。このオプションを指定すると、このチェックをオーバーライドできます。
デフォルトは false (バージョンチェックを実行する) です。
-overwrite|-w は、既存のステージング領域にあるファイルを上書きします。デフォルトは false (ファイルを上書きしない) です。
この手順を実行して、OpenSSO WAR ファイルがダウンロードされてからカスタマイズまたは変更されたかを判定します。
ssopatch ユーティリティーは新しい内部マニフェストファイルを生成して、この内部マニフェストを META-INF ディレクトリにあるもとの OpenSSO WAR ファイル内に格納されているマニフェストと比較します。
ssopatch を実行して OpenSSO WAR ファイルをその内部マニフェストと比較します。次に例を示します。
./ssopatch -o /zip-root/opensso/deployable-war/opensso.war Generating Manifest for: /zip-root/opensso/deployable-war/opensso.war Comparing manifest of Internal (Enterprise 8.0 Build 6(200810311055)) against /zip-root/opensso/deployable-war/opensso.war (generated-200905050855) File not in original war (images/login-origimage.jpg) File updated in new war (images/login-backimage.jpg) File updated in new war (WEB-INF/classes/amConfigurator.properties) Differences: 3 |
この例では、もとの WAR ファイルに次の変更が検出されました。
images/login-origimage.jpg は opensso.war 内にありますが、もとのマニフェストにはありません。
images/login-backimage.jpg が opensso.war でもとのマニフェストからカスタマイズされています。
WEB-INF/classes/amConfigurator.properties ファイルが opensso.war でもとのマニフェストからカスタマイズされています。
この手順を使用して 2 つの WAR ファイルを比較し、次のような変更が加えられたファイルを示します。
もとの OpenSSO WAR 内でのカスタマイズ
新しい OpenSSO WAR ファイル内の更新
2 つの OpenSSO WAR バージョン間での追加または削除
ssopatch を実行して 2 つの WAR ファイルを比較します。この例では、次のように -override オプションを使用して、2 つの WAR ファイル間でのバージョンチェックをオーバーライドしています。
./ssopatch -o /zip-root/opensso/deployable-war/opensso.war -c /u1/opensso/deployable-war/opensso.war --override Generating Manifest for: /zip-root/opensso/deployable-war/opensso.war Original manifest: Enterprise 8.0 Build 6(200810311055) New manifest: Enterprise 8.0 Update 2 Build 6.1(200904300525) Versions are compatible Generating Manifest for: /u1/opensso/deployable-war/opensso.war Comparing manifest of /zip-root/opensso/deployable-war/opensso.war (generated-200905050919) against /u1/opensso/deployable-war/opensso.war (generated-200905050920) File updated in new war(WEB-INF/classes/amClientDetection_en.properties) File updated in new war(WEB-INF/classes/fmSAMLConfiguration_fr.properties) ... Differences: 1821 Customizations: 3 |
この例では、新しい WAR ファイルでファイルの更新およびカスタマイズがあったことを示しています。
この手順を実行して、もとの WAR ファイルを新しい WAR ファイルとマージする、新しいステージング領域を作成します。
この操作は各 WAR ファイルのマニフェストを比較して、次のファイルを表示します。
もとの WAR ファイル内でカスタマイズされたファイル
新しい WAR ファイルで更新されたファイル
2 つの WAR ファイルのバージョン間で追加または削除されたファイル
ssopatch はその後、該当するファイルをステージング領域にコピーします。パッチ適用された WAR ファイルを新規作成して配備する前に、この領域にカスタマイズを追加する必要があります。
ssopatch はもとの opensso.war ファイルを変更しませんが、パッチが適用された opensso.war ファイルをバックアウトする必要がある場合に備えて、このファイルをバックアップすることをお勧めします。
ssopatch を実行してステージング領域を作成します。次に例を示します。
./ssopatch -o /zip-root/opensso/deployable-war/opensso.war -c /u1/opensso/deployable-war/opensso.war --override -s /tmp/staging Generating Manifest for: /zip-root/opensso/deployable-war/opensso.war Original manifest: Enterprise 8.0 Build 6(200810311055) New manifest: Enterprise 8.0 Update 2 Build 6.1(200904300525) Versions are compatible Generating Manifest for: /u1/opensso/deployable-war/opensso.war Comparing manifest of /zip-root/opensso/deployable-war/opensso.war (generated-200905051031) against /u1/opensso/deployable-war/opensso.war (generated-200905051032) File was customized in original, but not found in new war. Staging area using original war version (samples/saml2/sae/header.jsp) File was customized in original, but not found in new war. Staging area using original war version (WEB-INF/template/opends/config/upgrade/config.ldif.4517) File was customized in original, but not found in new war. Staging area using original war version (WEB-INF/template/opends/config/upgrade/schema.ldif.4517) Differences: 1813 Customizations: 0 |
この例では /tmp/staging がステージング領域で、ssopatch がファイルをコピーする場所です。
前の手順の結果を使用して、ステージング領域のファイルを必要に応じて更新します。
パッチを適用したファイルを新規作成する前に、次の表を使って各ファイルに対して実行すべき対応を判断します。
ssopatch 結果 |
説明および必要な対応 |
---|---|
File not in original war filename |
表示されているファイルがもとの WAR ファイルに存在しないが、WAR ファイルの最新バージョンに存在します。 対応: なし |
File updated in new war filename |
表示されているファイルがもとの WAR ファイルと新しい WAR ファイルの両方に存在し、WAR ファイルの最新バージョンで更新されています。もとの WAR ファイルではカスタマイズされていません。 対応: なし |
File customized filename |
表示されているファイルが両方の WAR ファイルに存在し、WAR ファイルのもとのバージョンでカスタマイズされていますが、WAR ファイルの最新バージョンでは更新されていません。 対応: なし |
May require manual customization filename |
ファイルが両方の WAR ファイルに存在し、WAR ファイルのもとのバージョンでカスタマイズされていて、WAR ファイルの最新バージョンでも更新されています。 対応: ファイル内のカスタマイズが必要な場合は、ステージングディレクトリで新たに更新されたファイルにそのカスタマイズを手動で追加する必要があります。 |
File was customized in original, but not found in new war |
ファイルがもとの WAR ファイルに存在しますが、新しい WAR ファイルには存在しません。 対応: なし。 |
次の手順
新しい OpenSSO WAR ファイルをステージング領域のファイルから作成します。次に例を示します。
cd /tmp/staging jar cvf /patched/opensso.war * |
/patched/opensso.war は、パッチ適用された新しい OpenSSO WAR ファイルです
もとの配備 URI を使用して、/patched/opensso.war ファイルを Web コンテナに再配備します。 たとえば、/opensso などです。
OpenSSO の設定変更。 新しい OpenSSO WAR ファイルは、もとの WAR ファイルにはない設定変更が加えられている可能性があります。変更された設定がある場合は、各パッチに個別に記録されます。設定変更に関する詳細については、パッチに関するドキュメントと『Sun OpenSSO Enterprise 8.0 リリースノート』を確認してください。新しい WAR ファイルの設定が変更されない場合でも、OpenSSO マニフェストファイル内のバージョン文字列は変更されます。
パッチを適用したバージョンをバックアウトする必要がある場合、パッチを適用した WAR ファイルの配備を取り消してからもとの WAR ファイルを再配備します。
OpenSSO マニフェストファイルは、特定リリースの WAR ファイル内にある個別のファイルすべてを識別するテキストファイルで、各ファイルのチェックサム情報が含まれています。
この手順を使用して、OpenSSO サーバー専用、管理コンソール専用、分散認証 UI サーバー、IDP のディスカバリサービス用の WAR など、特別な OpenSSO WAR を含めることができるマニフェストファイルを作成します
ssopatch を実行して OpenSSO マニフェストファイルを作成します。次に例を示します。
./ssopatch -o zip-root/opensso/deployable-war/opensso.war --manifest /tmp/manifest |
opensso.war は、既存の OpenSSO WAR ファイルです。
ssopatch ユーティリティーは、manifest という名前の新しいマニフェストファイルを /tmp ディレクトリに作成します。
WAR ファイルにパッチを適用できるようにするためには、この新しいマニフェストファイルを opensso.war ファイル内にある META-INF ディレクトリにコピーします。次に例を示します。
mkdir META-INF cp /tmp/manifest META-INF jar uf opensso.war META-INF/manifest |
OpenSSO サーバー専用、管理コンソール専用、分散認証 UI サーバー、IDP のディスカバリサービス用の WAR など、特別な OpenSSO WAR を以前に作成している場合、ssopatch ユーティリティーを使用してパッチを適用できます。
「OpenSSO WAR マニフェストファイルの作成」の手順に従って、特別な OpenSSO WAR のマニフェストファイルを作成します。
注: このファイルは、すでにカスタマイズをしている場合はそのカスタマイズ以前に Sun から提供されたもとの OpenSSO 8.0 の opensso.war を基にして作成します。カスタマイズしたあとにマニフェストを作成すると、ssopatch はカスタマイズのファイルではなく Update 2 のファイルを使用するため、パッチを適用したあとに再度カスタマイズする必要があります。
『Sun OpenSSO Enterprise 8.0 Update 1 Release Notes』の第 4 章「Creating a Specialized OpenSSO Enterprise 8.0 Update 1 WAR File」の手順に従って、OpenSSO 8.0 Update 2 の opensso.war から特別な OpenSSO WAR を生成します。
ssopatch ユーティリティーを使用して古い WAR ファイルと新しい WAR ファイルを比較します。
「ステージング領域を作成して OpenSSO WAR ファイルにパッチ適用する」の手順に従って、新しい特別な WAR ファイル用のステージング領域を生成します。
新しい特別な WAR ファイルを再配備します。
ssopatch を実行したあと、Solaris または Linux の場合は updateschema.sh を、Windows の場合は updateschema.bat を実行します。このスクリプトは OpenSSO サーバーのバージョンを更新し、新しいデフォルトサーバープロパティーを追加し、Update 2 でのバグ修正や機能拡張に必要な新しい属性スキーマを追加します。サーバーのバージョンを更新するために、updateschema を実行する必要があります。
updateschema.sh スクリプトまたは updateschema.bat スクリプトは Update 2 バージョン (またはそれ以降) の ssoadm コマンド行ユーティリティーが必要です。そのため、このスクリプトを実行する前に『Sun OpenSSO Enterprise 8.0 Update 1 Release Notes』の第 3 章「Installing the OpenSSO Enterprise 8.0 Update 1 Admin Tools」の手順に従って Update 2 の管理ツールをダウンロードします。
updateschema.bat スクリプトは、複数の ssoadm コマンドを実行します。したがって、Windows システムで updateschema.bat を実行する前に、amadmin ユーザーのパスワードユーザーを平文で記載したパスワードファイルを作成しておく必要があります。 updateschema.bat スクリプトを実行すると、パスワードファイルへのパスを入力するよう求められます。 スクリプトは終了する前にパスワードファイルを削除します。
patch-tools/patch ディレクトリに移動します。patch-tools は ssoPatchTools.zip を解凍した場所です。
updateschema.sh または updateschema.bat を実行します。Solaris システムの例を次に示します。
./updateschema.sh
スクリプトから入力を求められたら、次の情報を指定します。
ssoadm ユーティリティーへのフルパス (ssoadm 自体は除く)。 例: /opt/ssotools/opensso/bin
amadmin パスワード
updateschema.sh スクリプトまたは updateschema.bat スクリプトは、メッセージやエラーがあった場合に標準出力に書き出します。
OpenSSO 8.0 Update 2 の Web コンテナを再起動します。
パッチインストールをバックアウトする必要がある場合は、もとの opensso.war ファイル (または特別な WAR ファイル) を再配備するだけです。