(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] )