作者:luyongshou 在此介绍一下我在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 下载后接压到一个目录 "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这个文件的 --> 中的""删掉,其实就是解除注释,因为这个网站是专门用来和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
[email protected] 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"<
[1] [2] 下一页
(出处:http://www.sheup.com)
上一页 [1] [2]