使用 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. 變更預設使用者的陳述式:
    • 若是使用 AIX 系統,請使用 User daemonGroup staff,而不要使用 User daemonGroup daemon
    • 若為 Linux 系統,請在 <bfinstall>/webroot/templates_c 資料夾中的 templates_c 檔案上,將陳述式變更為 User daemonGroup daemonchown daemon:daemon /opt/buildforge/webroot/templates_c 即為 Linux 系統上的一個例子。
  5. 變更對 templates_c 檔案的權限。在 Linux 系統上,請使用 daemon: daemon;在 AIX 系統上,請使用 daemon: staff。下列範例為 Linux 系統:
    chown daemon:daemon /opt/buildforge/webroot/templates_c
  6. 如有需要,請變更 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® 工具目錄併入路徑中。
    • 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® 金鑰從 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
  4. 將密碼儲存在隱藏檔中。 IHS 在啟動期間會利用此檔案取得密碼。若無此檔案,IHS 會提示您提供密碼。使用最新版的 GSKIT 工具。在 gsk7\bin (Windows) 或 bin(Unix 或 Linux)中,執行下列指令(換行是為了便於閱讀):
    gsk7cmd -keydb
            -stashpw
            -db bfinstall\keystore\buildForgeKeyStore.kdb
            -pw buildForgeKeyStore_password
  5. 修改 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 後,才能到達正確的目錄。您也必須使用正斜線 (/) 而非反斜線 (\) 來區隔目錄。

結果

如需相關資訊,請參閱 IHS 文件上有關設定 SSL 的內容。

Windows:取代 DLL

關於這項作業

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

程序

在 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 系統,還需要其他設定。

程序


意見