安装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/apachetomcat -->; /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/j2sdkexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport 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.filesize=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/j2sdksetenv 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)