RedHat7.2下Apache与Tomcat4整合实例

RedHat7.2下Apache与Tomcat4整合实例 在此介绍一下我在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 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 ............. ===================================== 现在要让虚拟主机host1能同时使用Apache与Tomcat4,需要做如下配置: 1、编辑tomcat的配置文件server.xml,在最后的部分做如下修改: ===================================== ===================================== 2、编辑tomcat的管理权限文件tomcat-users.xml,在中间加一行: 3、编辑apache的配置文件,做如下修改: ===================================== LoadModule webapp_module libexec/mod_webapp.so AddModule mod_webapp.c WebAppConnection warpConnection warp localhost:8008 NameVirtualHost 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。 ............. ===================================== 4、将tomcat用户设成/www/host1/webapps以下所有目录文件的属主。 要注意的是,以后如果想上传或改动该目录以下的文件,都要将其属主改成tomcat。 (如果一直是以root身份运行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,经测试已经可以正常运行。 陶然 2002/10/10 需要补充的要点: 1、httpd.conf里有一行ServerName必须指定,如果主要域名都写在虚拟主机配置里了,那就写个“ServerName localhost”。 2、下面几行必须放在httpd.conf里一般配置的最后(特别是在ServerName的后面),虚拟主机配置之前。 LoadModule webapp_module libexec/mod_webapp.so AddModule mod_webapp.c WebAppConnection warpConnection warp localhost:8008 WebAppDeploy examples warpConnection /examples 3、后面再加一行“WebAppInfo /webapp-info”就可以看整个服务器上(包括虚拟主机上)的应用发布情况了。 再补充很重要的一点: tomcat安装之后,在server.xml里Tomcat-Apache的这一段默认是注释掉的,必须要先去掉注释!!!才能和apache进行通讯。 检测方法可以用netstat -an查看8008端口是否已经开启。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值