(Linux+JDK+Tomcat+Oracle)

作者: Arlan??e-mail [email]arlan8005@163.com[/email]??[url]www.oklinux.cn[/url] 轉(zhuǎn)載請(qǐng)保留作者信息和出處

一朋友公司的服務(wù)器需要在 RedHat 5 下配置 jsp 環(huán)境, Tomcat 作為 jsp 引擎和 web 服務(wù)器,安裝數(shù)據(jù)庫(kù) Oracle 10g 。因?yàn)橹皩?duì) LAMP 比較熟悉,第一次接觸 jsp 環(huán)境比較手生,參考了網(wǎng)絡(luò)上的部分資料,不過(guò)安裝環(huán)境或安裝方式都和所需要求不盡相同,折騰了好幾天終于搞定,以下是自己寫的比較詳細(xì)的總結(jié),希望對(duì)一些新手朋友有點(diǎn)幫助。
此次配置是在 RedHat linux 安裝完畢后開啟 SSH ,其余都在遠(yuǎn)程 SHELL 下操作,沒(méi)有在服務(wù)器本機(jī)的文本或圖形上操作。

一、 ? ? ? ? 相關(guān)軟件
環(huán)境: 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
紅帽發(fā)行的 Linux 服務(wù)器版最新版, Linux 2.6.18 內(nèi)核
下載地址:
[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]
安裝序列號(hào): 2515dd4e215225dd

jdk-1_5_0_12-linux-i586-rpm.bin
不用多介紹了,必須要這個(gè), 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
:我用的機(jī)器系統(tǒng)是 win xp ,用 SecureCRT 5.5 連接 SSH 。

順便推薦 Windows 平臺(tái)連接 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
的安裝就不用多說(shuō)了,有問(wèn)題可以搜索相關(guān)資料看看。

安裝的時(shí)候,我在這臺(tái)服務(wù)器裝了虛擬化后出現(xiàn)不正常導(dǎo)致我重新裝了一遍??赡苁呛陀布呐渲糜嘘P(guān),這點(diǎn)我沒(méi)有驗(yàn)證,寫出來(lái)只是供大家參考而已。

三、 ? ? ? ? 安裝 JDK (我把需要安裝的軟件都放在 /usr/local 下)

# cd /usr/local
# chmod 755 jdk-1_5_0_12-linux-i586.rpm
# ./ jdk-1_5_0_12-linux-i586.rpm
此步完成后,會(huì)生成 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
此時(shí)會(huì)出現(xiàn)授權(quán)協(xié)議,按 Enter 鍵接受。默認(rèn)安裝到 /usr/java/jdk1.5.0_12

OK
,接下來(lái)配置環(huán)境變量
2.5 種方法,呵呵,為什么說(shuō) 2.5 種,因?yàn)榈谌N我是覺(jué)得不算完整的一種。如下:
1
? ? ? ? 修改 /etc/proFile 文件
一般都不推薦這種方法,因?yàn)檫@樣做的話,所有用戶的 shell 都會(huì)使用這些環(huán)境變量,可能會(huì)給系統(tǒng)帶來(lái)安全性問(wèn)題。但如果你的計(jì)算機(jī)僅僅作為開發(fā)使用時(shí)那就推薦使用這種方法。
# 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
、 ? ? ? ? 修改當(dāng)前用戶變量(推薦用此方法)
# cd
# vi .bashrc
然后一樣把一下加進(jìn)去
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
、 ? ? ? ? 針對(duì)當(dāng)前 shell 加載環(huán)境變量
export 命令直接在 shell 下設(shè)置
# 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
我之所以說(shuō)第三種方法不算完整的辦法,因?yàn)橹粚?duì)當(dāng)前 shell 有效而已,如果從另外一個(gè) shell 登陸,將不能使用剛才設(shè)置的變量。


驗(yàn)證 java 的環(huán)境變量有沒(méi)有生效,可以用以下命令查看一下:

# echo $JAVA_HOME (
注意大小寫,下同 )
沒(méi)問(wèn)題的話,顯示的是 /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)

如果沒(méi)有生效,請(qǐng)檢查以上配置?;蚋纱嘞?/span> reboot 一下。

好了,環(huán)境變量如果 ok 的話,再來(lái)測(cè)試 JDK 是否正常工作。
寫個(gè)測(cè)試文件如 test.java
# vi test.java
class test
{
public static void main(String[] args)
{
System.out.println("Hi
, [url]www.oklinux.cn[/url]!");
}
}

保存退出,下面來(lái)編譯、執(zhí)行;
# javac test.java
# java test
Hi
, [url]www.oklinux.cn[/url]!

好了,這樣就是正常了。

四、 ? ? ? ? 安裝 Tomcat

安裝 tomcat 比較簡(jiǎn)單
#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 復(fù)制并重命名到 /tomcat

設(shè)置一下環(huán)境變量,方法如設(shè)置 JDK 一樣
TOMCAT_HOME=/ tomcat
export TOMCAT_HOME

修改默認(rèn)端口
# vi /tomcat/conf/server.xml
找到 <Connector port="8080" protocol="HTTP/1.1"
? ?? ?? ?? ?? ?connectionTimeout="20000"
? ?? ?? ?? ?? ?redirectPort="8443" />
8080 改成 80
保存、退出。
這里,我沒(méi)有結(jié)合 apache 直接用 tomcat 作為 JSP 引擎并當(dāng) web 服務(wù)器用,而且后面還要裝 oracle ,也避免 8080 端口沖突,所以一定要改這里的端口為 80 。
Ok
,可以啟動(dòng) 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

現(xiàn)在可以用 netstat 命令看看 80 有沒(méi)有了
# netstat –tnl
如果 80 端口有了,那應(yīng)該就沒(méi)問(wèn)題了,也可以 http 訪問(wèn)一下。有只小貓貓看著你就是沒(méi)問(wèn)題了。呵呵


OK
, tomcat 也搞定,接下來(lái)裝比較麻煩的 Oracle 10g 。
五、 ? ? ? ? 安裝 Oracle 10g
安裝 oracle 是這次最頭疼的事情,網(wǎng)上搜索一堆資料,不過(guò)基本找不到 oracle 10 以上版本的安裝介紹,有的話也不是和我的環(huán)境一樣,大部分是 9i 等等的。安裝完成后總是監(jiān)聽不成功,報(bào)錯(cuò)一堆。經(jīng)過(guò)好幾天的努力,終于把 oracle 10g 搞定,步驟如下:

我下載的是 rpm 包,文件為 oracle-xe-10.2.0.1-1.0.i386.rpm
Oracle
官方有一篇關(guān)于 oracle 的安裝文章,大家可以借鑒一下,不過(guò)和我的方法不同。
《在 Linux x86 上安裝 Oracle 數(shù)據(jù)庫(kù) 10g
地址是:
[url]http://www.oracle.com/technology/global/cn/pub/articles/smiley_10gdb_install.html[/url]

1
、驗(yàn)證一下系統(tǒng)所需的主要安裝包版本:
# 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
如果顯示某個(gè)包沒(méi)有安裝的話,請(qǐng)先安裝。安裝包一般在 redhat 的安裝盤里有(一般在第二張或第三張),如果沒(méi)有找到的話,可以到官方下載,不過(guò)官方下載比較麻煩,給大家推薦個(gè)好地方下載:
[url]http://rpm.pbone.net/[/url]
這個(gè)網(wǎng)站很簡(jiǎn)單明了,搜索框輸入需要包的名稱一部分或全部,就搜索出一堆的安裝包鏈接地址,有很多鏡像可以選擇。


下面舉例 openmotif 的安裝 , 很簡(jiǎn)單
# cd /usr/local
# rpm –ivh openmotif-2.2.4-0.1.rpm

2
、創(chuàng)建 Oracle 組和用戶帳戶

接下來(lái),創(chuàng)建用于安裝和維護(hù) Oracle 10g Linux 組和用戶帳戶。用戶帳戶將稱為 oracle ,而組將稱為 oinstall dba 。執(zhí)行以下命令:

# /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)

設(shè)置 oracle 帳戶的口令:輸密碼的時(shí)候都是沒(méi)有回顯的,輸完就回車就好。
# 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
根據(jù)提示設(shè)置 8080 1521 端口,還有 sys system 的密碼,開機(jī)是否啟動(dòng)等。
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]

同樣,把環(huán)境變量加上去
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_HOME
方法如上
# reboot

OK
,現(xiàn)在用 netstat 看看 8080 1521 是否已經(jīng)監(jiān)聽了。
# 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
應(yīng)該就 ok 了。

Oracle
常用幾個(gè)命令用法
# /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/lsnrctl start??//
啟動(dòng)監(jiān)聽器
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
沒(méi)問(wèn)題的話,最后會(huì)提示
The command completed successfully
其實(shí)這里是最容易出錯(cuò)的地方,可能和我一樣剛接觸 oracle 的朋友常會(huì)在這個(gè)地方發(fā)難。這幾天我也一直在這里徘徊。如果出錯(cuò)的話,注意查看日志文件,路徑是 network/log/listener.log 。如果是監(jiān)聽有問(wèn)題可以查看 network/admin/listener.ora network/admin/tnsnames.ora 的配置是否有問(wèn)題,我裝完 redhat 后,改了計(jì)算機(jī)名,監(jiān)聽的時(shí)候總是報(bào)錯(cuò)。但是我改了這 2 個(gè)配置文件里的 HOST 后還是不能監(jiān)聽,后來(lái)郁悶之極干脆重新裝了一下 redhat 就沒(méi)事了。

至此,在 RedHat ES 5 下用 Tomcat 作為 jsp 引擎和 web 服務(wù)器,數(shù)據(jù)庫(kù)為 Oracle 10g jsp 環(huán)境配置完成。本人對(duì) jsp 也是新手,本文只是我此次安裝的流程和個(gè)人見解,一定有不少問(wèn)題,歡迎來(lái)信批評(píng)指教。( by arlan e-mail [email]arlan8005@163.com[/email]