星期三, 8月 27, 2014

WebSphere Liberty 與 IBM HTTP Server 的整合設定

WebSphere Application Server 與 IBM HTTP Server 的整合做了很多次,WebSphere Liberty Core 確都還沒做過這樣的設定。弄了一輪後,發現跟之前整合 WebSphere Application Server 有一些落差,所以寫這篇文章來做筆記。


本文章的測試環境:
        1. Windows 2008 R2 Enterprise Edition
        2. IBM WebSphere Liberty V8.5.5
        3. IBM HTTP Server V8.5.5

前提:
        1. 完成 IBM WebSphere Liberty Core 安裝 (需要安裝 JDK,不是 JRE )
        2. 完成 IBM HTTP Server 安裝
        3. 完成 Web Server Plug-ins for IBM WebSphere Application Server 安裝

        IBM WebSphere Application Server Liberty Core Trial Download

設定說明:

Part 1: IBM WebSphere Liberty Core 設定

        1.1. 必須先建立一個 Liberty profile
               <Liberty_Install_Dir>/bin/Server.bat create AppSrv01
        1.2. 設定 server.xml 檔案 ( <Liberty_Install_Dir>/usr/servers/AppSrv01)
         在 server.xml 中加入下列設定
    
          <pluginConfiguration webserverPort="80" webserverSecurePort="443" 
                                     sslKeyringLocation="keyring.kdb" 
                                     sslStashfileLocation="keyring.sth" />
   <Log LogLevel="Error" Name="C:/IBM/http_plugin.log"/>

        1.3. 在前提條件中,有提到要裝JDK,因為這裡要使用一個工具《jconsole》
               執行在 JDK 安裝路徑底下的 bin/jconsole.exe 程式。

       
jConsole 選擇 AppSrv02 (Liberty Profile) 的執行程序,點選《Conncet》

順利 Connect 後,選擇《MBean》的 Tab。再選擇《WebSphere》底下的《com.ibm.jms.mbeans.generatePluginConfig》,點選《generateDefaultPluginConfig》按鈕,產生《plugin-cfg.xml》檔案。 (該檔案會產生在 profile 的根目錄)。



Part 2: IBM HTTP Server 設定

1. 使用 ikeyman 建立一個 CMS Key Store (選擇建立一個新的金鑰資料庫檔),並建立一個自簽憑證。

2. 設定 httpd.conf 檔案

在 httpd.conf 檔案中找到 SSL 區塊,並做下列設定 (如果沒有要啟用 SSL 則跳過這一段):

LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
Listen 0.0.0.0:443
## IPv6 support:
Listen [::]:443
<VirtualHost *:443>
SSLEnable
SSLProtocolDisable SSLv2
</VirtualHost>
KeyFile C:/IBM/HTTPServer/key.kdb
SSLDisable


《將下列設定加在 httpd.conf 檔案的最後 (注意路徑要對)》
LoadModule was_ap22_module "C:/IBM/WebSphere/Plugins/bin/32bits/mod_was_ap22_http.dll"

WebSpherePluginConfig "C:/IBM/WebSphere/Liberty/usr/servers/AppSrv02/plugin-cfg.xml"


Part 3:  Web Server Plug-ins 設定

1. 設定 plugin 的金鑰資料庫,同 HTTP Server 時一樣,先建立一個 key store
2. 在該 key store 中《匯入》Liberty Profile 底下的 key.jks 裡的憑證到這個 key store
3. 修改 plugin-cfg.xml 檔案的設定如下 (要讓 plugin 讀得到這個 key store)
   <Property Name="keyring" Value="C:/IBM/keyring.kdb"/>
   <Property Name="stashfile" Value="C:/IBM/keyring.sth"/>
4. 修改 plugin-cfg.xml 中的 LogLevel 資訊,方便追蹤訊息
    <Log LogLevel="Error" Name="C:/http_plugin.log"/>

備註:如果沒有要啟用 SSL,則此部份設定就不需進行



最後,就是進行測試看看 IBM HTTP Server 是否可以正常運作。

沒有留言: