8 u+ d, R" |0 t& G) f+ N8 c ②编译 L5 }" p& I8 \* d) F( S M " e0 i# `( Q7 e q $cd jakarta-tomcat-4.1.12-src/src/native/apache1.3 8 U; }- j4 L' e, |. T $/home/apache-1.3.27/bin/apxs-omod_jk.so-D SOLARIS-I../jk-I/ . j+ o0 K5 g$ X; I: t
usr/java1.3/include-I/usr/java1.3/include/solaris-lposix4-c*.c../jk/*.c 1 R. Q. A& @' G& D7 A
! q! e; r) j/ \/ }# z
假定Java安装在/usr/java1.3目录下。 $ H. J) l0 c" W1 T1 F
6 a m9 q0 R2 I ③安装 ) l) N9 f! \/ \3 d ( x( f" Y; u4 X8 D5 E* n$ s $su * K1 R( C9 R6 y& a: I& F #/home/apache-1.3.27/bin/apxs-i-a-njk mod_jk.so % i( v: \0 B% Y- n
cp mod_jk.so/home/apache-1.3.27/libexec/mod_jk.so 5 E" c' ] Y1 A) d
chmod 755 /home/apache-1.3.27/libexec/mod_jk.so 7 H) K$ n' [6 @6 H" L [activating module`jkin/home/apache-1.3.27/conf/httpd.conf] ) c6 E j7 ?$ y9 c; ~
6 @8 ^! d0 ^6 D8 ~0 E: I0 [
3)安装Tomcat服务 7 w- M. f4 ^3 G( R, T ! Z1 X; J+ e3 J f1 D
用超级用户身份把已编译的Tomcat4.1.12解包到/home目录下即可。 & g2 }2 J3 _$ \8 c* [' {
! `5 Z- t" `6 z. h4 f
$su 0 w+ N; e) z& }, Y- x! @3 ] #/usr/local/bin/gzip-dcjakarta-tomcat-4.1.12.tar.gz|(cd/home;tarxf-) * m1 L3 C! ^( |# U& J 3 K" R% Y" O3 _( w% F
3、参数配置 4 _6 T$ s4 @: a V2 z
, {) r8 w+ o' D9 V* E& ?8 h (1)配置Apache服务 / n& i5 }4 o M2 ^$ g7 F6 u# G ) h+ t6 I5 d$ @: J- G% @- g$ G 用vi命令打开Apache的配置文件httpd.conf。 : D6 a4 L; S. i5 t
2 }' R" k( j& |1 p Z) M
#cd /home/apache-1.3.27/conf " X I4 ^2 R0 G/ U& n5 h7 M8 L
#vi httpd.conf ( \ o* U; `" B6 W( H6 P
9 j6 ?8 J5 f6 f6 |7 _' d& r
在末尾添加以下内容。 ( f/ P5 J# |8 T1 Z4 J3 s
8 \( m7 h! e; ?
JkWorkersFile/home/jakarta-tomcat-4.1.12/conf/workers.properties + D; n5 ?7 k) F! h4 q3 i: e' a
JkLogFile/home/apache-1.3.27/logs/mod_jk.log : L1 Y) k9 D$ ]9 K. b1 } ; N1 V8 ]# @$ N) K
注意:日志文件可根据具体情况调整。 ! e3 Q$ @8 K. M - H' I/ q0 ^! ^4 J JkLogLevelwarn 5 s; n5 Q+ u. N
JkMount/*.jspajp13 ' i: R& r1 B. q) Q( Q JkMount/servlet/*.jspajp13 , B5 b# U9 |( {$ h 6 N7 Y: O+ ~7 F T# c b4 I( j (2)配置Tomcat服务 6 }* |7 T% x& O2 z, P
1 r) O9 H8 u7 c: t( N5 N6 y% I
首先,修改server.xml文件。 1 F" z7 Z$ V, Z. Z! }7 K" u
, e5 E0 f/ q% p5 m0 h6 I& l 这里假定存放Apache的Web网页的根目录为/home/htdocs。 0 S$ ~7 m; o, d _
0 c+ F2 i8 ^) e' D1 u0 N
#cd /home/jakarta-tomcat-4.1.12/conf $ r, `6 r% H& F8 i #vi server.xml 2 R e0 k8 w5 _; R6 j 9 B8 N4 o7 z0 o I 然后,在Connectors部分嵌入如下内容。 / v% W7 N0 }9 a3 H
( ]1 Z! e6 ~+ H8 B4 G <ConnectorclassName="org.apache.tomcat.service. * }: ?1 u: H$ w8 Z$ E
PoolTcpConnector"><Parametername="handler" 9 G# I4 z% C4 a/ O x
value="org.apache.tomcat.service.connector.Ajp ) v T D6 b0 a/ \
13ConnectionHandler"/> 3 H. R/ I$ ^$ h <Parametername="port"value="8007"/> . x0 N' R% `6 X: J. h
</Connector> 2 o& M _9 [0 u
1 m5 j5 B# D9 g2 e' c 接着,在SpecialWebapps部分嵌入如下内容。 ( s; f8 G6 M9 X% @* Q
, a M2 n! ?& [7 r1 u% g+ ^ <Contextpath="" 3 V6 R9 b k$ z' X% u+ y docBase="/home/htdocs" & P w' Y# R* L) ?8 G
debug="0"> + a5 S! |$ h) C: s5 \; k </Context> * [$ D/ O8 Z* |; [0 L
* e Z* n' x$ W" p, b 修改workers.properties文件。 4 \( Q ^! J( m. w$ r% H 5 H+ M0 k/ }. y7 }( L+ I! R/ T8 Y
#vi workers.properties + O/ ?) o: g- [6 { ... 6 N5 ? M# k1 p. q3 }* Z8 H' N! t; s workers.tomcat_home=/home/jakarta-tomcat-4.1.12 6 R- l8 i1 M9 L1 [9 E. M) D$ u ... ! B4 `# v5 |0 J/ T6 T4 \! z workers.java_home=/usr/java1.3 / D8 O r/ ?' e0 ]2 Y _, G# L1 o
... ( O( ]7 ]1 [! c- ]8 k V7 c- }& h
ps=/ n7 c2 k7 q: {5 d; a, U% T* {0 x ... & T: u/ P! G( b. u* ~" @7 p2 p
/ V, e( g/ L: C
随后,修改Tomcat启动和关闭命令文件。 9 X6 E# p' O) k
" a! r- B b4 e, {; Y5 }' r
#cd ../bin 4 ^ S9 L# K$ d7 I
#vi startup.sh 2 m4 X9 I P+ u- h- m6 [
# _/ W2 i6 a4 ~/ m5 n 再在"BASEDIR=`dirname$0`"语句前嵌入如下内容。 7 e2 _+ m) _# ^7 X8 U# z* o0 r
5 a2 x/ m" b' _! U1 x5 R$ K# X0 v1 x
PATH=/usr/java1.3/binPATH:. 2 X8 P! ?5 }' y
JAVA_HOME=/usr/java1.3 ) o& t6 v2 Y+ k TOMCAT_HOME=/home/jakarta-tomcat-4.1.12 , W! g: T: R3 E: e0 S
Export PATH JAVA_HOMETOMCAT_HOME ) Q. o5 k, D* W# m! `) U2 l+ a4 c
#vi shutdown.sh + Y: \: I0 \0 P5 W" M0 X& V- J9 } 9 b+ Q& t' j, j4 r
最后,在"BASEDIR=`dirname$0`"语句前嵌入如下内容。 ; I$ ^- O. u; s4 J4 [$ b4 S- E7 q! @
- m0 Q5 ?9 Y X, P% y; d6 V PATH=/usr/java1.3/binPATH:. 3 X$ J7 H V4 ? t/ G JAVA_HOME=/usr/java1.3 / c- R' n$ y* A: e" D" N) G, y) H TOMCAT_HOME=/home/jakarta-tomcat-4.1.12 2 L U e; r: E& Y+ O+ R& H7 Y Export PATH JAVA_HOMETOMCAT_HOME " \; i# h p/ a0 r
! h2 T p/ w/ I" P
至此,Apache和Tomcat服务器软件安装成功,上面是在UNIX(Solaris)平台下构建JSP网站的基本配置。Apache与Tomcat结合支持JSP动态网页开始是通过一个名为"mod_jserv"的插件来实现的,采用这种Apache/Jserv方式配置参数十分复杂,运行效率很低,而且对SSL(一种加密传输方式)的支持也不理想,因此Jakarta工作组新近开发了"mod_jk"插件,它很好地弥补了mod_jserv的缺点,而且能支持Apache以外的多种Web服务。关于这种Apache/Jk方式的实现原理,请参考有关资料。 5 W+ e8 J2 j) Q3 Z6 I" L4 ? P5 J6 z& j, i7 A k F 三、UNIX或LIUNX环境下Web服务器的安全管理与维护 & A/ ]/ M3 S% u. O 1、Apache和Tomcat的启动和关闭 / y7 s: n/ R T! j$ `- _- M
#/home/apache-1.3.27/bin/apachectl start 启动 ) w1 L( }6 x/ O" Z Q #/home/apache-1.3.27/bin/apachectl stop 关闭 $ E$ _: ~. ^6 z% m- g. k( W, ~ #/home/jakarta-tomcat-4.1.12/bin/startup sh 启动 * ^4 H2 J3 H. @) q #/home/jakarta-tomcat-4.1.12/bin/shutdown sh 关闭 % l; s, ~2 Q0 [6 A . b/ V8 u- x& g+ Y4 M 2、Apache和Tomcat的web服务器的安全管理 I( ` L: I0 m
5 e/ d1 b8 H; J
1)Apache和Tomcat都具有支持安全Socket层(SSL)的功能 * K+ ]$ g; p1 n 9 D8 e5 Y& u& v
在Tomcat中声明安全性,WEB应用程序的安全性主要在相应的Web.xml中设置,Tomcat支持的鉴权机制为HTTP基本鉴权机制BASIC和基于表单的鉴权机制FROM(JSP网站)。 4 R9 M9 A/ @7 ~# R , J1 ^; s# W! w1 V. f4 Q$ Q
过滤是Tomcat 4的新功能,能够用过滤器来实现以前使用不便的或难以实现的功能,这些功能包括: . ?$ X! K+ F1 w% | C
9 z9 P" U, k* L& k7 T5 `, n6 h8 g
资源访问(Web页、JSP页、servlet)的定制身份认证; 1 z* g! U/ f. J9 B# M' Y; @
应用程序级的访问资源的审核和记录; / Y. l5 Q1 l' V1 j7 w9 I 应用程序范围内对资源的加密访问,它建立在定制的加密方案基础上# f9 [) g' d) ~5 f/ I8 G