Javaphua Blog

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            46 Posts :: 5 Stories :: 46 Comments :: 0 Trackbacks

          最新整理apache-2.0.43和tomcat-4.1.12集成

          ---------------------------------------------------------------------------­-----
          作者:luyongshou 2005-02-02 15:04:45 來自:Linux先生  在此介紹一下我在RedHat Linux 7.2下裝Apache與Tomcat4整合的過程,重點講述mod_webapp.so的制作方法,
            以及在虛擬主機環境下的配置、管理和應用,經測試已經成功。希望對各位有所幫助,如有錯誤也請指正。

          一、正確安裝Tomcat4
            必要軟件的安裝,如下:
            1、Java SDK
            版本1.3.1或1.4,建議安裝在/usr/java下,并做一個jdk的軟鏈接。
            如果在裝版本1.3.1的SDK出現問題,請閱讀文檔:http://java.sun.com/j2se/1.3/install-linux-sdk.html
            2、Tomcat4
            建議安裝最新release版本的二進制文件安裝包。當前最新的tomcat版本是4.1.12。
            下載地址:
            http://jakarta.apache.org/builds/ja...t-4.1.12.tar.gz
            下載后接壓到一個目錄 "tar xvzf jakarta-tomcat-4.1.12.tar.gz"
          本例將tomcat安裝在/opt目錄下,并做了個tomcat的軟鏈接。
            設置如下環境變量并啟用:
            PATH=$PATH:/usr/java/jdk/bin:/usr/java/jdk/jre/bin
            JAVA_HOME=/usr/java/jdk
            export JAVA_HOME
            CLASSPATH="./:/usr/java/jdk/lib:/usr/java/jdk/jre/lib"
            export CLASSPATH
            CATALINA_HOME=/opt/tomcat
            export CATALINA_HOME

            建議單建一個用戶tomcat,將其設成/opt/tomcat以下所有目錄文件的屬主,并由它啟動tomcat:
            # useradd tomcat
            # chown -R tomcat:tomcat /opt/tomcat
            # su - tomcat -c "/opt/tomcat/bin/startup.sh"

            訪問http://localhost:8080/ 應能看到tomcat安裝成功的頁面。

          ===================================================================
          如果想和apache集成需要修改tomcat/conf/server.xml這個文件的

          <!-- Define an Apache-Connector Service -->

          <Service name="Tomcat-Apache">
          <!--
          <Connector className="org.apache.catalina.connector.warp.WarpConnector"
          port="8008" minProcessors="5" maxProcessors="75"
          enableLookups="true" appBase="webapps"
          acceptCount="10" debug="0"/>

          <Engine className="org.apache.catalina.connector.warp.WarpEngine"
          name="Apache" debug="0">

          <Logger className="org.apache.catalina.logger.FileLogger"
          prefix="apache_log." suffix=".txt"
          timestamp="true"/>

          <Realm className="org.apache.catalina.realm.MemoryRealm" />

          </Engine>

          </Service>
          -->
          </Server>

          中的"<!--"和"-->"刪掉,其實就是解除注釋,因為這個網站是專門用來和apache的集成的。

          二、Apache與Tomcat4的整合

            1、首先安裝Apache,
            請注意Apache必須安裝DSO模式,即在執行./configure時須加上 --enable-module=so

            默認安裝到/usr/local/apache目錄下。本例安裝的apache的版本是2.0.43系列的。

            2、制作mod_webapp.so
            需要以下軟件包:
            jakarta-tomcat-connectors-4.x.xx-src.tar.gz
            下載地址在tomcat對應版本的src目錄下。例如,我安裝的tomcat版本是4.1.12,則現在所需要的軟件包的位置是:
            http://jakarta.apache.org/builds/ja...1.12-src.tar.gz
            apr-0.9.1.tar.gz
            下載地址:http://www.apache.org/dist/apr/apr-0.9.1.tar.gz
            autoconf-2.52-ximian.1.i386.rpm
            下載地址:http://rpmfind.net/linux/RPM/helix/...ian.1.i386.html
            先用rpm安裝autoconf-2.52,因為下面的安裝將要用到;
            然后解開jakarta-tomcat-connectors-4.1.12-src.tar.gz,生成jakarta-tomcat-connectors­-4.1.12-src目錄,
            進入jakarta-tomcat-connectors-4.1.12-src/webapp的目錄里,再把apr-0.9.1.tar.gz解到這個目錄下­,
            并把剛生成的目錄apr-0.9.1的目錄名改成apr。
            還是在webapp目錄,運行以下命令:
            # support/buildconf.sh
            此時如果autoconf的版本低于2.52的話會報錯退出,所以必須先安裝autoconf-2.52。
            當命令成功結束后會在當前目錄下生成configure文件。
            依次運行以下命令:

            # ./configure --with-apxs=/usr/local/apache/bin/apxs
            # make
            # cp apache-2.0/mod_webapp.so /usr/local/apache/modules

            現在mod_webapp.so已經制作好了,并已經拷貝到apache的modules目錄下。
            編輯apache的配置文件,在最后加上如下幾行:
           ?。剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑?
            LoadModule webapp_module modules/mod_webapp.so
            WebAppConnection Connector warp localhost:8008
            WebAppDeploy examples Connector /examples
           ?。剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑?

            運行以下命令:
            # /usr/local/apache/bin/apachectl configtest

          如果出現錯誤說你的apache的httpd.conf有問題后面的錯誤是"inviad virual host"

          就說明你的httpd.conf的ServerName沒有設,把ServerName前面的"#"去掉就可以了!(這是差了好多資料才得到的答案,我也是在這­兒困惑了好多天了)

            只要出現“Syntax OK”就表明mod_webapp.so已經安裝成功了。
            啟動apache
            # /usr/local/apache/bin/apachectl start
            訪問http://localhost/examples 就可以看到tomcat的例子程序了。

          注意:一定要先啟動tomcat 然后再重新啟動apache!

          三、虛擬主機下的配置、管理和應用

            下面以一個例子來說明虛擬主機如何同時使用Apache與Tomcat4

            虛擬主機host1的目錄結構如下所示:

            /www               
             |---host1  虛擬主機host1的主目錄
             |  |--htdocs  普通根目錄:用于顯示靜態頁面或php程序
             |  |----logs  apache訪問日志
             |  |----webapps java應用目錄(新加,與tomcat的webapps目錄無任何關聯)
             |     |--ROOT jsp根目錄:用于顯示jsp頁面程序
             |     |----jive 一套java應用實例
             |---host2   虛擬主機host2的主目錄
            ............

            原來的apache的配置文件是這樣配置的:

           ?。剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑?
            NameVirtualHost xxx.xxx.xxx.xxx

            < VirtualHost xxx.xxx.xxx.xxx >
            ServerName host1.mydomain.com
             ServerAdmin webmas...@mydomain.com
             DocumentRoot /www/host1/htdocs
             ErrorLog /www/host1/logs/error_log
            CustomLog /www/host1/logs/access_log common
            < /VirtualHost >
            .............

           ?。剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑?

            現在要讓虛擬主機host1能同時使用Apache與Tomcat4,需要做如下配置:

            1、編輯tomcat的配置文件server.xml,在最后的部分做如下修改:

           ?。剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑?
            < !-- Define an Apache-Connector Service -- >

            < Service name="Tomcat-Apache" >

            < Connector className="org.apache.catalina.connector.warp.WarpConnector"
            port="8008" minProcessors="5" maxProcessors="75"
            enableLookups="true" appBase="webapps"
            acceptCount="10" debug="0"/ >

          < Engine className="org.apache.catalina.connector.warp.WarpEngine"
            name="Apache" debug="0" >

            < Logger className="org.apache.catalina.logger.FileLogger"
            prefix="apache_log." suffix=".txt"
          timestamp="true"/ >

            < Realm className="org.apache.catalina.realm.MemoryRealm" / >

          < !-- 下面是新加的內容 -- >

            < Host name="host1.mydomain.com" debug="0" appBase="/www/host1/webapps"
          uppackWars="true" autoDeploy="true" >
            < Context path="" docBase="ROOT" debug="0"/ >
          < !-- 下面套用的是tomcat自帶的管理頁面,在虛擬主機下也可使用 -- >
          < Context path="/manager" debug="0" privileged="true"
            docBase="/opt/tomcat/server/webapps/manager"/ >
            < Context path="/jive" docBase="jive" debug="0"
          reloadable="true" crossContext="true"/ >
            < Logger className="org.apache.catalina.logger.FileLogger"
          prefix="host1_log." suffix=".txt"
            timestamp="true"/ >
            < /Host >

          < !-- 新加內容結束 -- >

          < /Engine >

            < /Service >
           ?。剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑?
            2、編輯tomcat的管理權限文件tomcat-users.xml,在中間加一行:
          < user username="myname" password="mypasswd" roles="standard,manager"/ >
            3、編輯apache的配置文件,做如下修改
           ?。剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑?
            LoadModule webapp_module libexec/mod_webapp.so
            AddModule mod_webapp.c
            WebAppConnection warpConnection warp localhost:8008
            NameVirtualHost xxx.xxx.xxx.xxx
            < VirtualHost xxx.xxx.xxx.xxx >
            ServerName host1.mydomain.com
             ServerAdmin webmas...@mydomain.com
             DocumentRoot /www/host1/htdocs
             ErrorLog /www/host1/logs/error_log
             CustomLog /www/host1/logs/access_log common

             WebAppDeploy ROOT warpConnection /

            #注:此行的作用是把ROOT目錄作為虛擬主機URL的根,并使前面定義的根htdocs失效。
            #但如果不想整個虛擬主機都使用jsp頁面程序,而想使用大量靜態頁面或php程序的話,
            #就要使用下面這行,并把所有的靜態頁面和php程序放在htdocs目錄下。
            # WebAppDeploy ROOT warpConnection /jsp

             WebAppDeploy manager warpConnection /manager
            WebAppDeploy jive warpConnection /jive
            #在server.xml里每定義一個都要在這里加一條WebAppDeploy。

            < /VirtualHost >
           ?。剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑?

            4、將tomcat用戶設成/www/host1/webapps以下所有目錄文件的屬主。

            要注意的是,以后如果想上傳或改動該目錄以下的文件,都要將其屬主改成tomcat。
           ?。ㄈ绻恢笔且詒oot身份運行tomcat,這步可以省略。)

            # chown -R tomcat:tomcat /www/host1/webapps
            5、重起tomcat:
            # su - tomcat -c "/opt/tomcat/bin/shutdown.sh"
            # su - tomcat -c "/opt/tomcat/bin/startup.sh"
            6、重起apache:
            /usr/local/apache/bin/apachectl restart

            此時訪問http://host1.mydomain.com/manager/html 會提示輸入密碼,在輸入正確的 myname和mypasswd后,就會看到“Tomcat Web Application Manager”的頁面,里面的 Application Path已經是虛擬主機里配置的信息了,并可以對其進行管理。
            到此虛擬主機下的配置和管理就全部完成,剩下的事情就是測試和應用了。在上面的例子
            里我們已經安裝了jive,經測試已經可以正常運行

          posted on 2007-04-03 11:42 Javaphua 閱讀(507) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 富阳市| 西城区| 云霄县| 泽州县| 郓城县| 夹江县| 偃师市| 保靖县| 邹平县| 沂南县| 锡林浩特市| 济南市| 清河县| 区。| 永泰县| 车险| 乐陵市| 普陀区| 会泽县| 建平县| 波密县| 寿宁县| 巫山县| 原平市| 阜宁县| 通渭县| 长治县| 宿迁市| 资溪县| 札达县| 额济纳旗| 平原县| 孟村| 中西区| 台南市| 囊谦县| 韶关市| 泰顺县| 盐山县| 岐山县| 方正县|