Application Server 9.1 隨附的負載平衡器外掛程式支援 Apache Web Server 2.0.x。若要使用 Apache Web Server,必須在安裝負載平衡器外掛程式之前和之後執行特定的配置步驟。負載平衡外掛程式安裝也會對 Apache Web Server 做出其他修改。安裝外掛程式後,必須執行其他配置步驟。
如果使用 --with-mpm=worker 選項進行編譯,則 Apache 2 將具有多重執行緒運作方式。
若為 Apache Web Server,則您的安裝必須符合最低需求。
對於 Apache,負載平衡外掛程式需要︰
openssl-0.9.7e (原始碼)
httpd-2.0.59 (原始碼)
gcc-3.3-sol9-sparc-local 套裝軟體 (用於 Solaris 9 SPARC)。
gcc-3.3-sol9-intel-local 套裝軟體 (用於 Solaris 9 x86)
預先安裝的 gcc (用於 Solaris 10)
flex-2.5.4a-sol9-sparc-local 套裝軟體 (用於 Solaris 9 SPARC)
flex-2.5.4a-sol9-intel-local 套裝軟體 (用於 Solaris 9 x86)
預先安裝的 flex (用於 Solaris 10)
軟體原始碼可從 http://www.sunfreeware.com 取得。
此外,在編譯 Apache 之前,請執行以下步驟:
在 Linux 平台上,在同一台機器上安裝 Sun Java System Application Server。
在 Solaris 9 作業系統上,使用 pkgadd 以安裝 gcc 和 flex。請注意,pkgadd 需要超級使用者存取權限。
在 Solaris 9 作業系統上,請確保 gcc 3.3 版和 make 位於 PATH 中,並且已安裝了 flex。
在 Solaris 10 作業系統上,對 OpenSSL 執行 make 之前,請先執行位於 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/install-tools (在 Solaris SPARC 上) 或位於 /usr/local/lib/gcc-lib/i386-pc-solaris2.9/3.3/install-tools (在 Solaris x86 上) 中的 mkheaders。
如果您要在 Red Hat Enterprise Linux Advanced Server 2.1 上使用 gcc,則 gcc 的版本必須在 3.0 以上。
如果除了使用 gcc 之外還要使用 C 編譯器,請在 PATH 環境變數中設定 C 編譯器和 make 公用程式的路徑。
安裝 Apache 的負載平衡器外掛程式之前,請為 Apache Web Server 問題 12355 套用修補程式。如需此問題的詳細資訊,請造訪 http://issues.apache.org/bugzilla/show_bug.cgi?id=12355。需要此修補程式才能使用「自動套用」功能。若要套用修補程式,請執行下列步驟。
解壓縮 http-2.0.59.tar 並前往目錄 httpd-2.0.59。
從 http://issues.apache.org/bugzilla/attachment.cgi?id=16495 下載修補程式,並將其另存為檔案,例如,12355.diff 。
從 httpd-2.0.59/modules/ssl 目錄中,執行下列指令:
patch < 12355.diff
必須編譯和建置 Apache 原始碼以使用 SSL 執行。本小節說明如欲順利編譯 Apache Web Server 以執行負載平衡器外掛程式,所需的最低需求和概略步驟。這些需求和步驟僅適用於此軟體的 Solaris 和 Linux 版本。如需有關 Apache 的 Windows 版本的資訊,請參閱 Apache 網站。
在此提供的指示改編自 http://httpd.apache.org/docs 的指示內容。如需有關顧及 SSL 設定的 Apache 之詳細安裝指示,請參閱該網站。
您必須已下載並解壓縮了 Apache 軟體。
下載並解壓縮 OpenSSL 原始碼,原始碼可從 http://openssl.org 取得。
編譯和建置 OpenSSL。
如需完整的安裝指示,請參閱在您解壓縮 OpenSSL 的目錄內,名為 INSTALL 的檔案。該檔案說明如何在使用者指定的位置安裝 OpenSSL。
如需有關 OpenSSL 的更多資訊,請參閱 http://www.openssl.org/。
下載及解壓縮 Apache。
Apache 可從 http://httpd.apache.org 取得。
編譯及建立 Apache。配置來源樹狀結構:
對於在 Linux 2.1 上執行的 Apache,編譯之前請:
開啟 src/MakeFile 並尋找自動產生的區段的結束位置。
在自動產生的區段之後的前四行的後面增加以下行:
LIBS+= -licuuc -licui18n -lnspr4 -lpthread -lxerces-c -lsupport -lnsprwrap -lns-httpd40 LDFLAGS+= -L/application-server-install-dir/lib -L/opt/sun/private/lib
請注意,只有將 Application Server 安裝至 Java Enterprise System 底下時,才需要 -L/opt/sun/private/lib。
例如︰
## (End of automatically generated section) ## CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS) LIBS=$(EXTRA_LIBS) $(LIBS1) INCLUDES=$(INCLUDES1) $(INCLUDES0) $(EXTRA_INCLUDES) LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS) "LIBS+= -licuuc -licui18n -lnspr4 -lpthread -lxerces-c -lsupport -lnsprwrap -lns-httpd40 LDFLAGS+= -L/application-server-install-dir /lib -L/opt/sun/private/lib
設定環境變數 LD_LIBRARY_PATH。
對於獨立式安裝,將此變數設為 Application Server:as-install/lib
對於 Java Enterprise System 安裝,將此變數設為 Application Server:as-install/lib:opt/sun/private/lib.
若您使用 Solaris 9,請將 /usr/local/lib 增加至 LD_LIBRARY_PATH。
按照適用於您所使用之版本的安裝說明編譯 Apache。
如需更多資訊,請參閱 http://httpd.apache.org/。
一般來說,這些步驟包括:
請確定 Apache 的 ssl.conf 和 httpd.conf 檔案包含適用於作業環境的正確值。
在 ssl.conf 中,對於 VirtualHost default:port,請以安裝 Apache 的本機系統主機名稱和伺服器連接埠號,取代預設主機名稱和連接埠號。
若不做此變更,負載平衡器將無法運作。在 Solaris 上,Apache 可能無法啟動,在 Linux 上,HTTPS 請求可能無法運作。
在 ssl.conf 中,對於 ServerName www.example.com:443,請以安裝 Apache 的本機系統主機名稱取代 www.example.com。
若不做此變更,如果有安裝安全憑證,在啟動 Apache 時會出現下列警告:
[warn] RSA server certificate CommonName (CN) hostname does NOT match server name! |
如需有關安裝 Apache 憑證的更多資訊,請參閱為 Apache 建立安全性憑證。
在 httpd.conf 中,對於 ServerName www.example.com:80,請以安裝 Apache 的本機系統主機名稱取代 www.example.com。
若沒有做此變更,則啟動 Apache 時您會看到的警告訊息,包括系統無法判定伺服器的完全合格網域名稱,以及有重疊的 VirtualHost 項目。
確定 Apache 使用者擁有 apache-install-location/conf/ 目錄及此目錄中檔案的必要存取權限。
Apache 使用者是 Apache 伺服器用來回應請求的 UNIX 使用者身份。此使用者是在 httpd.conf 檔案中定義。
若您以超級使用者身份安裝 Apache,請參閱 apache-install-location/conf/httpd.conf 中,有關如何配置 Apache 使用者及群組的備註。
請確定您的使用者及群組配置符合此目錄的安全性需求。例如,若要限制存取此目錄,請將 Apache 使用者新增到目錄所有者所屬的使用者群組。
您必須使用下列指令來手動匯出 DAS 憑證:
appserver-install-dir/lib/upgrade/certutil -L -d appserver-instance-dir/config -n s1as -a -o sjsas.crt
安裝負載平衡器外掛程式時需要使用此憑證。
Application Server 9.1 安裝程式會為您執行下列作業。
將 sjsas.crt 複製到 apache-install-dir/conf/ssl.crt 目錄時,匯入 DAS 憑證。
在 httpd.conf 中附加下列指令行。
<Location /lbconfigupdate> SSLVerifyClient require SSLVerifyDepth 1 SSLRequireSSL SSLCACertificateFile apache-install-dir//conf/ssl.crt/sjsas.crt SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)-/ \ and %{SSL_CLIENT_S_DN_O} eq "Sun Microsystems" \ and %{SSL_CLIENT_S_DN_OU} eq "Sun Java System Application Server" \ and %{SSL_CLIENT_M_SERIAL} eq "<*serial number*>" ) </Location> <Location /getmonitordata> SSLVerifyClient require SSLVerifyDepth 1 SSLRequireSSL SSLCACertificateFile apache-install-dir/conf/ssl.crt/sjsas.crt SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)-/ \ and %{SSL_CLIENT_S_DN_O} eq "Sun Microsystems" \ and %{SSL_CLIENT_S_DN_OU} eq "Sun Java System Application Server" \ and %{SSL_CLIENT_M_SERIAL} eq "<*serial number*>" ) </Location>
負載平衡外掛程式安裝程式會將必要的檔案,擷取至 Web 伺服器根目錄的 modules 目錄中:
安裝程式會將以下項目增加至 Web 伺服器實例的 httpd.conf 檔案︰
##BEGIN EE LB Plugin Parameters LoadModule apachelbplugin_module modules/mod_loadbalancer.so #AddModule mod_apachelbplugin.cpp <IfModule mod_apachelbplugin.cpp> config-file webserver-instance/httpd/conf/loadbalancer.xml locale en </IfModule> <VirtualHost machine-ip-address> DocumentRoot "webserver-instance/httpd/htdocs" ServerName server-name </VirtualHost> ##END EE LB Plugin Parameters
Apache Web Server 需要有正確的安全性檔案才能使用負載平衡外掛程式。負載平衡器依賴需要這些安全性資料庫檔案的 NSS (Network Security Service) 程式庫。這些安全資料庫檔案必須自 Application Server 取得,因此 Application Server 必須安裝於 Web 伺服器可存取的位置。
若要配置 Apache 安全性檔案來使用負載平衡器,請執行下列步驟:
將 /usr/lib/mps 附加至 Apache-install-dir/bin/apachectl 程序檔中的 LD_LIBRARY_PATH。
在 Apache 上需要這些步驟來支援 HTTPS 請求。
如需有關在 Apache 上設定安全性憑證的詳細資訊,請參閱 http://httpd.apache.org/docs/2.2/ssl/ssl_faq.html 及 http://www.modssl.org/docs/2.8/ssl_faq.html 上的說明。下列程序改編自上述網站。
設定下列環境變數:
OPENSSL_CONF=OpenSSL-installation-directory /apps/openssl.cnf.
執行以下指令以建立伺服器憑證及金鑰:
openssl req -new -x509 -keyout newreq.pem -out newreq.pem -days 365
系統要求一般名稱時,請提供您打算在其中執行 Apache 的主機名稱。對於所有其他的提示,請輸入符合特定需求的值。
此指令會建立 newreq.pem。
自執行 openssl 指令的位置開啟剛建立的 newreq.pem。
複製從 BEGIN CERTIFICATE 開始到 END CERTIFICATE 為止的指令行,並貼到 Apache-install-dir/conf/ssl.crt/server.crt 中。例如︰
-----BEGIN CERTIFICATE----- .... ... -----END CERTIFICATE----- |
複製從 BEGIN RSA PRIVATE KEY 開始到 END RSA PRIVATE KEY 為止的指令行,並貼到 Apache-install-dir/conf/ssl.key/server.key 中。例如︰
-----BEGIN RSA PRIVATE KEY----- ... ... ... -----END RSA PRIVATE KEY----- |
請確定在 Apache-install-dir /conf/ssl.conf 中的變數 SSLCertificateKeyFile 和 SSLCertificateFile 都具有正確值。
請確定 ServerName 不是 www.example.com。ServerName 應是要執行 Apache 的實際主機名稱,並與您在建立伺服器憑證及金鑰時輸入的一般名稱相同。
若要使用居留式循環功能,請在 httpd.conf 檔案的 prefork MPM 區段下,確定將 StartServers 及 maxclients 參數值設為 1。否則,每個新的階段作業請求都會產生新的 Apache 程序,且將初始化負載平衡器外掛程式,導致請求被傳送到相同的實例。
通常啟動 Apache 時所用的使用者身份,應與安裝 Application Server 時所用的身份相同。只有在下列情況時,才必須以超級使用者身份啟動 Apache:
若您是 Java Enterprise System 使用者。
若您使用的連接埠號小於 1024。
若執行 Apache 的使用者不同於啟動 Apache 的使用者。
若要以 SSL 模式啟動 Apache,請使用下列其中一個指令:
apachetl startssl 或 apachetl -k start -DSSL
必要的話,請查看 Apache 網站上有關啟動 Apache 伺服器的最新資訊。
安裝負載平衡外掛程式。如需安裝外掛程式的詳細步驟,請參閱「Sun Java System Application Server 9.1 Installation Guide」。在安裝過程中,提供 DAS 憑證的路徑。
登入「Application Server Admin Console」並建立新叢集。如需建立新叢集的步驟,請參閱管理主控台線上說明。
建立新的 HTTP 負載平衡器。建立負載平衡器時,請將 Web 伺服器主機的 FQDN 指定為裝置主機名稱,將 Web 伺服器的「SSL 連接埠」指定為裝置連接埠,再將前一個步驟中所建立的叢集選為目標。如需建立新的 HTTP 負載平衡器的詳細步驟,請參閱管理主控台線上說明。
若要確認 DAS 與 Web 伺服器之間的通訊是否正常運作,請在「管理主控台」中,瀏覽到 [HTTP 負載平衡器] 節點並按一下 [HTTP 負載平衡器]。在出現的 [負載平衡器裝置設定] 頁面中,按一下 [測試連線] 按鈕。
若未在建立負載平衡器時啟用 [自動套用變更] 選項,則必須前往 [匯出] 標籤並按一下 [立即套用變更],來手動匯出負載平衡器配置。
若測試連線失敗,請務必檢查 Application Server 網域記錄及 Web 伺服器記錄來疑難排解問題。另請檢查是否已正確執行所有配置步驟。