redhat自帶apache2.0和tomcat4.1的安裝(轉)

post0發表於2007-08-09
redhat自帶apache2.0和tomcat4.1的安裝(轉)[@more@]

最近給朋友裝臺web server用到了apache+tomcat,使用了linux自帶的apache,其間費了一些挫折,把這些寫出來,供大家今後使用,希望能夠節省大家的時間.

使用的元件:

redhat 9自帶的apache2.0.40(也可以使用redhat 8,他的apache也是2.0.40)

httpd-2.0.40.tar.gz (使用自帶的apache,為什麼還要他的原碼呢?之後的操作中我告訴你他的用處)

j2sdk-1_4_1_04-linux-i586-rpm.bin(你也可以選用其他版本的JDK)

tomcat 4.1.24 (其中tomcat4.1.18我也除錯了,都可以)

tomcat-connectors-4.1.24為了把apache和tomcat整合到一起需要的connector.(這裡的整合其實就是用這個聯結器把apache的一些請求重定向到tomcat)

使用自帶apache的原因:

因為自帶的apache的modules裡面包括了基本所有流行的module,如果你下載原碼自己編譯的話,就要編譯所有的module,不過如果其他的功能你不需要的話,也根本不用費那個勁.但我為了防止以後會用到別的module, 所以我選擇使用系統自帶的apache. 編譯新的模組比較麻煩,所以建議大家業使用自帶的apache.以下是系統apache所帶的module,如果這些都自己編譯,累不說,還不敢保證是對的.

mod_access.so

mod_actions.so

mod_alias.so

mod_asis.so

mod_auth_anon.so

mod_auth_dbm.so

mod_auth_digest.so

mod_auth.so

mod_autoindex.so

mod_cern_meta.so

mod_cgi.so

mod_dav_fs.so

mod_dav.so

mod_deflate.so

mod_dir.so

mod_env.so

mod_expires.so

mod_headers.so

mod_imap.so

mod_include.so

mod_info.so

mod_log_config.so

mod_mime_magic.so

mod_mime.so

mod_negotiation.so

mod_proxy_connect.so

mod_proxy_ftp.so

mod_proxy_http.so

mod_proxy.so

mod_rewrite.so

mod_setenvif.so

mod_speling.so

mod_status.so

mod_suexec.so

mod_unique_id.so

mod_userdir.so

mod_usertrack.so

mod_vhost_alias.so

mod_webapp.so &這個就是需要自己編譯的connector

整合apache+tomcat費勁就在於編譯這個connector.

