免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4585 | 回复: 9
打印 上一主题 下一主题

[转帖]RedHat7.2下Apache与Tomcat4整合实例 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2002-10-27 10:31 |只看该作者 |倒序浏览
RedHat7.2下Apache与Tomcat4整合实例

摘要
  文章介绍了在RedHat Linux 7.2下装Apache与Tomcat4整合的过程,重点讲述mod_webapp.so的制作方法,以及在虚拟主机环境下的配置、管理和应用。(2002-10-14 12:44:29)

--------------------------------------------------------------------------------
By 淘淘


  在此介绍一下我在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/jakarta-tomcat-4.0/release/v4.1.12/bin/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与Tomcat4的整合

  1、首先安装Apache,

  请注意Apache必须安装DSO模式,即在执行./configure时须加上 --enable-module=so

  默认安装到/usr/local/apache目录下。本例安装的apache的版本是1.3系列的。

  2、制作mod_webapp.so

  需要以下软件包:

  jakarta-tomcat-connectors-4.x.xx-src.tar.gz

  下载地址在tomcat对应版本的src目录下。例如,我安装的tomcat版本是4.1.12,则现在所需要的软件包的位置是:

  http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.1.12/src/jakarta-tomcat-connectors-4.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/gnome-2-snapshot/redhat-72-i386/autoconf-2.52-ximian.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-1.3/mod_webapp.so /usr/local/apache/libexec



  现在mod_webapp.so已经制作好了,并已经拷贝到apache的libexec目录下。

  编辑apache的配置文件,在最后加上如下几行:


  ==========================
  LoadModule webapp_module libexec/mod_webapp.so
  AddModule mod_webapp.c
  WebAppConnection warpConnection warp localhost:8008
  WebAppDeploy examples warpConnection /examples
  ==========================



  运行以下命令:


  # /usr/local/apache/bin/apachectl configtest



  只要出现“Syntax OK”就表明mod_webapp.so已经安装成功了。

  启动apache


  # /usr/local/apache/bin/apachectl start



  访问http://localhost/examples 就可以看到tomcat的例子程序了。

三、虚拟主机下的配置、管理和应用

  下面以一个例子来说明虚拟主机如何同时使用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 webmaster@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=&quot;Tomcat-Apache&quot; >;

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

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

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

  < Realm className=&quot;org.apache.catalina.realm.MemoryRealm&quot; / >;

  < !-- 下面是新加的内容 -- >;

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

  < !-- 新加内容结束 -- >;

    < /Engine >;

  < /Service >;
  =====================================



  2、编辑tomcat的管理权限文件tomcat-users.xml,在中间加一行:


  < user username=&quot;myname&quot; password=&quot;mypasswd&quot; roles=&quot;standard,manager&quot;/ >;



  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 webmaster@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。

  (如果一直是以root身份运行tomcat,这步可以省略。)


  # chown -R tomcat:tomcat /www/host1/webapps



  5、重起tomcat:


  # su - tomcat -c &quot;/opt/tomcat/bin/shutdown.sh&quot;
  # su - tomcat -c &quot;/opt/tomcat/bin/startup.sh&quot;



  6、重起apache:


  /usr/local/apache/bin/apachectl restart



  此时访问http://host1.mydomain.com/manager/html 会提示输入密码,在输入正确的 myname和mypasswd后,就会看到“Tomcat Web Application Manager”的页面,里面的 Application Path已经是虚拟主机里配置的信息了,并可以对其进行管理。

  到此虚拟主机下的配置和管理就全部完成,剩下的事情就是测试和应用了。在上面的例子

  里我们已经安装了jive,经测试已经可以正常运行。

陶然

论坛徽章:
0
2 [报告]
发表于 2003-01-02 11:09 |只看该作者

[转帖]RedHat7.2下Apache与Tomcat4整合实例

no find  /www?

论坛徽章:
0
3 [报告]
发表于 2003-01-05 21:54 |只看该作者

[转帖]RedHat7.2下Apache与Tomcat4整合实例

不对啊﹐我在RH8.0上只配置了TOMCAT﹐但就是RUN不起来。是不是非得要与APACHE整合才能运行哦?

论坛徽章:
0
4 [报告]
发表于 2003-01-05 22:05 |只看该作者

[转帖]RedHat7.2下Apache与Tomcat4整合实例

tomcat 可以独立跑的...
以前用mod_webapp好像一直跑不起来,后来只好用jakarta上的mod_jk2了....^_^...

论坛徽章:
0
5 [报告]
发表于 2003-03-01 11:52 |只看该作者

[转帖]RedHat7.2下Apache与Tomcat4整合实例

最后与apache整合时,这句话:
WebAppConnection warpConnection warp localhost:8008
是不是应该是
WebAppConnection warpConnection warp localhost:8080
??

我试过整合好像有问题,请指点

论坛徽章:
0
6 [报告]
发表于 2003-03-01 16:34 |只看该作者

[转帖]RedHat7.2下Apache与Tomcat4整合实例

http://192.168.1.71/examples/

WebApp: Error 404
(File: /usr/src/jakarta-tomcat-connectors-4.1.12-src/webapp/lib/wa_request.c Line: 205)

--------------------------------------------------------------------------------
Web-application not yet deployed

是不是mod_webapp.so有问题??

论坛徽章:
0
7 [报告]
发表于 2003-04-23 16:18 |只看该作者

[转帖]RedHat7.2下Apache与Tomcat4整合实例

运行support/buildconf.sh
--- Creating WebApp "configure" script
Creating configure ...
/usr/bin/autoconf: /nfs/users/thunder/cvs/ximian-desktop/autoconf/dest/usr/bin/autom4te: No such file or directory
/usr/bin/autoconf: exec: /nfs/users/thunder/cvs/ximian-desktop/autoconf/dest/usr/bin/autom4te: cannot execute: No such file or directory
????????????

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
8 [报告]
发表于 2003-09-17 19:17 |只看该作者

[转帖]RedHat7.2下Apache与Tomcat4整合实例

解決上面的問題:
1.修正httpd.conf裡面的
ServerName 為 localhost:8008或XXX:8008
反正記得加上:8008就對了..

2.在Tomcat的server.xml裡面尋找
<!--
<Service name="Tomcat-Apache">;
</Service>;
-->;   
把<!-- 與-->;拿掉....
Tomcat-4.1.27要找舊一點的Version把<Service這一段
補上去....因為4.1.27沒這個Service...
用上面寫的copy上去..Tomcat無法啟動

3.重新啟動tomcat與apache...
就可以了繼續設定Virtual host部分了........

论坛徽章:
0
9 [报告]
发表于 2003-11-19 15:51 |只看该作者

[转帖]RedHat7.2下Apache与Tomcat4整合实例

怎么样来实现开机自动启动tomcat(在LINUX下)呀?

论坛徽章:
0
10 [报告]
发表于 2004-01-30 00:07 |只看该作者

[转帖]RedHat7.2下Apache与Tomcat4整合实例

好象mod_jk是用来替代mod_webapp的, 能不能介绍下用mod_jk整合apache和tomcat,还有整合时apache和tomcat个自的版本是不是有一定的要求?我的apache,jdk,tomcat都已经分别配好,但在编译mod_jk时生成了3个文件,一个是mod_jk.so.000, 还有两个是链接到这个文件的,应该是失败了,但不知道是为什么。还有apache如果用rpm包安装, 文件所在的目录和用tar包编译的不一样,能不能把这两种安装方式的整合过程都介绍下,谢谢了。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP