9 T) E6 {7 V/ v/ o8 i: ~ $cd apache_1.3.27 7 d% Z- c! d, t9 K
$./configure--prefix=/home/apache-1.3.27 ) E: `5 g9 I K7 M1 o- O2 K
--with-perl=/usr/local/bin/perl--enable-module=so 7 b5 g0 A! F0 ?6 Q ^ 7 t$ W$ w. P6 Z9 Q 假设perl的解释命令安装在/usr/local/bin目录下,Apache服务安装在/home/apache-1.3.27目录下。 ) k+ r6 \8 O: D# e: D, S: { z! v! ]9 o - L B' S( Y! S$ o$ T! D- p
$make / \5 m" k9 Z$ _
2 o( @9 L' ~" C; H# l7 E4 |6 f
③安装 8 G4 Q: S; ?2 o. B K% J* P # g! l) K: F( S $su ; \0 V# m8 C3 D6 D/ I
#make install 3 I I ~0 |* e: ^2 o2 |; R
& K$ N" v0 M7 A. Q* g$ v8 q" h 2)编译与安装mod_jk插件 ' E; `% O8 }$ U, f ) L$ C! O# ]9 w% E. K ①解包 n* }$ X, B# a2 L % r; k1 f! l7 ^7 R* ? $/usr/local/bin/gzip-dcjakarta-tomcat-4.1.12-src.tar.gz|tarxf- 4 X- P5 Q: ]. T. K \/ k: U. G
( {# b6 l7 Y: F$ w ②编译 - g% F# Z5 a2 L $ _# \) x5 N' ~ $cd jakarta-tomcat-4.1.12-src/src/native/apache1.3 . w+ N5 e9 T* I' T
$/home/apache-1.3.27/bin/apxs-omod_jk.so-D SOLARIS-I../jk-I/ " a9 F% v- I p2 Z, r+ p5 k2 H
usr/java1.3/include-I/usr/java1.3/include/solaris-lposix4-c*.c../jk/*.c 7 d8 Z9 K) i5 G6 G2 @ ' l3 N) e* l9 H) b: X& g
假定Java安装在/usr/java1.3目录下。 ! Y T2 }9 C! I3 y K n; Y2 ~
' w4 H3 w7 S$ R, ^' P8 D, E) @5 y
③安装 # H) b! d- j% ~$ v/ J7 B6 y4 e
+ e! v6 @, I/ K' i6 X3 ~1 X $su 0 v: J# D5 u3 u% C" p #/home/apache-1.3.27/bin/apxs-i-a-njk mod_jk.so # V7 i- F8 o6 z: f: T cp mod_jk.so/home/apache-1.3.27/libexec/mod_jk.so 1 _1 [ t' o; Y) t& S2 Z( J/ v6 t: D
chmod 755 /home/apache-1.3.27/libexec/mod_jk.so & f# w+ l. J+ y0 L: F1 Y [activating module`jkin/home/apache-1.3.27/conf/httpd.conf] ! N f" G/ H- P$ y0 F2 A; y
" y+ C* g5 p" B& M+ p" I, s# e
3)安装Tomcat服务 7 s8 e* ^' y4 Z) b& Y ! M+ a" m7 I) C/ Z" |+ n
用超级用户身份把已编译的Tomcat4.1.12解包到/home目录下即可。 7 _# G" ^9 e7 Y( ?& x
$ y' z' V9 e: E9 |& l: i $su * [1 D+ [; d6 Z& U$ P% q
#/usr/local/bin/gzip-dcjakarta-tomcat-4.1.12.tar.gz|(cd/home;tarxf-) * O& h- L% s' S- Z3 c, v - S; _0 Q& Y1 x. O" F9 E1 v3 | 3、参数配置 . x+ s* l( s C. ^0 P
d: Z! t2 R" r9 y$ L4 b
(1)配置Apache服务 . Z" K! i8 h" L0 F& V( t `$ [# u# q5 X
用vi命令打开Apache的配置文件httpd.conf。 + h6 E) V) B1 ~# h' v V3 u; o) `$ D1 u( _5 t' f x #cd /home/apache-1.3.27/conf ! I6 b" y- u. `, J& k, Z3 f% s #vi httpd.conf 2 N) ], o7 M+ L1 P3 Q' J7 y& D" x; G
$ P( n4 Y7 ^% }# \
在末尾添加以下内容。 1 s! I- p2 d, v
; N b0 s6 a/ ~. P2 r3 h 这里假定存放Apache的Web网页的根目录为/home/htdocs。 # m5 n. z, L- p9 v9 W
4 z, ]# n1 H: g* o$ l. I0 e( d #cd /home/jakarta-tomcat-4.1.12/conf : z3 b5 E6 n6 g7 W: \4 s3 s- n5 {
#vi server.xml - v; \) x4 ^( }" v # o% q& y( h9 U& E+ ^/ a( F 然后,在Connectors部分嵌入如下内容。 9 P$ l; A3 }0 U$ Q1 o9 S ! g& @4 N! n9 p2 m$ X0 M
<ConnectorclassName="org.apache.tomcat.service. 4 Q; [# o/ P/ L6 t- Z: k% Z PoolTcpConnector"><Parametername="handler" 9 |6 ^* E! k+ l1 |7 V0 K value="org.apache.tomcat.service.connector.Ajp " E5 |4 w! f* |3 w n$ {# A2 e
13ConnectionHandler"/> . ^' O6 s- E7 f9 x' g2 `1 Q
<Parametername="port"value="8007"/> / J# @5 m [- Q9 d! Z </Connector> ) F8 ?' I; [+ v* R* ?; x' }' K) P1 O ^/ F, L+ |! K0 L 接着,在SpecialWebapps部分嵌入如下内容。 5 t$ L( Y9 T7 w' M$ Z* B . a' J, { o7 `1 \
<Contextpath="" # Z( B! f0 B. h$ g- w; r5 q9 a# G
docBase="/home/htdocs" ) L' |) d9 }' c+ O% o1 S& h) Z debug="0"> 2 Y7 K+ w* E+ B: H- a- ~! h: `2 c </Context> ' s* u6 d7 C/ l- ^3 e: G$ |! R8 ] % |5 y* ? }# U" \4 w% V3 n 修改workers.properties文件。 ! s5 X q1 h& q% N9 T9 f , u# u$ v& E0 j- t. L! k( \ #vi workers.properties 4 j$ m/ d2 d& E( }$ C
... 7 S0 v" R* U8 y" ? [' s/ T workers.tomcat_home=/home/jakarta-tomcat-4.1.12 7 o/ T0 J$ i% t" C
... 6 ^: P7 _2 \% h3 }2 s: z# g2 h
workers.java_home=/usr/java1.3 4 @+ Z! W# |% y
... * e0 O8 L3 X# p5 `. V: c
ps=/ $ r+ o; [# J+ T% _: I$ L& e ... 9 i' D7 b! W, L
3 B( h( S% k! r9 D" U 随后,修改Tomcat启动和关闭命令文件。 + p( G+ H# J* o8 t/ ~/ Q1 C - k! w! Q* g! T( c) L! _' Q3 ^
#cd ../bin % Z: H& j( j9 U" _) ]$ N* F- C$ \
#vi startup.sh $ J) i9 L: J+ q7 O @ , C" `5 f V. i$ p: ^+ ^ b2 T 再在"BASEDIR=`dirname$0`"语句前嵌入如下内容。 ' f# m S7 D6 V7 L+ i' S& ?
2 S+ D0 X' u1 z V: I
PATH=/usr/java1.3/binPATH:. ) o! W( R/ l6 O JAVA_HOME=/usr/java1.3 + W% c4 G; C$ A7 h
TOMCAT_HOME=/home/jakarta-tomcat-4.1.12 & ~! r1 S+ ^- W4 L Export PATH JAVA_HOMETOMCAT_HOME J+ t$ C1 ^ ?$ U* J% w; P- d* @ #vi shutdown.sh & m, {' F4 v& q2 W " G. X6 c! B7 v
最后,在"BASEDIR=`dirname$0`"语句前嵌入如下内容。 / i8 a# C$ O$ X" p; r9 } - b3 P' Q& z i. [ PATH=/usr/java1.3/binPATH:. 1 Q( I( k* X6 k, i" N* |# L
JAVA_HOME=/usr/java1.3 % T/ v) x$ P! S: O5 t6 d$ y TOMCAT_HOME=/home/jakarta-tomcat-4.1.12 4 l8 b! d O4 w2 k% ]5 \
Export PATH JAVA_HOMETOMCAT_HOME 6 Z3 Q* H* a& G. f( u* {
b# q* ]1 g, A. K
至此,Apache和Tomcat服务器软件安装成功,上面是在UNIX(Solaris)平台下构建JSP网站的基本配置。Apache与Tomcat结合支持JSP动态网页开始是通过一个名为"mod_jserv"的插件来实现的,采用这种Apache/Jserv方式配置参数十分复杂,运行效率很低,而且对SSL(一种加密传输方式)的支持也不理想,因此Jakarta工作组新近开发了"mod_jk"插件,它很好地弥补了mod_jserv的缺点,而且能支持Apache以外的多种Web服务。关于这种Apache/Jk方式的实现原理,请参考有关资料。 d3 S$ s4 p) i8 x7 c# Z - z( o2 C/ K( u# e* w9 W. y 三、UNIX或LIUNX环境下Web服务器的安全管理与维护 / U& B0 g) Q) ?, ? 1、Apache和Tomcat的启动和关闭 7 m) H( X6 a& x #/home/apache-1.3.27/bin/apachectl start 启动 7 A5 x+ L, T1 H6 g6 q! k #/home/apache-1.3.27/bin/apachectl stop 关闭 & I* Z9 Y. Y$ v- _: P8 Z1 E$ Y #/home/jakarta-tomcat-4.1.12/bin/startup sh 启动 - o' l+ k5 ^8 d2 ~; H5 Z/ | #/home/jakarta-tomcat-4.1.12/bin/shutdown sh 关闭 , x$ G/ I @# L( q
. k9 R( ]5 n( D2 ~7 F/ h# j j 2、Apache和Tomcat的web服务器的安全管理 ]3 v" b% M* C: ]7 `% e( R ) Z1 G$ h/ Y! C
1)Apache和Tomcat都具有支持安全Socket层(SSL)的功能 0 q, ?# i6 B/ x+ z2 w# I
. }6 u! _( ^. F/ t3 ^; ?: g" E3 [$ V 在Tomcat中声明安全性,WEB应用程序的安全性主要在相应的Web.xml中设置,Tomcat支持的鉴权机制为HTTP基本鉴权机制BASIC和基于表单的鉴权机制FROM(JSP网站)。 . {1 Q8 A5 u/ P/ O+ ~; F+ d, F
: @% D* `# S, s8 L. X 过滤是Tomcat 4的新功能,能够用过滤器来实现以前使用不便的或难以实现的功能,这些功能包括: 6 f. M# x0 s- X4 U- y |# [
* Z" M2 ]3 T1 {- [3 |5 K4 i: A' F 资源访问(Web页、JSP页、servlet)的定制身份认证; " c5 J4 v. m K0 h1 N0 }5 s 应用程序级的访问资源的审核和记录; ( d+ R: Z! [/ Y 应用程序范围内对资源的加密访问,它建立在定制的加密方案基础上 % P0 |( Y+ l' Q3 @4 R/ P