在 Red Hat Linux 上安裝 WebSphere Application Server
Glenn McAllister
軟件開發(fā)者,IBM 多倫多實(shí)驗(yàn)室
介紹
WebSphere Application Server 是一種可在 Linux 上運(yùn)行的,功能強(qiáng)大的全功能 Java 應(yīng)用服務(wù)器。本文介紹了安裝 WebSphere 和 Red Hat Linux 上的支持軟件的細(xì)節(jié),這可以幫助您避免代價(jià)高昂的延誤。
準(zhǔn)備
WebSphere Application Server 高級版和 Linux 進(jìn)行了完美的結(jié)合。安裝 WebSphere Application Server 本身并不太困難,但您還必須安裝許多其它支持軟件,包括:
Red Hat Linux 版本 6.2
IBM DB2 6.1,F(xiàn)ixPak 3
IBM Developer Kit 和 Run-time Environment Linux 版,Java Technology Edition,版本 1.1.8
Web 服務(wù)器,可以是 Apache 1.3.12 或 IBM HTTP Server 1.3.12
支持框架的、HTML 4.0、兼容 CSS 的 Web 瀏覽器,例如 Netscape 4.72。
每一種產(chǎn)品都有其自己的安裝和配置問題,這可能導(dǎo)致最終的 WebSphere Application Server 安裝產(chǎn)生一些問題。
為簡化起見,我使用大多數(shù) IBM 的設(shè)置,即使用 IBM HTTP Server 而非 Apache,DB2 而非 Oracle。(WebSphere Application Server 與 Oracle 已在大多數(shù)平臺上進(jìn)行了測試,但還沒有在 Linux 上進(jìn)行過。)我在自己家里的機(jī)器(雙引導(dǎo)環(huán)境)上進(jìn)行了測試。自從設(shè)置并運(yùn)行 Linux 后已經(jīng)過了一段時(shí)間,我很好奇,想知道有哪些改變。
以下介紹假設(shè)您在機(jī)器上有 root 特權(quán),并以 Root 用戶執(zhí)行所有命令。如果需要成為其他用戶,該介紹會指出這一點(diǎn)。
核實(shí)硬件
對于 Linux 來說這是最重要的規(guī)則。確保您的硬件與在 Red Hat 硬件兼容性清單中列出的相匹配。我在開始之前沒有進(jìn)行檢查,所以在安裝時(shí)付出了很大代價(jià)。我的底板支持 AGP 視頻,而這是 Red Hat 6.2 分發(fā) CD 中所帶內(nèi)核不支持的。我使用基于文本的安裝程序來安裝 Red Hat,在發(fā)現(xiàn) Red Hat 支持站點(diǎn)有最新的內(nèi)核 rpm 包后升級了我的內(nèi)核。這要比重新編譯內(nèi)核容易得多,但如果我早一些檢查就會比現(xiàn)在更容易。
安裝 Red Hat 6.2 和 Korn Shell
這取決于您的硬件,這可能是安裝過程比較容易的部分。Red Hat 所帶的安裝指令非常完整,所以這里我就不再贅述了。不過,要記住一些重要事項(xiàng)。
用哪個(gè)窗口管理器?
WebSphere Application Server 有兩個(gè)顯而易見的部分,“管理服務(wù)器”和“管理客戶機(jī)”。“管理服務(wù)器”沒有用戶界面。您要從命令行啟動它,它將記錄信息輸出到一個(gè)文本文件中。相反,“管理客戶機(jī)”有一個(gè)基于 Java 的 GUI,這意味著需要窗口系統(tǒng)和窗口管理器。
在 Linux 中,窗口系統(tǒng)是 X Windows,更具體地說,是 XFree86。而窗口管理器有許多不同的類型。因?yàn)?#8220;管理客戶機(jī)”是基于 Java 的,所以不論使用哪個(gè)窗口管理器都可以。Red Hat 安裝為您提供了兩個(gè)比較簡便的窗口管理器選擇:Gnome 或 KDE,它們的主要差異在于外觀和感覺。我選擇的是 Gnome with Enlightenment,因?yàn)槲乙郧皼]見過它。在選擇一個(gè)工作站安裝時(shí),Netscape rpm 作為附加贈品自動選定。
在安裝期間將要求您配置 X Windows 的設(shè)置。如果您知道視頻卡上的芯片集、監(jiān)視器的組成,以及它們是否與硬件兼容性清單匹配的話就會比較容易。
引導(dǎo),還是雙引導(dǎo)?
在生產(chǎn)環(huán)境中,Linux 機(jī)器將專門用于運(yùn)行 WebSphere Application Server。不過,在測試情況下,可能需要在開發(fā)和測試環(huán)境之間對機(jī)器進(jìn)行雙重引導(dǎo)。因?yàn)槲壹依餂]有空閑的機(jī)器來設(shè)置 WebSphere Application Server,所以我進(jìn)行了雙引導(dǎo)。
要設(shè)置雙引導(dǎo),使用 Partition Magic 將現(xiàn)有的單一分區(qū)分成一些較小的分區(qū)。Lilo 是 Linux 的引導(dǎo)裝入器,它使用 BIOS 來確定硬盤驅(qū)動器物理結(jié)構(gòu)并讀取引導(dǎo)分區(qū)。不幸的是,如果引導(dǎo)分區(qū)超過硬盤驅(qū)動器的第 1024 個(gè)柱面(在我 18 GB 的驅(qū)動器上大約 8 GB 的標(biāo)記處),Lilo 將無法正確引導(dǎo) Linux。因此我創(chuàng)建了三個(gè)分區(qū):一個(gè) 8 GB 范圍以內(nèi)的小引導(dǎo)分區(qū),另外一個(gè) 6 GB 的分區(qū)用來保存其它文件,還有一個(gè) 256 MB 的交換分區(qū)。
安裝 Korn Shell
DB2 安裝程序在 korn shell 中運(yùn)行,因此在安裝 DB2 之前需要安裝 korm shell。不過,korn shell 不能由 Red Hat 安裝程序自動安裝。最簡單的辦法是從分發(fā) CD 中安裝它。假設(shè) Red Hat 分發(fā) CD 安裝在 /mnt/cdrom 上,從命令行輸入:
rpm -ivh /mnt/cdrom/RedHat/RPMS/pdksh-5.2.14-2.i386.rpm
安裝 DB2 6.1
WebSphere Application Server 使用關(guān)系數(shù)據(jù)庫來存儲其大部分配置和運(yùn)行時(shí)信息。這可以讓 WebSphere Application Server 利用數(shù)據(jù)庫系統(tǒng)的高級特性來支持分布式應(yīng)用程序服務(wù)器。選擇的數(shù)據(jù)庫帶 FixPak 3 的 DB2 6.1。不過我使用 FixPak 4 也沒遇到什么困難。
WebSphere Application Server 分發(fā) CD 帶有正確版本的 DB2。我沒有 WebSphere Application Server 分發(fā) CD,因此我在安裝 FixPac 之前安裝了基本版本。如果您要這么做的話,記住不要在安裝應(yīng)用程序中創(chuàng)建數(shù)據(jù)庫實(shí)例和管理服務(wù)器。應(yīng)該先用 FixPak,然后返回安裝應(yīng)用程序來創(chuàng)建實(shí)例和管理服務(wù)器。在 Red Hat 和 DB2 之間有個(gè)錯(cuò)誤,會導(dǎo)致 DB2 無法啟動,這個(gè)問題把我難住了。如果您嘗試在基本安裝期間從安裝應(yīng)用程序創(chuàng)建數(shù)據(jù)庫實(shí)例和管理服務(wù)器的話,它們將無法成功創(chuàng)建,安裝將失敗。
要運(yùn)行安裝應(yīng)用程序,再次假設(shè)分發(fā) CD 安裝在 /mnt/cdrom,從命令行輸入:
/mnt/cdrom/DB2/db2setup
完成了一般的安裝進(jìn)程后,安裝應(yīng)用程序?qū)⑻峁﹦?chuàng)建數(shù)據(jù)庫實(shí)例和管理服務(wù)器的選項(xiàng)。在創(chuàng)建數(shù)據(jù)庫之前必須有一個(gè)數(shù)據(jù)庫實(shí)例,所以有必要現(xiàn)在創(chuàng)建它。從安裝應(yīng)用程序創(chuàng)建比從命令行容易的多。
如果這是生產(chǎn)服務(wù)器,不要使用缺省用戶標(biāo)識和口令。由于知道它們的人太多了,所以會造成安全性風(fēng)險(xiǎn)。但在該練習(xí)中為簡單起見,我在設(shè)置中使用缺省 DB2 用戶標(biāo)識。
創(chuàng)建 WebSphere Application Server 數(shù)據(jù)庫
一旦成功安裝了 DB2,需要?jiǎng)?chuàng)建數(shù)據(jù)庫來保存 WebSphere Application Server 配置和運(yùn)行時(shí)信息。如果沒有從安裝應(yīng)用程序中創(chuàng)建數(shù)據(jù)庫實(shí)例,請現(xiàn)在創(chuàng)建。要?jiǎng)?chuàng)建 WebSphere Application Server 數(shù)據(jù)庫:
對于 db2inst1 環(huán)境,從 Root 用戶更改到 db2inst 用戶。
啟動 DB2。它可能已經(jīng)啟動,但這不會有任何損害。
要從一個(gè)干凈的狀態(tài)啟動,卸下所有現(xiàn)有的名為 was 的數(shù)據(jù)庫。
在數(shù)據(jù)庫實(shí)例 db2inst1 中創(chuàng)建一個(gè)名為 was 的數(shù)據(jù)庫。
更新 was 數(shù)據(jù)庫配置以將 256 MB 的內(nèi)存用作高速緩存。
改回 root 用戶。
從命令行輸入:
su - db2inst1
db2start
db2 drop db was
db2 create db was
db2 update db cfg for was using applheapsz 256
exit
安裝 JDK
這部分可能是該作業(yè)中最容易的。從 IBM 下載站點(diǎn)下載 JDK rpm。在編寫本文時(shí)最新的 rpm 是 IBMJava118-SDK-1.1.8-4.0.i386.rpm。假設(shè)將 rpm 下載到 /root/rpms,從命令行輸入:
rpm -ivh /root/rpms/IBMJava118-SDK-1.1.8-4.0.i386.rpm
在正確使用 JDK 之前必須設(shè)置好 shell 環(huán)境。檢查有關(guān) shell 的文檔來了解如何設(shè)置環(huán)境。我使用 bash,因此在 /root/.bash_profile 文件中添加了以下幾行:
JAVA_HOME=/usr/jdk118
PATH=$PATH:/usr/jdk118/bin
CLASSPATH=$CLASSPATH:/usr/jdk118/lib/classes.zip
export PATH JAVA_HOME CLASSPATH
為了確保更改在當(dāng)前的命令行中生效,輸入:
. ~/.bash_profile
以后打開的任何命令行窗口都應(yīng)該具有已經(jīng)正確設(shè)置的環(huán)境。
安裝 Web 服務(wù)器
由于從 IBM 下載站點(diǎn)下載了許多軟件時(shí),我使用 IBM HTTP Server。Web 服務(wù)器必須在安裝 WebSphere Application Server 之前安裝。假設(shè)將 gzip 過的 tar 文件下載到 /root/tars,并希望 rpms 位于 /root/rpms 中,從命令行輸入:
cd /root/rpms
gunzip -c ../tars/HTTPServer.linux.56.tar.gz | tar -xvf -
rpm -ivh IBM_HTTP_Server-1.3.12-0.i386.rpm
如果看到一個(gè)錯(cuò)誤說 HTTP Server 無法啟動,嘗試更新 /opt/IBMHTTPServer/conf/httpd.conf 文件。因?yàn)槲疫\(yùn)行的是單機(jī),所以將以下這行:
ServerType inetd
更新為
ServerType standalone
可以在命令行上輸入以下內(nèi)容來啟動服務(wù)器:
/opt/IBMHTTPServer/bin/apachectl start
啟動 Netscape 瀏覽器,并指向 http://localhost/index.html,檢查設(shè)置和運(yùn)行是否一切正常。若正常應(yīng)該看到類似圖 1 的畫面: