Oracle OpenSSO Update 2 版本說明

第 2 章 安裝 OpenSSO 8.0 Update 2

本章包含以下主題:

OpenSSO 8.0 Update 2 安裝概述

OpenSSO 8.0 Update 2 作為修補程式 TBS 提供。

在您安裝 OpenSSO 8.0 Update 2 (或後續修補程式) 之前,請閱讀本文件中有關新功能、硬體和軟體需求以及問題和解決方法的資訊。

OpenSSO 8.0 Update 2 中包含一個 opensso.war 檔案,您可以使用以下方法進行安裝:


備註 –

如果您執行的是 Access Manager 7.1 或 Access Manager 7 2005Q4,並且想要升級到 Update 2,請執行以下步驟:

  1. 將 Access Manager 7.x 升級到 OpenSSO 8.0,如「Sun OpenSSO Enterprise 8.0 Upgrade Guide」中所述。

  2. 套用 Update 2 修補程式,如本章中所述。


OpenSSO 8.0 Update 2 修補程式

Sun 會定期發行 OpenSSO 8.0 Update 2 的修補程式。如需有關這些修補程式的資訊,請定期到此處查閱。

計劃修補作業

Procedure計劃針對 OpenSSO 8.0 的修補作業的步驟:

  1. 閱讀ssopatch 公用程式概述

  2. 為您的平台安裝修補公用程式,如安裝 ssopatch 公用程式中所述。

  3. 取得有關您的現有 WAR 檔案的資訊,以確定現有 WAR 檔案是否已自訂或修改,如將 OpenSSO WAR 檔案與其內部清單進行比較中所述。

  4. 將現有 WAR 檔案與 Update 2 WAR 檔案進行比較,以傳回在原始 WAR 中自訂的檔案、在新 WAR 檔案中更新的檔案,以及在兩個 WAR 版本之間增加或刪除的檔案,如比較兩個 OpenSSO WAR 檔案中所述。

  5. 備份和歸檔現有 Opensso WAR 檔案,如備份 OpenSSO WAR 檔案中所述。

  6. 修補您的 OpenSSO WAR 檔案,如修補 OpenSSO WAR 檔案中所述。

  7. 執行 updateschema 程序檔,如執行 updateschema 程序檔中所述。

    備註 - 如果修補從 opensso.war 產生的專用 WAR 檔案 (例如「僅 OpenSSO 伺服器」WAR、「僅 OpenSSO 管理主控台」WAR、「已經發行的認證 UI 伺服器」WAR 或「IDP 探索服務」WAR),請參閱修補專用 OpenSSO WAR

ssopatch 公用程式概述

ssopatch 公用程式是一個 Java 指令行公用程式,該公用程式在 Solaris 和 Linux 系統上作為 ssopatch 提供,在 Windows 上作為 ssopatch.bat 提供。

備註 - ssopatch 在 OpenSSO 8.0 Update 2 中的語法與在 OpenSSO 8.0 發行版本中相比已經發生了很大的變化。如需有關新語法的資訊,請參閱執行 updateschema 程序檔

ssopatch 修補公用程式執行以下功能:

下載並解壓縮 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.manifest,並儲存在 OpenSSO WAR 檔案的 META-INF 目錄中。

ssopatch 公用程式將其結果傳送給標準輸出 (stdout)。如果願意,您也可以透過將輸出重新導向至檔案來擷取 ssopatch 輸出。如果 ssopatch 成功完成,其將傳回零 (0) 結束代碼。如果發生錯誤,ssopatch 將傳回非零的結束代碼。

安裝 ssopatch 公用程式

在您安裝 ssopatch 公用程式之前,請先完成以下作業:

安裝 ssopatch 公用程式的步驟:

  1. zip-root/opensso/tools 目錄中找到 ssoPatchTools.zip 檔案,此處的 zip-root 是您解壓縮 opensso_80U2.zip 的位置。

  2. 建立一個新目錄以解壓縮 ssoPatchTools.zip 檔案。例如:ssopatchtools

  3. ssoPatchTools.zip 檔案解壓縮到該新目錄中。

  4. 如果想要不提供完整路徑而從不同於其目前目錄的其他目錄執行 ssopatch 公用程式,請將該公用程式增加到 PATH 變數中。