Apache沒有把這個connetor ( mod_webapp.so 編譯進去是因為他和使用的tomcat的版本相關,所以在不知道使用者使用那個版本的情況下,不能加這個module.

其中的下載地址.(僅供參考)

tomcat-4.1.24.tar.gz (這個解開包就可以直接執行,不用下載原碼在自己編譯,不然tomcat的編譯也很麻煩)

source/

在這裡可以下載到 (這個是原碼要自己編譯)

tomcat-connectors-4.1.24-src.tar.gz

也可以下載到4.1.18版本

httpd-2.0.40.tar.gz

j2sdk-1_4_1_04-linux-i586-rpm.bin

這些地址有的時候有問題,建議大家只要記住名字可以在北大的天網搜尋,都可以找到而且速度一般都挺快的.

過程:

1.先安裝JDK

j2sdk-1_4_1_04-linux-i586-rpm.bin

是個可執行檔案,安裝沒有難度,不提他

安裝的目錄是/usr/local/jdk1.4.1

2. 安裝tomcat

下載的這個版本的解開後就可以執行.如果不能正常執行你在下載原碼自己編譯

不過我試了幾個版本都可以.要執行tomcat之前要先完成3.設定系統的環境變數

為了使用tomcat的管理介面管理tomcat,你要修改 conf/tomcat-users.xml

新增

並給一個使用者賦予這兩個使用者角色

在其後的使用中你就可以用web介面管理tomcat了

#cd /opt

#tar –zxvf tomcat-4.1.24.tar.gz

安裝目錄

/opt/jakarta-tomcat-4.1.24

3.設定系統的環境變數

編輯/etc/profile

PATH=$PATH:/opt/ jakarta-tomcat-4.1.24/bin: /usr/local/jdk1.4.1/bin

JAVA_HOME=/usr/local/jdk1.4.1

CATALINA_HOME=/opt/ jakarta-tomcat-4.1.18

export PATH JAVA_HOME CATALINA_HOME

4.找個沒用的地方安裝httpd-2.0.40.tar.gz

註釋:必須用和系統相同的apache版本,不然會出問題。我最開始用了最新的apache2.0.47,結果編譯後的mod_webapp.so不能使用,有不認識的符號。

我是把他裝在/opt下面的

#cd /opt

#tar –zxvf httpd-2.0.40.tar.gz

#cd httpd-2.0.40

#./configure ./configure --prefix=/opt/apache40 --enable-module=so --enable-rule=SHARED_CORE

#make

#make install

5. 編譯connector (mod_webapp.so)

註釋:編譯2.0.40的connector不需要apr,編譯1.x.x的版本的時候需要apr

我在安裝apache+tomcat之前看到的很多文章說需要apr,但我做的時候確實沒有用到

我編譯了apache2.0.40 for 4.1.24 和4.1.18的connector都沒有用到

但在編譯apache1.3.38的connector時用到了apr.

#cd /opt

#tar –zxvf tomcat-connectors-4.1.24-src.tar.gz

#cd jakarta-tomcat-connectors-4.1.24-src/webapp

# ./support/buildconf.sh

#./configure --with-apxs=/opt/apache40/bin/apxs

因為系統卻省的apache沒有apxs.

哈哈,知道為什麼系統有apache,還要編譯安裝個apache的原因了吧.

那麼apxs是幹什麼的呢?看看上的解釋

apxs is a tool for building and installing extension modules for the Apache HyperText Transfer Protocol (HTTP) server. This is achieved by building a dynamic shared object (DSO) from one or more source or object files which then can be loaded into the Apache server under runtime via the LoadModule directive from mod_so.

#make

#cd apache-2.0

#cp mod_webapp.so /etc/httpd/modules/

===============================================================

好了,現在的所有的準備工作都做完了要測試了

編輯httpd.conf

vi /etc/httpd/conf/httpd.conf

LoadModule webapp_module modules/mod_webapp.so

僅此一條就夠了,很多地方介紹的時候說

還要AddModule之類的是apache1.x.x中的做法,我開始的時候就按照別的介紹,加了一些別的語句都報錯了,最好調好的系統中,呼叫mod_webapp.so就這麼一句話。

為了測試還要在末尾新增

WebAppConnection warpConnection warp localhost:8008

WebAppDeploy examples warpConnection /examples/

WebAppInfo /webapp-info

解釋:在apache+tomcat的應用中,其實是把tomcat作為一個application server。apache把其中的一些請求轉發給tomcat。所以apache和tomcat可以在不同的機器上。配置時只要你把localhost改成tomcat伺服器的IP就可以了,其中的8008是標準的埠,完全可以在tomcat中重新設定。

WebAppDeploy examples warpConnection /examples/

這行是把tomcat中的examples連線到apache上來,也就是使用者請求examples時,請求轉發給tomcat.

編輯 tomcat的配置檔案 server.xml

去掉關於Tomcat-Apache 服務的那段註釋,使connector生效

<!-- Define an Apache-Connector Service --&gt

<!-- (這行刪除)

port="8008" minProcessors="5" maxProcessors="75"

enableLookups="true" appBase="webapps"

acceptCount="10" debug="0"/>

name="Apache" debug="0">

prefix="apache_log." suffix=".txt"

timestamp="true"/>

-- >(這行刪除)

把其中的Apache 給成可以連線tomcat的web server的IP地址,或主機名稱,這裡我是該成了localhost,因為是給本機的apache用的。

起動tomcat

#cd /opt/jakarta-tomcat-4.1.24/bin

#./startup.sh

Using CATALINA_BASE: /opt/jakarta-tomcat-4.1.24

Using CATALINA_HOME: /opt/jakarta-tomcat-4.1.24

Using CATALINA_TMPDIR: /opt/jakarta-tomcat-4.1.24/temp

Using JAVA_HOME: /usr/local/jdk1.4.1

測試:

在IE瀏覽器中敲入 其中的x.x.x.x是你執行tomcat的機器

如果你可以看到tomcat的預設web介面就對了

起動apache

#/etc/init.d/httpd start

Starting httpd: OK ]

在IE瀏覽器中敲入 其中的x.x.x.x是你執行apache的機器

如果你可以看到apache的預設web介面就對了

測試apache+tomcat的整合

在IE瀏覽器中敲入/examples/ < -- 不要丟了/ 不然……

於是你就可以看到jsp 和 servlet的例子了。

其餘的更多的使用配置,大家好好看文件吧。

如果其中有錯誤,請大家指出.調了很多次很多個,可能有記錯的地方

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-937896/,如需轉載,請註明出處,否則將追究法律責任。

相關文章