分享
 
 
 

RedHat7.2下Apache与Tomcat4整合实例

王朝system·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

在此介绍一下我在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程序

||----logsapache访问日志

||----webapps java应用目录(新加,与tomcat的webapps目录无任何关联)

||--ROOTjsp根目录:用于显示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="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 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 "/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,经测试已经可以正常运行。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有