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