下表中描述了 ssoPatchTools.zip 中的檔案。

檔案或目錄 

描述 

README

描述 ssopatch 的讀我檔案

/lib

所需的 ssopatch JAR 檔案

/patch

updateschemaupdateschema.bat 程序檔及相關的 XML 檔案

/resources

所需的特性檔案 

ssopatchssopatch.bat

適用於 Solaris、Linux 和 Windows 系統的公用程式 

備份 OpenSSO WAR 檔案

開始之前,請備份現有的 OpenSSO WAR 檔案和配置資料:

執行 ssopatch 公用程式

若要執行 ssopatch 公用程式,請遵循如下用法:


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]

其中的選項說明如下:

將 OpenSSO WAR 檔案與其內部清單進行比較

使用此程序可確定 OpenSSO WAR 檔案自下載以來是否已被自訂或修改。

ssopatch 公用程式會產生一個新的內部清單檔案,然後將此內部清單與儲存在原始 OpenSSO WAR 檔案的 META-INF 目錄中的清單進行比較。

將 OpenSSO WAR 檔案與其內部清單進行比較的步驟:

  1. 執行 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 檔案的以下變更:

比較兩個 OpenSSO WAR 檔案

使用此程序可比較兩個 OpenSSO WAR 檔案,以顯示已經執行以下作業的檔案:

比較兩個 OpenSSO WAR 檔案的步驟:

  1. 執行 ssopatch 以比較兩個 WAR 檔案。在此範例中,使用 -override 選項來忽略兩個 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 檔案中更新和自訂的檔案。

修補 OpenSSO WAR 檔案

使用此程序可建立新的臨時區域,在其中原始 WAR 檔案將與新 WAR 檔案合併在一起。

此作業將比較每個 WAR 檔案的清單,然後顯示:

然後,ssopatch 會將相應的檔案複製到暫存目錄中,於此您必須先增加任何自訂,然後再建立和部署新的已修補 WAR。

建立臨時區域以修補 OpenSSO WAR 檔案的步驟:

  1. 雖然 ssopatch 不會修改原始 opensso.war 檔案,但我們建議您備份此檔案,以供您在需要復原已修補的 opensso.war 檔案時使用。

  2. 執行 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/stagingssopatch 複製檔案的臨時區域。

使用上一步驟的結果依需要更新臨時區域中的檔案。

使用下表來確定在產生新的已修補 WAR 檔案之前可能需要對每個檔案執行的動作。

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 檔案中自訂,但未在最新版本的 WAR 檔案中更新。 

動作:無

May require manual customization filename

檔案在原始 WAR 檔案和新 WAR 檔案中均存在,並且已在原始版本的 WAR 檔案中自訂及在最新版本的 WAR 檔案中更新。 

動作:如果需要檔案中的自訂,您必須手動將這些自訂增加到暫存目錄中的新的已更新檔案中。

File was customized in original, but not found in new war

檔案在原始 WAR 檔案中存在,但在新 WAR 檔案中不存在。 

動作:無

後續步驟

  1. 從臨時區域中的檔案建立一個新的 OpenSSO WAR 檔案。例如:


    cd /tmp/staging
    jar cvf /patched/opensso.war *

    此處的 /patched/opensso.war 是新的已修補 OpenSSO WAR 檔案

  2. 使用原始部署 URI 將 /patched/opensso.war 檔案重新部署到 Web 容器。例如,/opensso

OpenSSO 配置變更。新的 OpenSSO WAR 檔案可能包含原始 WAR 檔案中未包含的配置變更。將單獨為每個修補程式記錄任何配置變更 (如果有)。請參閱修補程式文件和「Sun OpenSSO Enterprise 8.0 版本說明」,以瞭解有關任何配置變更的詳細資訊。(即使新 WAR 檔案中沒有任何配置變更,OpenSSO 清單檔案中的版本字串也會變更。)

