(Linux+JDK+Tomcat+Oracle)

作者: Arlan  e-mail [email]arlan8005@163.com[/email]  [url]www.oklinux.cn[/url] 转载请保留作者信息和出处

一朋友公司的服务器需要在 RedHat 5 下配置 jsp 环境, Tomcat 作为 jsp 引擎和 web 服务器,安装数据库 Oracle 10g 。因为之前对 LAMP 比较熟悉,第一次接触 jsp 环境比较手生,参考了网络上的部分资料,不过安装环境或安装方式都和所需要求不尽相同,折腾了好几天终于搞定,以下是自己写的比较详细的总结,希望对一些新手朋友有点帮助。
此次配置是在 RedHat linux 安装完毕后开启 SSH ,其余都在远程 SHELL 下操作,没有在服务器本机的文本或图形上操作。

一、         相关软件
环境: RedHat Enterprise Server 5
jdk-1_5_0_12-linux-i586-rpm.bin
apache-tomcat-6.0.14.tar.gz
oracle-xe-10.2.0.1-1.0.i386.rpm
其他安装包见文中
------------------------------------------------------------
RedHat Enterprise Server 5
红帽发行的 Linux 服务器版最新版, Linux 2.6.18 内核
下载地址:
[url]ftp://60.232.126.152/os/linux/redhat/rhel5/rhel-5-server-i386-disc1.iso[/url]
[url]ftp://60.232.126.152/os/linux/redhat/rhel5/rhel-5-server-i386-disc2.iso[/url]
[url]ftp://60.232.126.152/os/linux/redhat/rhel5/rhel-5-server-i386-disc3.iso[/url]
[url]ftp://60.232.126.152/os/linux/redhat/rhel5/rhel-5-server-i386-disc4.iso[/url]
[url]ftp://60.232.126.152/os/linux/redhat/rhel5/rhel-5-server-i386-disc5.iso[/url]
更多介绍和下载地址可以查看
[url]http://www.oklinux.cn/html/Basic/azpz/20070907/35044.html[/url]
安装序列号: 2515dd4e215225dd

jdk-1_5_0_12-linux-i586-rpm.bin
不用多介绍了,必须要这个, sun 上面版本有 6 了,我这里用的是 5.
下载地址: [url]http://java.sun.com/javase/downloads/index_jdk5.jsp[/url]

apache-tomcat-6.0.14.tar.gz
tomcat
最新版本了
下载地址: [url]http://tomcat.apache.org/download-60.cgi[/url]

oracle-xe-10.2.0.1-1.0.i386.rpm
Oracle 10g
rpm 安装包
下载地址:
[url]http://www.oracle.com/technology/software/products/database/xe/htdocs/102xelinsoft.html[/url]

PS
:我用的机器系统是 win xp ,用 SecureCRT 5.5 连接 SSH

顺便推荐 Windows 平台连接 Linux shell 两款好工具, SecureCRT Putty
SecureCRT v5.5.2
英文破解版
下载地址: [url]http://www.oklinux.cn/html/download/ser/20070917/35110.html[/url]
SecureCRT v5.0.5
中文破解版
下载地址: [url]http://www.oklinux.cn/html/download/ser/20070917/35111.html[/url]
putty v0.60
中文版
下载地址: [url]http://www.oklinux.cn/html/download/ser/20070917/35112.html[/url]

二、         安装 Linux Red Hat ES 5

Red Hat Linux
的安装就不用多说了,有问题可以搜索相关资料看看。

安装的时候,我在这台服务器装了虚拟化后出现不正常导致我重新装了一遍。可能是和硬件的配置有关,这点我没有验证,写出来只是供大家参考而已。

三、         安装 JDK (我把需要安装的软件都放在 /usr/local 下)

# cd /usr/local
# chmod 755 jdk-1_5_0_12-linux-i586.rpm
# ./ jdk-1_5_0_12-linux-i586.rpm
此步完成后,会生成 jdk-1_5_0_12-linux-i586.rpm 的文件
# chmod +x jdk-1_5_0_12-linux-i586.rpm
# rpm –ivh jdk-1_5_0_12-linux-i586.rpm
此时会出现授权协议,按 Enter 键接受。默认安装到 /usr/java/jdk1.5.0_12

