在 Red Hat Linux 上安装 WebSphere Application Server
Glenn McAllister
软件开发者,IBM 多伦多实验室
介绍
WebSphere Application Server 是一种可在 Linux 上运行的,功能强大的全功能 Java 应用服务器。本文介绍了安装 WebSphere 和 Red Hat Linux 上的支持软件的细节,这可以帮助您避免代价高昂的延误。
准备
WebSphere Application Server 高级版和 Linux 进行了完美的结合。安装 WebSphere Application Server 本身并不太困难,但您还必须安装许多其它支持软件,包括:
Red Hat Linux 版本 6.2
IBM DB2 6.1,FixPak 3
IBM Developer Kit 和 Run-time Environment Linux 版,Java Technology Edition,版本 1.1.8
Web 服务器,可以是 Apache 1.3.12 或 IBM HTTP Server 1.3.12
支持框架的、HTML 4.0、兼容 CSS 的 Web 浏览器,例如 Netscape 4.72。
每一种产品都有其自己的安装和配置问题,这可能导致最终的 WebSphere Application Server 安装产生一些问题。
为简化起见,我使用大多数 IBM 的设置,即使用 IBM HTTP Server 而非 Apache,DB2 而非 Oracle。(WebSphere Application Server 与 Oracle 已在大多数平台上进行了测试,但还没有在 Linux 上进行过。)我在自己家里的机器(双引导环境)上进行了测试。自从设置并运行 Linux 后已经过了一段时间,我很好奇,想知道有哪些改变。
以下介绍假设您在机器上有 root 特权,并以 Root 用户执行所有命令。如果需要成为其他用户,该介绍会指出这一点。
核实硬件
对于 Linux 来说这是最重要的规则。确保您的硬件与在 Red Hat 硬件兼容性清单中列出的相匹配。我在开始之前没有进行检查,所以在安装时付出了很大代价。我的底板支持 AGP 视频,而这是 Red Hat 6.2 分发 CD 中所带内核不支持的。我使用基于文本的安装程序来安装 Red Hat,在发现 Red Hat 支持站点有最新的内核 rpm 包后升级了我的内核。这要比重新编译内核容易得多,但如果我早一些检查就会比现在更容易。
安装 Red Hat 6.2 和 Korn Shell
这取决于您的硬件,这可能是安装过程比较容易的部分。Red Hat 所带的安装指令非常完整,所以这里我就不再赘述了。不过,要记住一些重要事项。
用哪个窗口管理器?
WebSphere Application Server 有两个显而易见的部分,“管理服务器”和“管理客户机”。“管理服务器”没有用户界面。您要从命令行启动它,它将记录信息输出到一个文本文件中。相反,“管理客户机”有一个基于 Java 的 GUI,这意味着需要窗口系统和窗口管理器。
在 Linux 中,窗口系统是 X Windows,更具体地说,是 XFree86。而窗口管理器有许多不同的类型。因为“管理客户机”是基于 Java 的,所以不论使用哪个窗口管理器都可以。Red Hat 安装为您提供了两个比较简便的窗口管理器选择:Gnome 或 KDE,它们的主要差异在于外观和感觉。我选择的是 Gnome with Enlightenment,因为我以前没见过它。在选择一个工作站安装时,Netscape rpm 作为附加赠品自动选定。
在安装期间将要求您配置 X Windows 的设置。如果您知道视频卡上的芯片集、监视器的组成,以及它们是否与硬件兼容性清单匹配的话就会比较容易。
引导,还是双引导?
在生产环境中,Linux 机器将专门用于运行 WebSphere Application Server。不过,在测试情况下,可能需要在开发和测试环境之间对机器进行双重引导。因为我家里没有空闲的机器来设置 WebSphere Application Server,所以我进行了双引导。
要设置双引导,使用 Partition Magic 将现有的单一分区分成一些较小的分区。Lilo 是 Linux 的引导装入器,它使用 BIOS 来确定硬盘驱动器物理结构并读取引导分区。不幸的是,如果引导分区超过硬盘驱动器的第 1024 个柱面(在我 18 GB 的驱动器上大约 8 GB 的标记处),Lilo 将无法正确引导 Linux。因此我创建了三个分区:一个 8 GB 范围以内的小引导分区,另外一个 6 GB 的分区用来保存其它文件,还有一个 256 MB 的交换分区。
安装 Korn Shell
DB2 安装程序在 korn shell 中运行,因此在安装 DB2 之前需要安装 korm shell。不过,korn shell 不能由 Red Hat 安装程序自动安装。最简单的办法是从分发 CD 中安装它。假设 Red Hat 分发 CD 安装在 /mnt/cdrom 上,从命令行输入:
rpm -ivh /mnt/cdrom/RedHat/RPMS/pdksh-5.2.14-2.i386.rpm
安装 DB2 6.1
WebSphere Application Server 使用关系数据库来存储其大部分配置和运行时信息。这可以让 WebSphere Application Server 利用数据库系统的高级特性来支持分布式应用程序服务器。选择的数据库带 FixPak 3 的 DB2 6.1。不过我使用 FixPak 4 也没遇到什么困难。
WebSphere Application Server 分发 CD 带有正确版本的 DB2。我没有 WebSphere Application Server 分发 CD,因此我在安装 FixPac 之前安装了基本版本。如果您要这么做的话,记住不要在安装应用程序中创建数据库实例和管理服务器。应该先用 FixPak,然后返回安装应用程序来创建实例和管理服务器。在 Red Hat 和 DB2 之间有个错误,会导致 DB2 无法启动,这个问题把我难住了。如果您尝试在基本安装期间从安装应用程序创建数据库实例和管理服务器的话,它们将无法成功创建,安装将失败。
要运行安装应用程序,再次假设分发 CD 安装在 /mnt/cdrom,从命令行输入:
/mnt/cdrom/DB2/db2setup
完成了一般的安装进程后,安装应用程序将提供创建数据库实例和管理服务器的选项。在创建数据库之前必须有一个数据库实例,所以有必要现在创建它。从安装应用程序创建比从命令行容易的多。
如果这是生产服务器,不要使用缺省用户标识和口令。由于知道它们的人太多了,所以会造成安全性风险。但在该练习中为简单起见,我在设置中使用缺省 DB2 用户标识。
创建 WebSphere Application Server 数据库
一旦成功安装了 DB2,需要创建数据库来保存 WebSphere Application Server 配置和运行时信息。如果没有从安装应用程序中创建数据库实例,请现在创建。要创建 WebSphere Application Server 数据库:
对于 db2inst1 环境,从 Root 用户更改到 db2inst 用户。
启动 DB2。它可能已经启动,但这不会有任何损害。
要从一个干净的状态启动,卸下所有现有的名为 was 的数据库。
在数据库实例 db2inst1 中创建一个名为 was 的数据库。
更新 was 数据库配置以将 256 MB 的内存用作高速缓存。
改回 root 用户。
从命令行输入:
su - db2inst1
db2start
db2 drop db was
db2 create db was
db2 update db cfg for was using applheapsz 256
exit
安装 JDK
这部分可能是该作业中最容易的。从 IBM 下载站点下载 JDK rpm。在编写本文时最新的 rpm 是 IBMJava118-SDK-1.1.8-4.0.i386.rpm。假设将 rpm 下载到 /root/rpms,从命令行输入:
rpm -ivh /root/rpms/IBMJava118-SDK-1.1.8-4.0.i386.rpm
在正确使用 JDK 之前必须设置好 shell 环境。检查有关 shell 的文档来了解如何设置环境。我使用 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
为了确保更改在当前的命令行中生效,输入:
. ~/.bash_profile
以后打开的任何命令行窗口都应该具有已经正确设置的环境。
安装 Web 服务器
由于从 IBM 下载站点下载了许多软件时,我使用 IBM HTTP Server。Web 服务器必须在安装 WebSphere Application Server 之前安装。假设将 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
如果看到一个错误说 HTTP Server 无法启动,尝试更新 /opt/IBMHTTPServer/conf/httpd.conf 文件。因为我运行的是单机,所以将以下这行:
ServerType inetd
更新为
ServerType standalone
可以在命令行上输入以下内容来启动服务器:
/opt/IBMHTTPServer/bin/apachectl start
启动 Netscape 浏览器,并指向 http://localhost/index.html,检查设置和运行是否一切正常。若正常应该看到类似图 1 的画面:
图 1. IBM HTTP Server 的欢迎页面
安装和配置 WebSphere Application Server
马上要成功了!这是最后一个要安装的 rpm。我从 IBM 下载站点下载的一个 60 天试验版本的 WebSphere Application Server ,所以 rpm 名与您在 CD 上看到的会不一样。将 /root/rpms 中的包 ungzip,然后再 untar 后,输入:
rpm -ivh /root/rpms/IBMWebAS-3.02ADV_TRIAL-1.i386.rpm
从命令行安装 WebSphere Application Server。
要配置 WebSphere Application Server 使它得以设置和运行,需要修改 /opt/IBMWebAS/bin/admin.config 文件中的三个项:
com.ibm.ejs.sm.adminServer.dbUser
在设置数据库实例时创建的 DB2 用户标识。因为我选择的是缺省用户标识,所以将该值设置为 db2inst1。
com.ibm.ejs.sm.adminServer.dbPassword
com.ibm.ejs.sm.adminServer.dbUser 项中用户标识的口令。对我来说,它是 ibmdb2。
com.ibm.ejs.sm.adminServer.dbUrl
如果您没有将数据库命名为 was,则要更新该项。如果没有,将值 jdbc:db2:was 改为 jdbc:was:yourdbname。
启动 DB2 和 Web 服务器
现在已安装完所有产品,可以准备启动 WebSphere Application Server 了。这里只剩下两件小事要做:启动 DB2,然后重新启动 Web 服务器。从命令行输入:
su - db2inst1
db2start
exit
/opt/IBMHTTPServer/bin/apachectl restart
测试 WebSphere Application Server 的安装
现在可以准备启动 WebSphere Application Server 了。再有三个命令就可以设置和运行它了。首先启动“管理服务器”。记住,必须以 root 用户来执行这一步。从命令行输入:
/opt/IBMWebAS/bin/startupServer.sh
这将启动“管理服务器”。不幸的是,它需要一段时间来设置和运行,很难说什么时候算准备好了。“管理服务器”将它的输出记录到文件,我们可以查看该文件来判断它什么时候准备好。因此,从另一个命令行输入:
tail -f /opt/IBMWebAS/logs/tracefile
当“管理服务器”就绪后,应该看到图 2 中的消息:
图 2. "A WebSphere Administration server open for e-business" 消息
下一步,启动“管理客户机”,它是用于配置应用服务器的基于 Java 的 WebSphere Application ServerGUI 管理控制台。要启动“管理客户机”,在一个新的命令行中输入:
/opt/IBMWebAS/bin/adminclient.sh
“管理客户机”出现在屏幕上大约需要几分钟的时间。看到下面的图 3 后,就可以准备配置全新的应用服务器了:
图 3. “管理客户机”应用程序
恭喜!您已在 Linux 上成功安装了 WebSphere Application Server 高级版。