使用 IBM HTTP Server 而非 Apache HTTP Server

您可以配置 IBM HTTP Server (IHS) 搭配「管理主控台」使用,而非使用依預設安裝的 Apache HTTP Server。

開始之前

關於這項作業

此主題說明如何執行下列作業:

  1. 設定經過前置編譯的 PHP 檔。
  2. 修改 IBM HTTP Server 配置檔以指向 Build Forge Web 應用程式。
  3. 如果您使用 Proxy 伺服器來存取資料庫,請修改 PHP 為使用 Proxy 伺服器。
  4. 如果您使用 SSL,請配置 IHS 為透過 SSL 運作 Build Forge。
  5. Windows 系統:取代 IBM HTTP Server 安裝目錄中的 libeay32.dll。
  6. AIX 系統:其他設定

設定經過前置編譯的 PHP 檔

關於這項作業

此作業說明如何找出所提供的 PHP 檔,並將它們複製到指定的位置。檔案位於下列目錄:

  • Windows 系統
    <bfinstall>\ihs_modules
  • UNIX 和 Linux 系統
    <bfinstall>/Platform/ihs_modules

程序

  1. 複製 PHP 模組。 必要時,請建立 modules 目錄。
    • Windows 系統
      cd <bfinstall>\ihs_modules\modules\
      copy *.dll C:\Program Files\IBM\HTTPServer\modules
    • UNIX 和 Linux 系統
      cd <bfinstall>/Platform/ihs_modules/modules
      cp libphp5.so /opt/IBM/HTTPServer/modules
  2. 複製 PHP 延伸。 必要時,請建立 extensions 目錄。
    • Windows 系統
      cd <bfinstall>\ihs_modules\lib\php\extensions\
      copy *.dll C:\Program Files\IBM\HTTPServer\extensions
    • UNIX 和 Linux 系統
      cd <bfinstall>/Platform/ihs_modules/lib/php/extensions/no-debug-zts-20090626
      cp *.so /opt/IBM/HTTPServer/extensions
  3. 複製所提供的 php.ini 檔。 必要時,請建立 conf 目錄。
    • Windows 系統
      cd <bfinstall>\ihs_modules
      copy php.ini C:\Program Files\IBM\HTTPServer\conf
    • UNIX 和 Linux 系統
      cd <bfinstall>/Platform/ihs_modules
      cp php.ini /opt/IBM/HTTPServer/conf
  4. 編輯已複製到 conf 目錄的 php.ini 檔,以併入指向 extensions 目錄的指標。 新增或取代下面這一行:
    • Windows 系統
      extension_dir = C:\Program Files\IBM\HTTPServer\extensions
    • UNIX 和 Linux 系統
      extension_dir = /opt/IBM/HTTPServer/extensions
  5. 以您的系統資訊編輯 php.ini 檔。 您可以使用提供給 Apache HTTP Server 作為引導的 php.ini 檔。於下列位置提供該檔案:
    • Windows 系統
      <bfinstall>\Apache\php\php.ini
    • UNIX 和 Linux 系統
      <bfinstall>/server/apache/conf/php.ini
  6. php.ini 中所使用的所有目錄新增寫入權。 在 UNIX 與 Linux 系統上,對這些目錄執行下列指令:
    chmod -R 777

編輯 IBM HTTP Server 配置檔

程序

  1. 在伺服器安裝的 conf 目錄中,找出 IBM HTTP Server (IHS) 的 httpd.conf 檔。
  2. 修改 DocumentRoot 設定以指向 Build Forge Web 應用程式,如範例所示。在此範例中,Build Forge 安裝目錄為 /opt/buildforge
    <VirtualHost *:80>
         ServerAdmin build@yourdomain.com
         DocumentRoot /opt/buildforge/webroot/public
         ServerName ausbuild01.yourdomain.com
         ServerAlias build.yourdomain.com mc.yourdomain.com #optional server aliases
         ErrorLog logs/ausbuild.error_log
         CustomLog logs/ausbuild.access_log common
    </VirtualHost>
  3. 新增 PHP 相關項目。
    • Windows 系統
      LoadModule php5_module "C:\Program Files\IBM\HTTPServer\modules\
      php5apache2_2.dll"
      
      <IfModule dir_module>     
         DirectoryIndex index.html index.php
      </IfModule>  
      
      AddType application/x-httpd-php .php 
      
      # PHPIniDir 是 php.ini 檔的位置
      PHPIniDir "C:\Program Files\IBM\HTTPServer\conf"
    • UNIX 和 Linux 系統
      LoadModule php5_module "/opt/IBM/HTTPServer/modules/libphp5.so"
      
      <IfModule dir_module>     
         DirectoryIndex index.html index.php
      </IfModule>  
      
      AddType application/x-httpd-php .php 
      
      # PHPIniDir 是 php.ini 檔的位置
      PHPIniDir "/opt/IBM/HTTPServer/conf"
  4. 變更 UserGroup 陳述式來使用 daemon,即 <bfinstall>/webroot/templates_c 的預設使用者。
    User daemon
    Group daemon
  5. 如有需要,請變更 IHS 埠號。預設埠號是 80。對 httpd.conf 進行任何其他必要的變更。

在 PHP 中識別 Proxy 伺服器

關於這項作業

選用:只有當「管理主控台」必須使用 Proxy 伺服器來存取其資料庫時才需要執行此步驟。

程序

編輯 PHP 配置檔 php.ini 它位於 <php-install>/lib 中,例如 /usr/local/php-5.3.6

新增下列項目:

bf_proxyHost=<your_proxy_server_hostname>
bf_proxyPath=<your_proxy_path>
bf_symlinkPath=<symlink_to_proxy_path>

配置 IHS 的 SSL

關於這項作業

除了 IHS 的一般 SSL 設定,若要使用 Build Forge,另外還有其他需求。

程序

  1. 將 Build Forge 工具目錄併入 PATH 中。
    • Windows 系統
      • bfinstall\ibmjdk\bin
      • bfinstall\openssl
    • UNIX 或 Linux 系統
      • bfinstall/server/ibmjdk/bin
  2. 將 Build Forge 工具目錄併入程式庫路徑。
    • AIX 系統 (LIBPATH)
      • bfinstall/openssl
    • UNIX 或 Linux 系統 (LD_LIBRARY_PATH)
      • bfinstall/openssl
  3. 將 Build Forge 工具目錄併入 JAVA_HOME。
    • Windows
      • bfinstall\ibmjdk
    • UNIX 或 Linux
      • bfinstall/server/ibmjdk
  4. 將 Build Forge 金鑰從 PKCS12 轉換成 CMS。 使用最新版的 GSKIT 工具。在 gsk7\bin(若為 Windows)或 bin(若為 UNIX 或 Linux)中,執行下列指令(換行是為了看得清楚):
    gsk7cmd -keydb
            -convert
            -db bfinstall\keystore\buildForgeKeyStore.p12
            -pw buildForgeKeyStore_password
            -old_format pkcs12
            -new_format cms
  5. 將密碼儲存在隱藏檔中。 IHS 在啟動期間會利用此檔案取得密碼。若無此檔案,IHS 會提示您提供密碼。使用最新版的 GSKIT 工具。在 gsk7\bin(若為 Windows)或 bin(若為 UNIX 或 Linux)中,執行下列指令(換行是為了看得清楚):
    gsk7cmd -keydb
            -stashpw
            -db bfinstall\keystore\buildForgeKeyStore.kdb
            -pw buildForgeKeyStore_password
  6. 修改 httpd.conf。 若為 Windows,請加入下列項目。請注意,如果您要讓使用者僅透過 HTTPS 存取,則應註銷 Listen 80
    LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
    # Listen 80
    Listen 0.0.0.0:443
    <VirtualHost *:443>
    SSLEnable
    SSLClientAuth None
    SSLProtocolDisable SSLv2 
    SSLServerCert buildforge
    KeyFile bfinstall\keystore\buildForgeKeyStore.kdb
    SSLStashFile bfinstall\keystore\buildForgeKeyStore.sth
    ErrorLog bfinstall\Apache\logs\ssl_error.log
    TransferLog bfinstall\Apache\logs\transfer.log
    </VirtualHost>

    若為 UNIX 和 Linux,請併入下列項目。請注意,如果您要讓使用者僅透過 HTTPS 存取,則應註銷 Listen 80

    LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
    # Listen 80
    Listen 0.0.0.0:443
    <VirtualHost *:443>
    SSLEnable
    SSLClientAuth None
    SSLProtocolDisable SSLv2 
    SSLServerCert buildforge
    KeyFile bfinstall/Platform/keystore/buildForgeKeyStore.kdb
    SSLStashFile bfinstall/Platform/keystore/buildForgeKeyStore.sth
    ErrorLog bfinstall/server/apache/logs/ssl_error.log
    TransferLog bfinstall/server/apache/logs/transfer.log
    </VirtualHost>

    bfinstall 是安裝目錄的根目錄。在上述步驟中,如果是在 UNIX 和 Linux 上,您經常需要將 /Platform 附加到 bfinstall 後,才能到達正確的目錄。您也需要使用斜線 (/) 而非反斜線 (\) 來區隔目錄。

結果

請參閱關於設定 SSL 的 IHS 文件,以取得詳細資訊。

Windows:取代 DLL

關於這項作業

如果您使用的是 8.0 版以前的 IBM HTTP Server 版本,則必須將 DLL 取代為 Rational Build Forge 隨附的版本。

程序

從 IBM HTTP Server 安裝目錄的多個位置中找出現有的 libeay32.dll 檔,並取代。
  • 使用 <bfinstall>/openssl 中提供的 libeay32.dll
  • 搜尋該 DLL 的所有實例,並取代。以 Windows 2003 中的位置為例:
    <ihs_install>\Plugins\gsk7\gsk7_32\icc\osslib
    <ihs_install>\gsk7\icc\osslib

結果

在您取代該 DLL 後,HTTP 伺服器即可正常啟動。若未取代,HTTP 伺服器將無法啟動。

AIX 系統:其他設定

若為 AIX 系統,還需要其他設定。

程序


意見