OK
,接下来配置环境变量
2.5 种方法,呵呵,为什么说 2.5 种,因为第三种我是觉得不算完整的一种。如下:
1
        修改 /etc/proFile 文件
一般都不推荐这种方法,因为这样做的话,所有用户的 shell 都会使用这些环境变量,可能会给系统带来安全性问题。但如果你的计算机仅仅作为开发使用时那就推荐使用这种方法。
# vi /etc/profile
在里面最后位置加入以下
JAVA_HOME=/usr/java/jdk1.5.0_12
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH

# source /etc/profile
使修改的配置生效。

2
        修改当前用户变量(推荐用此方法)
# cd
# vi .bashrc
然后一样把一下加进去
JAVA_HOME=/usr/java/jdk1.5.0_12
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH

3
        针对当前 shell 加载环境变量
export 命令直接在 shell 下设置
# export JAVA_HOME=/usr/java/jdk1.5.0_12
# export PATH=$JAVA_HOME/bin:$PATH
# export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
我之所以说第三种方法不算完整的办法,因为只对当前 shell 有效而已,如果从另外一个 shell 登陆,将不能使用刚才设置的变量。


验证 java 的环境变量有没有生效,可以用以下命令查看一下:

# echo $JAVA_HOME (
注意大小写,下同 )
没问题的话,显示的是 /usr/java/jdk1.5.0_12
# echo $PATH
/usr/java/jdk1.5.0_12/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
# echo $CLASSPATH
.:/usr/java/jdk1.5.0_12/lib/dt.jar:/usr/java/jdk1.5.0_12/lib/tools.jar
# java –version
java version "1.5.0_12"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_12-b04)
Java HotSpot(TM) Server VM (build 1.5.0_12-b04, mixed mode)

如果没有生效,请检查以上配置。或干脆先 reboot 一下。

好了,环境变量如果 ok 的话,再来测试 JDK 是否正常工作。
写个测试文件如 test.java
# vi test.java
class test
{
public static void main(String[] args)
{
System.out.println("Hi
[url]www.oklinux.cn[/url]!");
}
}

保存退出,下面来编译、执行;
# javac test.java
# java test
Hi
[url]www.oklinux.cn[/url]!

好了,这样就是正常了。

四、         安装 Tomcat

安装 tomcat 比较简单
#cd /usr/local
# tar zxvf apache-tomcat-6.0.14.tar.gz
# cp –r apache-tomcat-6.0.14 /tomcat
apache-tomcat-6.0.14 复制并重命名到 /tomcat

设置一下环境变量,方法如设置 JDK 一样
TOMCAT_HOME=/ tomcat
export TOMCAT_HOME

修改默认端口
# vi /tomcat/conf/server.xml
找到 <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
8080 改成 80
保存、退出。
这里,我没有结合 apache 直接用 tomcat 作为 JSP 引擎并当 web 服务器用,而且后面还要装 oracle ,也避免 8080 端口冲突,所以一定要改这里的端口为 80
Ok
,可以启动 tomcat
# /tomcat/bin/startup.sh (shutdown.sh
为停止 tomcat)
Using CATALINA_BASE:   /tomcat
Using CATALINA_HOME:   /tomcat
Using CATALINA_TMPDIR: /tomcat/temp
Using JRE_HOME:       /usr/java/jdk1.5.0_12

现在可以用 netstat 命令看看 80 有没有了
# netstat –tnl
如果 80 端口有了,那应该就没问题了,也可以 http 访问一下。有只小猫猫看着你就是没问题了。呵呵


OK
tomcat 也搞定,接下来装比较麻烦的 Oracle 10g
五、         安装 Oracle 10g
安装 oracle 是这次最头疼的事情,网上搜索一堆资料,不过基本找不到 oracle 10 以上版本的安装介绍,有的话也不是和我的环境一样,大部分是 9i 等等的。安装完成后总是监听不成功,报错一堆。经过好几天的努力,终于把 oracle 10g 搞定,步骤如下:

