• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

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

    發布: 2007-5-25 23:40 | 作者: 未知 | 來源: ChinaUnix.net | 查看: 50次 | 進入軟件測試論壇討論

    領測軟件測試網
    最近給朋友裝臺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.





    其中的下載地址.(僅供參考)
    http://apache.te8.com/dist/jakarta/tomcat-4/
    tomcat-4.1.24.tar.gz        (這個解開包就可以直接運行,不用下載原碼在自己編譯,不然tomcat的編譯也很麻煩)
    http://apache.te8.com/dist/jakarta/tomcat-4/source/
    在這里可以下載到 (這個是原碼要自己編譯)
    tomcat-connectors-4.1.24-src.tar.gz

     也可以下載到4.1.18版本

    http://apache.todayisp.com/httpd/old/
    httpd-2.0.40.tar.gz                 

    http://java.sun.com/j2se/1.4.1/download.html
    j2sdk-1_4_1_04-linux-i586-rpm.bin

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

    過程:
    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
    添加
    <role rolename="manager"/>
    <role rolename="admin"/>
    并給一個用戶賦予這兩個用戶角色
    <user username="both" password="tomcat" roles="admin,tomcat,role1,manager"/>
    在其后的使用中你就可以用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是干什么的呢?看看www.apache.org上的解釋
    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 -->
     <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>
    -- >(這行刪除)

    把其中的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瀏覽器中敲入http://x.x.x.x:8080 其中的x.x.x.x是你運行tomcat的機器
    如果你可以看到tomcat的缺省web界面就對了

    起動apache
    #/etc/init.d/httpd start
    Starting httpd:   OK  ]
    在IE瀏覽器中敲入http://x.x.x.x 其中的x.x.x.x是你運行apache的機器
    如果你可以看到apache的缺省web界面就對了
    測試apache+tomcat的整合
    在IE瀏覽器中敲入http://x.x.x.x/examples/ < -- 不要丟了/ 不然……

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


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

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


         

     shuoshuo 回復于:2003-07-31 10:31:34
    謝謝。正需要那。
    現在問個問題,我在mod_webapp.so時候:
    # ./support/buildconf.sh 提示
    --- Checking "autoconf" version
    autoconf not found.
    autoconf version 2.52 or newer required to build from CVS.

    我找了個2.52的autoconf  rpm包裝上,仍然報此錯誤。

    我的是redhat8 自帶,其它東西完全同上面描述.

     shuoshuo 回復于:2003-07-31 11:21:47
    問題解決,按樓主的步驟一步一步配置成功,感謝樓主分享。

    那個問題偶修改buildconf.sh,有關檢測autoconf的全部注釋掉
    最后使用autoconf的地方改為絕對路徑。

    總算過去了……

     peng 回復于:2003-07-31 12:15:35
    Apache的編譯:以下通用的編譯選項能滿足以后任意模塊的安裝:
    ./configure --prefix=/another_driver/apache/ --enable-shared=max --enable-module=most
    比如:
    ./configure --prefix=/home/apache/ --enable-shared=max --enable-module=most


    解釋:
    --prefix=/another_driver/apache/:建議將apache服務安裝在另外一個驅動設備上的目的在于硬盤往往是一個系統使用壽命最低的設備,因此:將服務數據和系統完全分開,不僅能提高了數據的訪問速度,更重要的,大大方便系統升級,應用備份和恢復過程。

    --shared-module=max:使用動態加載方式載入子模塊會帶來5%的性能下降,但和帶來的配置方便相比更本不算什么:比如模塊升級方便,系統升級風險降低,安裝過程標準化等

    --enable-module=most:用most可以將一些不常用的module編譯進來。

    如果不想build so, 也可以這樣:
    ./configure \
    "--with-layout=Apache" \
    "--prefix=/path/to/apache" \
    "--disable-module=access" \
    "--disable-module=actions" \
    "--disable-module=autoindex" \
    "--disable-module=env" \
    "--disable-module=imap" \
    "--disable-module=negotiation" \
    "--disable-module=setenvif" \
    "--disable-module=status" \
    "--disable-module=userdir" \
    "--disable-module=cgi" \
    "--disable-module=include" \
    "--disable-module=auth" \
    "--disable-module=asis

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>