安装LinuxAS5+httpd+tomcat+mod_jk2步骤
所需安装包(latest version):
j2sdk-1_5_0_13-linux-i586.bin
httpd-2.0.59.tar.gz
jakarta-tomcat-5.0.28.tar.gz
jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
额外安装包:
apr-1.0.0.tar.gz
apr-util-1.0.0.tar.gz
libtool-1.5.6.tar.gz (or the latest version 1.5.10 from [url]http://www.gnu.org/software/libtool/[/url])
安装目录:
j2sdk -->; /home/www/j2sdk
apache -->; /homw/www/apache
tomcat -->; /homw/www/tomcat
1.安装J2sdk1.5.0 , tomcat的运行需要j2sdk支持。
cp /path/to/j2sdk-1_5_0_13-linux-i586.bin /usr/local/
cd /usr/local
chmod +x j2sdk-1_5_0_13-linux-i586.bin
./j2sdk-1_5_0_13-linux-i586.bin
ln -s j2sdk1.5.0_13 j2sdk
2.设置环境变量,java的运行需要设置一下环境变量。
在/etc/profile中设置如下参数:
export JAVA_HOME=/home/www/j2sdk
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
若要立即生效,在shell下边依次执行一遍上边的语句。
输入java -version能看到版本信息,即安装j2sdk成功了。
3.安装Aapache.
必须编译成允许动态加载模块的方式,即在configure时要加--enable-so选项,以便加载mod_jk2.so这个整合模块。
wget [url]http://apache.intissite.com/httpd/httpd-[/url]2.0.59.tar.gz
tar zxvf httpd-2.0.59.tar.gz
./configure --prefix=/home/www/apache --enable-module=most --enable-shared=max --enable-so
make
make install
4.安装Tomcat,最简单是下载binary版本,直接tar -xzvf jakarta-tomcat-x.x.x 即可。
下载地址:http://jakarta.apache.org/site/binindex.cgi
wget [url]http://apache.247available.com/jakarta/tomcat-5/v[/url]5.0.28/bin/jakarta-tomcat-5.0.28.tar.gz
tar zxvf jakarta-tomcat-5.0.28.tar.gz
cp -R jakarta-tomcat-5.0.28 /home/www/
ln -s jakarta-tomcat-5.0.28 tomcat
测试tomcat是否正常:
启动tomcat服务:/usr/local/tomcat/bin/startup.sh
访问 [url]http://ip:8080[/url] 是否看到tomcat页面
关闭:/home/www/tomcat/bin/shutdown.sh
5.tomcat-connectors 用来整合apache和tomcat,编译生成mod_jk2.so模块,apache加载之后,就能将不属于自己的请求转发给tomcat。
***所有步骤中,这步最为复杂。***
选择从source编译生成最符合自己环境的mod_jk2.so 。
下载地址:[url]http://apache.osuosl.org/jakarta/tomcat-connectors/jk2/[/url]
wget [url]http://apache.osuosl.org/jakarta/tomcat-connectors/jk2/source/jakarta-tomcat-connectors-jk2-[/url]2.0.4-src.tar.gz
tar zxvf jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
cd jakarta-tomcat-connectors-jk2-2.0.4-src/
cd jk/native2
#make clean
./configure --with-apxs2=/home/www/apache/bin/apxs
make
不出问题的话:
cd ../build/jk2/apache2/
这里会有一个mod_jk2.so,
用apxs编译mod_jk2.so
#//home/www/apache/bin/apxs -n jk2 -i mod_jk2.so
这步成功后可以在/home/www/apache/modules下看到这个mod_jk2.so文件了。
------------------------------
如果configure通不过,提示:
need to check for Perl first, apxs depends on it...
checking for perl... /usr/bin/perl
configure: error: can't locate libapr
则需安装libapr和libaprutil
wget [url]http://apache.osuosl.org/apr/apr-[/url]1.0.0.tar.gz
wget [url]http://apache.osuosl.org/apr/apr-util-[/url]1.0.0.tar.gz
tar zxvf apr-1.0.0.tar.gz
cd apr-1.0.0
./configure
make
make install
tar zxvf apr-util-1.0.0.tar.gz
cd apr-util-1.0.0
./configure --with-apr=../apr-1.0.0
make
make install
cd /usr/local/apache2/lib/
ln -s /usr/local/apr/lib/libapr-1.so.0.0.0 libapr-1.so
ln -s /usr/local/apr/lib/libapr-1.so.0.0.0 libapr-1.so.0
ln -s /usr/local/apr/lib/libaprutil-1.so.0.0.0 libaprutil-1.so
ln -s /usr/local/apr/lib/libaprutil-1.so.0.0.0 libaprutil-1.so.0
------------------------------
如果make通不过,/path/to/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache2目录下并无mod_jk2.so产生,则需安装新版libtool。
redhat AS 3自带的libtool是
[root@test apache2]# libtool --version
ltmain.sh (GNU libtool) 1.4.3 (1.922.2.111 2002/10/23 02:54:36
这个版本的libtool编译最新的
jakarta-tomcat-connectors-jk2-2.0.4-src
是不会成功的。
wget [url]http://ftp.gnu.org/gnu/libtool/libtool-[/url]1.5.6.tar.gz
tar zxvf libtool-1.5.6.tar.gz
cd libtool-1.5.6
make
make install
[root@test apache2]# /usr/local/bin/libtool --version
ltmain.sh (GNU libtool) 1.5.6 (1.1220.2.94 2004/04/10 16:27:27)
ln -s /usr/local/bin/libtool /home/www/apache/build/libtool
再configure,make就ok了。
6.配置:
修改/home/www/apache/conf/httpd.conf
DocumentRoot "/home/www/apache/htdocs"
<Directory />;
Options None
AllowOverride None
Order deny,Allow
Allow from all
</Directory>;
<Directory "/home/www/apache/htdocs">;
Options Includes FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
XBitHack on
</Directory>;
LoadModule jk2_module modules/mod_jk2.so
DirectoryIndex index.htm index.jsp index.html
<Directory "/home/www/apache/htdocs/WEB-INF">;
Deny from all
</Directory>;
创建/home/www/apache/conf/workers2.properties,内容如下:
在/home/www/apache/logs/下建立新文件shm.file
#touch workers2.properties
#vi workers2.properties
--------------------------------------------------------------------------------------------------------------------------------------------------------
---
[shm]
file=/home/www/apache/logs/shm.file
size=1048576
# Example socket channel, override port and host.
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1
# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
# Uri mapping
[uri:/*]
worker=ajp13:localhost:8009
--------------------------------------------------------------------------------------------------------------------------------------------------------
----
修改/home/www/tomcat/conf/server.xml
在
<Host name="localhost" debug="0" appBase="apps"
unpackWARs="true" autoDeploy="true">;
段中添加:
<Context path="" docBase="/home/www/apache/htdocs" debug="0"
reloadable="true" crossContext="true"/>;
保存退出。
7.测试:
在/home/www/apache/htdocs下创建test.jsp,
内容:
<%@ page import="java.util.*,java.sql.*,java.text.*" contentType="text/html;charset=gb2312" %>;
<%
out.println("test page");
%>;
访问[url]http://IP/test.jsp[/url],内容正常则说明connector正常。
至此配置全部完成。
------------------------------
FREEBSD下JDK环境的设置
配置java环境
我用的root用户,因此需要修改.cshrc文件。
ee ~/.cshrc
在set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin $HOME/bin)这一行前面加上:
setenv JAVA_HOME /home/www/j2sdk
setenv CLASSPATH .:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/jre
然后在set path这一行的那些路径最后面加上jdk的bin路径/home/www/j2sdk/bin,就是下面这样:
set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin $HOME/bin /usr/local/jdk1.5.0/bin)