我下载的是 rpm 包,文件为 oracle-xe-10.2.0.1-1.0.i386.rpm
Oracle
官方有一篇关于 oracle 的安装文章,大家可以借鉴一下,不过和我的方法不同。
《在 Linux x86 上安装 Oracle 数据库 10g
地址是:
[url]http://www.oracle.com/technology/global/cn/pub/articles/smiley_10gdb_install.html[/url]

1
、验证一下系统所需的主要安装包版本:
# rpm -q gcc make binutils openmotif
gcc-4.1.1-52.el5
make-3.81-1.1
binutils-2.17.50.0.6-2.el5
openmotif-2.2.4-0.1
如果显示某个包没有安装的话,请先安装。安装包一般在 redhat 的安装盘里有(一般在第二张或第三张),如果没有找到的话,可以到官方下载,不过官方下载比较麻烦,给大家推荐个好地方下载:
[url]http://rpm.pbone.net/[/url]
这个网站很简单明了,搜索框输入需要包的名称一部分或全部,就搜索出一堆的安装包链接地址,有很多镜像可以选择。


下面举例 openmotif 的安装 , 很简单
# cd /usr/local
# rpm –ivh openmotif-2.2.4-0.1.rpm

2
、创建 Oracle 组和用户帐户

接下来,创建用于安装和维护 Oracle 10g Linux 组和用户帐户。用户帐户将称为 oracle ,而组将称为 oinstall dba 。执行以下命令:

# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -m -g oinstall -G dba oracle
# id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)

设置 oracle 帐户的口令:输密码的时候都是没有回显的,输完就回车就好。
# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd:all authentication tokens updated successfully.

4
        安装 Oracle
# cd /usr/local
# rpm -ivh oracle-xe-univ-10.2.0.1-1.0.i386.rpm
Preparing...                ########################################### [100%]
        package oracle-xe-univ-10.2.0.1-1.0 is already installed
# rpm -e oracle-xe-univ-10.2.0.1-1.0.i386
# rpm -ivh oracle-xe-univ-10.2.0.1-1.0.i386.rpm
Preparing...                ########################################### [100%]
   1:oracle-xe-univ         ########################################### [100%]
Executing Post-install steps...

You must run '/etc/init.d/oracle-xe configure' as the root user to
configure the database.

然后就安装它的提示走,

# /etc/init.d/oracle-xe configure
根据提示设置 8080 1521 端口,还有 sys system 的密码,开机是否启动等。
Starting Oracle Net Listener...Done
Configuring Database...Done
Starting Oracle Database 10g Express Edition Instance...Done
Installation Completed Successfully.
To access the Database Home Page go to [url]http://127.0.0.1:8080/apex[/url]

同样,把环境变量加上去
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_HOME
方法如上
# reboot

OK
,现在用 netstat 看看 8080 1521 是否已经监听了。
# netstat –tnl
如果有
tcp     0   0 0.0.0.0:8080         0.0.0.0:*                   LISTEN      
tcp     0   0 0.0.0.0:1521         0.0.0.0:*                   LISTEN
应该就 ok 了。

Oracle
常用几个命令用法
# /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/lsnrctl start  //
启动监听器
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 18-SEP-2007 00:27:51
Copyright (c) 1991, 2005, Oracle.  All rights reserved.
TNS-01106: Listener using listener name LISTENER has already been started

然后
# /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/lsnrctl stat
没问题的话,最后会提示
The command completed successfully
其实这里是最容易出错的地方,可能和我一样刚接触 oracle 的朋友常会在这个地方发难。这几天我也一直在这里徘徊。如果出错的话,注意查看日志文件,路径是 network/log/listener.log 。如果是监听有问题可以查看 network/admin/listener.ora network/admin/tnsnames.ora 的配置是否有问题,我装完 redhat 后,改了计算机名,监听的时候总是报错。但是我改了这 2 个配置文件里的 HOST 后还是不能监听,后来郁闷之极干脆重新装了一下 redhat 就没事了。

至此,在 RedHat ES 5 下用 Tomcat 作为 jsp 引擎和 web 服务器,数据库为 Oracle 10g jsp 环境配置完成。本人对 jsp 也是新手,本文只是我此次安装的流程和个人见解,一定有不少问题,欢迎来信批评指教。( by arlan e-mail [email]arlan8005@163.com[/email]