如果您需要復原您的已修補版本,請解除部署已修補的 WAR 檔案,然後重新部署您的原始 WAR 檔案。

建立 OpenSSO WAR 清單檔案

OpenSSO 清單檔案是透過每個檔案的總和檢查資訊識別特定發行版本的 WAR 檔案中所有單個檔案的文字檔。

使用此程序可建立您可以包括在專用 OpenSSO WAR (例如「僅 OpenSSO 伺服器」WAR、「僅 OpenSSO 管理主控台」WAR、「已經發行的認證 UI 伺服器」WAR 或「IDP 探索服務」WAR) 中的清單檔案。

建立 OpenSSO WAR 清單檔案的步驟:

  1. 執行 ssopatch 以建立 OpenSSO 清單檔案。例如:


    ./ssopatch -o zip-root/opensso/deployable-war/opensso.war --manifest /tmp/manifest

    此處的 opensso.war 是現有的 OpenSSO WAR 檔案。

    ssopatch 公用程式會在 /tmp 目錄中建立一個名為 manifest 的新清單檔案。

  2. 若要允許修補 WAR 檔案,請將此新清單檔案複製到 opensso.war 檔案的 META-INF 目錄中。例如:


    mkdir META-INF
    cp /tmp/manifest META-INF
    jar uf opensso.war META-INF/manifest

修補專用 OpenSSO WAR

如果您之前建立了專用 OpenSSO WAR (例如「僅 OpenSSO 伺服器」WAR、「僅 OpenSSO 管理主控台」WAR、「已經發行的認證 UI 伺服器」WAR 或「IDP 探索服務」WAR),您可以使用 ssopatch 公用程式對其進行修補。

修補專用 OpenSSO WAR 的步驟:

  1. 為您的專用 OpenSSO WAR 建立一個清單檔案,如建立 OpenSSO WAR 清單檔案中所述。

    備註:請在進行任何自訂之前,以原始 OpenSSO 8.0 opensso.war (與 Sun 最初提供時相同) 為基礎建立清單檔案。如果在自訂之後建立清單,ssopatch 可能會使用 Update 2 中的檔案而非您的自訂,因此在修補之後您將需要重新進行自訂。

  2. 從 OpenSSO 8.0 Update 2 opensso.war 檔案產生專用 OpenSSO WAR,如「Sun OpenSSO Enterprise 8.0 Update 1 Release Notes」中的第 4 章「Creating a Specialized OpenSSO Enterprise 8.0 Update 1 WAR File」中所述。

  3. 使用 ssopatch 公用程式比較您的舊 WAR 檔案與新 WAR 檔案。

  4. 為新的專用 WAR 檔案產生臨時區域,如建立臨時區域以修補 OpenSSO WAR 檔案的步驟:中所述。

  5. 重新部署新的專用 WAR 檔案。

執行 updateschema 程序檔

執行 ssopatch 之後,請在 Solaris 或 Linux 系統上執行 updateschema.sh,或在 Windows 系統上執行 updateschema.bat。該程序檔將更新 OpenSSO 伺服器版本、新增預設伺服器特性、增加 Update 2 中的錯誤修復和增強功能所需的新屬性模式。若要更新伺服器版本,您必須執行 updateschema

開始之前

執行 updateschema 程序檔的步驟:

  1. 變更到 patch-tools/patch 目錄,此處的 patch-tools 是您解壓縮 ssoPatchTools.zip 的位置。

  2. 執行 updateschema.shupdateschema.bat。例如,在 Solaris 系統上:

    ./updateschema.sh

  3. 當程序檔提示您時,請提供以下資訊:

    • ssoadm 公用程式的完整路徑 (不包括 ssoadm 本身)。例如:/opt/ssotools/opensso/bin

    • amadmin 密碼

    updateschema.shupdateschema.bat 程序檔會將任何訊息或錯誤寫入標準輸出。

  4. 重新啟動 OpenSSO 8.0 Update 2 Web 容器。

復原修補程式安裝

如果您需要復原您的修補程式安裝,只需重新部署原始 opensso.war 檔案 (或專用 WAR 檔案) 即可。