linux下Tomcat 5.0.18 和 Apache 2 安装/集成/配置

linux下Tomcat 5.0.18 和 Apache 2 安装/集成/配置


1,首先apache2。我们使用源代码编译安装:
1.1, 从http://archive.apache.org/dist/httpd/下载httpd-2.0.50.tar.gz,放至Linux服务器中;
1.2, tar zxvf httpd-2.0.50.tar.gz,将包解出来;
./configure -prefix=/usr/local/apache2 -enable-so
make
make install


2,安装JDK。在java.sun.com上下载J2SDK1.4版,安装,并在/etc/profile中加入以下几句,以配置JAVA_HOME和classpath环境变量:
JAVA_HOME=/root/jdk_nb/jdk;export $JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin


3,安装tomcat。在http://archive.apache.org/dist/jakarta/tomcat-5/archive/v5.0.18/bin/上下载
jakarta-tomcat-5.0.18.tar.gz,放至Linux服务器中:
3.1, tar zxvf jakarta-tomcat-5.0.18.tar.gz
在/etc/profile中加入TOMCAT_HOME环境变量;
TOMCAT_HOMT/bin/catalina.sh start直接就能够启动使用。


4,编译和配置mod_jk2。在http://archive.apache.org/dist/jakarta/tomcat-connectors/jk2/中下载jakarta-tomcat-connectors-jk2-src-current.tar.gz,放至LINUX服务器上:
tar zxvf jakarta-tomcat-connectors-jk2-src-current.tar.gz
cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2
./buildconf.sh
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-java-home=/root/jdk_nb/jdk(具体路径根据JDK安装路径调整)
make jk2-build-apxs
cd server/apache2
make -f Makefile.apxs install
成功执行完这几步骤之后,mod_jk2已装好,接下来是配置阶段。


5,Apache配置。打开apache2/conf/httpd.conf:
5.1,更改listen端口,和自己的IP匹配,并加入一句,以载入mod_jk2模块:
Listen 192.168.1.11:80
LoadModule jk2_module modules/mod_jk2.so
5.2,将AddDefaultCharset ISO-8859-1一句注释掉,以根除可能的中文乱码问题;
5.3,在apache2/conf/新写一文档workers2.properties,内容如下:
#---- worker2.properties

[logger.apache2]
level=DEBUG

# Shared memory handling. Needs to be set.
[shm]
file=/usr/local/apache2/logs/shm.file
size=1048576

# Example socket channel, explicitly set port and host.
[channel.socket:localhost:8009]
tomcatId=localhost:8009
port=8009
host=127.0.0.1

# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009

#[status:status]

# Uri mapping

#[uri:/jkstatus/*]
#group=status:status

#[uri:/jsp-examples/*]
#group=ajp13:localhost:8009

#[uri:/servlets-examples/*]
#group=ajp13:localhost:8009

#[uri:/javaapp/*]
#group=ajp13:localhost:8009

#[uri:www.home.net/*.jsp]
#worker=ajp13:localhost:8009

#[uri:10.0.0.10/*]
#worker=ajp13:localhost:8009

#---- end of workers2.properties
当然,也能够删除其中的注释符使其中的uri和worker的配置生效,现在不用这种方式配置是因为找到一个更好的方法:在httpd.conf里面配置:
加入一段VirtualHost在apache2/conf/httpd.conf:


ServerName localhost
DocumentRoot /sol/people/web/admin/
DirectoryIndex index.htm index.html default.htm index.php index.jsp

JkUriSet worker ajp13:localhost:8009

ErrorLog logs/SportOnline_1-err_log
CustomLog logs/SportOnline_1-acc_log common

在VirtualHost之前,加入以下代码,能够从全局避免用户用apache访问WEB-INF目录:


Order allow,deny
Deny from all


6,Tomcat配置。打开tomcat/conf/server.xml,确认以下一段代码没有被注释掉,以使apache能够将jsp请求通过8009端口转至tomcat处理:

debug="0" protocol="AJP/1.3" />

还请确认tomcat的服务端口和apache的服务端口不冲突。本例中apache使用80端口,tomcat使用8080端口。


7,假如linux服务器已安装的有apache服务器,为使不影响我们的apache,需要更改/etc/rc.d/init.d/httpd这个启动脚本文档:
vi /etc/rc.d/init.d/httpd
更改以下三个属性:
将apachectl=/usr/sbin/apachectl改为:
apachectl=/usr/local/apache2/bin/apachectl
将httpd=/usr/sbin/httpd改为:
httpd=/usr/local/apache2/bin/httpd
将CONFFILE=/etc/httpd/conf/httpd.conf改为:
CONFFILE=/usr/local/apache2/conf/httpd.conf
完成之后,能够通过service httpd restart重新启动我们需要的apache服务。

================================================================
这样就能够为每个不同的虚拟主机分别指定使用或不使用jsp功能。
配置完成。