QQ在线服务: 风舞残阳风舞残阳 年满19岁年满19岁 小罗小罗 晴天晴天 心雨心雨 叮叮肉叮叮肉 小周小周 小童小童 小破孩小破孩 遥望当年遥望当年

用户导购指南

水货IBM笔记本电脑报价

行货IBM笔记本电脑报价

IBM服务器报价

IBM笔记本电脑配件报价

本周水货IBM笔记本电脑特价

IBM笔记本电脑驱动下载

水货IBM笔记本电脑验机流程

水货IBM笔记本电脑保修政策

IBM笔记本电脑FRU查询

IBM笔记本电脑常见问题

IBM笔记本电脑使用手册

笔记本电脑验机软件

论坛积分使用说明

水货IBM笔记本电脑异地购机流程

笔记本电脑购机经历及现场

贵宾申请入口

贵宾用户FTP入口

查看笔记本配置

水货APPLE苹果笔记本电脑报价

 
发新话题
打印

[linux教程] Apache 的基本配置

Apache 的基本配置

一.Apache的基本配置及说明:
1 {0 S7 @; B! w1 l+ v" S- U" ]8 O8 x5 R% D& m
1.获得Apache:) j8 a/ r' S; M7 B; D  Q2 P
0 e) \; o' X$ z: U. C! \
获得apache源代码最方便的方法是到http://www.apache.org,选择最新的版本。然后,
9 J" i( h" J  q3 u! I, y7 o6 j( ztarxvzfapache_x.x.xx.tar.gz
# X* R, M* L, G9 ]5 F# ^( k0 [1 X, C  E* _' w5 C. J/ Z. s
2.编译Apache
6 q4 B. o4 o+ l+ o# r! y0 @在src目录下7 a/ y3 {9 L9 |
./configure可用./configure--help│less得到帮助,
! \+ h$ K7 L$ k" w7 W, X8 ^make,makeinstall,install
' g; N' T3 p  ]; }: _& d+ _
  k, q, c( o( [; i3 z5 c5 T3.apache的启动和关闭
8 ^2 z' D, e, H6 T) o. u9 p9 gsbin/apachectlstart$ a0 ?8 @7 s+ j3 ?5 H5 m
sbin/apachectlstop% `9 ?, ~* @" ^' P6 [- R
sbin/apachectlrestart(重起)
4 u2 o8 [4 u0 Q& Z* Y
0 B6 u! s& Y( S. K4.一些模块介绍:$ N" M# y  o* a
下列的组模块控制进入和验证$ D7 m' [- V; A
Acess进入控制1 O. o' w; b1 A6 L! b5 ^1 L) m
auth检查Unix-style口令和组文件的基本的验证。( y' \7 H$ x8 P; v# G
auth-anon使用匿名的FTP-styleusernames和口令。
+ w" e- T/ y+ z* }1 Qauth-dbm使用Berkeleydb文件存储usernames,口令,和组信息。如果你有很多usernames并关心性能,这是很有用的。
0 m+ R/ y5 N! @+ ~digest使用HTTP文摘认证,这比基本认证更安全
  G8 _# b2 M+ B% qexpire模块让你定制Expire过期时间7 T0 N/ E6 E* b6 g; T+ {
5 l6 l# P$ W0 g8 t7 K# r- |  S9 t& @
5.Apache1.3的缺省目录布局是:
! m; |" b8 j) v! J6 `; a# P./bin
# }: B; w" k: y- g服务器二进制,apachectl原本
. }# ^) ^9 C  I3 M+ q8 d: q) o./conf* {3 H2 C  `) Q5 ^6 V8 {+ Q; l
Apache配置文件# G! _9 _! G$ g
./include/apache
, B# x9 r1 Z; p  IApache标题文件
9 Y* \: y7 S6 e& i: h2 t./libexec, r  K( a" f, u
共用的对象文件
. H( b3 f% P! p( `9 h+ X5 J) o0 z./man( s% [4 n+ s& w
man页
& X1 D3 ]! C3 u" W* ?./sbin7 `9 `! T" A8 z8 ]7 e4 N
服务器二进制,apachectl原本,logrotator* D: o; E: Q) C
./cgi-bin
. `+ G6 ^7 A+ G1 V缺省CGI原本/二进制的目录
  T, j. D2 O, U) }. b) E./share/htdocs
) \" M6 l1 v* f. C( A缺省文件根' p& U; V6 u, e) H1 ?
./htdocs/manual) C8 _5 y1 ]  B' e/ U8 @' O
Apache手册: v* L7 O2 ]0 j; C- ?
./share/icon
& X+ b( X* d1 X' |包含各种图标GIFs的目录  ?  {: J4 E& J9 o
./var/apache/log
4 z6 K* C8 ]7 x& Z/ w3 wlog文件的目录
2 O3 F9 G9 E$ p) \' h  I: V2 }- w./var/apache/proxy  j8 W6 m# ?! U, C3 B
proxy缓存目录
3 s3 I+ c& ^9 z- Q; Q, E./var/apache/run7 P5 F$ [! r, q
httpd.pid(包含主要的httpd过程标识符的文件)在此目录
& `6 {/ o$ y1 Z/ Q, S' I! F. w, M1 t( K6 C, R
6.主要文件如下:
7 l" Q0 Q0 l; W- V: w7 Ohttpd.conf,在/usr/local/apache/conf或/etc/httpd/conf下
1 p) p6 X, F. M( O" Q% U& Rapachectl,在/usr/local/apache/bin或/etc/httpd/bin下9 _8 \: U) }3 g8 J, v
access_log,纪录用户访问信息,在../logs里
) Z7 c: T* F5 x+ V: t! o- Oerror_log,纪录用户访问错误信息,也在../logs里
5 R" d% A" k/ D% j
1 b8 G( }" h; o" R7.httpd.conf基本设置2 x7 j/ F) ]$ o# M1 D$ L4 ?
Port,Apache在哪一个TCP端口进行侦听,HTTP的默认端口为80。如果你使用其它端口,你不得不在URLs中指定端口来连接你的服务器,
4 @) n5 o: H7 i7 Z6 ]+ t9 n) A) ]4 c% L4 B6 L6 Q4 C
User,Group由于安全上的原因,在Linux上,可以通过把User和Group都设置成nobody& l7 K5 Z( W, G  x; {6 w# h
$ S0 D- n- T) c" Z: d* D
ServerRoot参数应该是Apache安装的基础。除非你移动了周围的资料,否则其值与你所给定的值一样。9 s5 o/ K. L7 t& W9 W# R

+ c7 h/ D+ C- T$ [) O2 D: D% KServerName,如果你的机器有多个名称或者IP地址,设置Apache表征服务器的名称。* C& S( c+ m' E6 {. r! d- Z, t
1 I% w7 v9 u. P
DocumentRoot是Web树的根目录,
4 `. u- m0 J. O) {+ j7 y& _% L: j
# Z" v* K/ k: G  F, C  yUserDir在启用"username处理请求时,此指令告诉Apache哪个目录追加到用户的主目录(home)。UserDir被设置为public_html。用户将只有基本的网页服务功能
3 v8 }# F  v  k' S% o" @- c
! @' }2 ]6 n2 ]$ k5 S+ q, T0 B%26lt;Directory%26gt;是一个容器指令。%26lt;/Directive%26gt;格式的结束指令。7 y  _9 e4 m5 D( W# _  J
& d/ s5 i- Y& W" R6 f- `
%26lt;Directive%26gt;及相关的%26lt;Files%26gt;和%26lt;FilesMatch%26gt;指令的目的,是为了让你在每个目录或者每个文件的基础上,控制Apache行为的方式。指令放在%26lt;Directory%26gt;中,也适用于子目录。
# h6 C8 o- M8 n9 w8 _6 E* u
/ u5 X* ]2 N, C" y. _; X5 gFollowSymLinks选项,告诉Apache它可以从文档根目录内部到文档根目录外部跟踪符号链接。在文档根目录内部,FollowSymLinks和Indexes都处于开启状态(on)。万一缺省的索引文件(通常为index.html)不存在时,最后允许目录列表显示。0 Q/ ^* [- _1 r4 X' n" [

0 o% c9 r2 Y7 W; M$ LDirectory中,用Options指令你可以控制什么选项是被允许的。
0 H7 k$ W( |8 ~% E, W; T" e$ X3 c; N
) C, k4 M/ V, o& v" SOptions指令:
' I& g2 F2 H  ]7 e& z- c: x4 p1)ExecCGICGI脚本程序能够运行于该目录树。7 X: X& ?1 `0 [9 f2 m: }
2)FollowSymLinks在该目录中,服务器将跟踪符号链接。注意:即使服务器跟踪符号链接,它也不会改变用来匹配不同区域的路径名。注意:如果在区域内设置,该选项会被忽略。* r5 p& @% O3 f! m: r5 \" v4 {9 M3 }
3)Includes服务器端包容被允许。
( M& c; ^9 _* B9 ?4)IncludesNOEXEC服务器端引用被允许,但#exec命令和CGI脚本程序的#include被禁止。
5 m0 ?. d4 i3 {) C* ]5)Indexes如果要求映射到目录的URL和在该目录里没有DirectoryIndex(例如,index.html),那么服务器将返回格式化的目录列表。' K" h1 e; Q% F* q& n
6)MultiViews处理多重浏览内容被允许。$ S) x7 C  \! N. A* e" C
7)SymLinksIfOwnerMatch通过与用户id一样的链接,服务器只跟踪目标文件或者目录所拥有的符号链接。
* O0 ?! K4 j- K! C: d: U8)All除MultiViews外的一切东西。要是没有Options指令,默认为all.
  D% \# g) P1 r2 ]8 r! ^3 n$ x0 U3 W2 ?) t' [# Z; t: r$ }
AccessFileName命令来设置(缺省设置为.htaccess)。在任何目录中,Apache配置指令可被放入一个叫做.htaccess的文件。指令也可应用于目录里的子目录。在访问文件中,  i$ A1 t1 n$ K9 y
0 C5 {- c" J1 ~3 N. D4 n
AllowOverride控制哪个指令将被使用。如果AllowOverride被设置为none。Apache甚至不会检查访问文件。4 V) T) \& N! Q! z8 T

4 e9 j2 ~5 `% A; RAllowOverride参数:
) b5 Z6 s5 p) d2 ^( _1 t5 ^# w1)AuthConfig,授权指令哪一个允许使用;
+ Y' m5 [  A0 O6 C$ D2)FileInfo,用来控制文档型和处理方法的指令;
, i0 U% o. e5 \2 N4 u2 R3)Indexes,使用其中的一个指令来控制目录列表、图标等的显示;
9 @' @7 ~) R4 F7 b3 d3 G4)Limit,允许使用指令来控制主机访问;
! F- P: R% H: O9 o+ A4 _; U# h- o5)Options,使用Options指令中的一个。7 ]# W4 m# v( K

$ o- x8 w$ o# J“allow”和“deny”指令就是用来控制访问的。第三个指令“order”,控制这些指令的使用顺序。如果你把顺序设置成allow,deny,而没有指定哪个主机是被拒绝的话,则所有主机都被假定为禁止访问。在本例子中,allow指令被选中,deny指令被普遍应用。在.htaccess文件或者%26lt;Directory%26gt;指令内,更多典型的配置可能是:6 L+ }8 [+ D; A  W( V5 C- h* R/ y
orderallow,deny7 E4 ?* j, U3 c0 m+ O
allowfromall
/ Q' t( @, l) z: p5 s; Gdenyaaa.com
) s/ [0 x+ ]% H4 }7 H6 {所有主机被允许,除了那些来自aaa.com域的主机。
) W( f' V6 K" z+ V3 w' j" n
$ g! R; N8 p0 t! w! x7 A( M如果相反,/ j9 `: d! |6 _5 ]
orderdeny,allow
8 E9 i: P2 C5 odenyfromall
3 T( D/ V; t8 M1 _: R6 callowfrom11.23.44
9 |5 k9 C1 d$ d$ I) ideny首先被检查。只有来自11.23.44IP网络的主机才被允许访问。它也可能指定网络掩码,参数11.23.44.0/255.255.255.0相当于上面的例子。
: m, M( V3 h0 C5 O  [! J; e$ d; i2 _
二.特殊配置:' m( {# N+ g4 [) [, T0 N) o
1.支持用户个人主页:
8 M9 R$ Q6 n6 v$ c! Y3 a在../conf/httpd.conf中加入8 H+ g1 a# i: T0 _' Y2 r
UserDir/home/*/public_html
) o% J7 d: Q6 N) B8 a* T- P设置用户可以使用CGI等:
9 b- \( {) @+ S" p- s! Y%26lt;Directory/home/*/public_html/cgi-bin%26gt;2 P2 o0 P1 y* h* C  u
optionsExecCGI
. w. [( b' j/ |, R: m0 pSetHandlercgi-bin#如果在全局设置了AddHandlercgi-bin.cgi...,
0 G( {* ~/ V* M& `3 S% K  ^#这儿就不用设了
$ H5 a4 n# a9 J9 O. s7 j: E# R%26lt;/Directory%26gt;' A5 t( ?' I& ~0 K- j4 V) E

" Q* s) B/ z" v; P$ u+ ]3 f2.虚拟主机设置:
+ f9 k+ W# E5 Z, {3 J4 }' e9 k
  ?3 Z' e  r1 O+ M0 {/ @$ B1)基于IP的虚拟主机) \) j. o# s( G" H5 V$ I! p
若该机器的IP地址为192.168.0.2,虚拟的IP为192.168.0.3( s" c: k5 m: L8 `
首先,在一台机器的网卡上绑定多个IP地址去服务多个虚拟主机。% }6 N& o3 x1 v: `) v
#/sbin/ifconfigeth0:0192.168.0.2netmask255.255.255.0broadcast192.168.11.255up% z3 O" S  E# _2 \, E6 x' D
#/sbin/routeadd-host192.168.0.2eth0:0
6 X2 C- C- k0 Q# ~0 R: g
- ?: T; t+ C2 z设置../conf/httpd.conf文件:
. Y3 p, H$ C" B0 |看DocumentRoot是什么,如果为/home/httpd- ^' c* S, h+ O  K
%26lt;VirtualHost192.168.0.3%26gt;- N. |: R* C) }7 u  B# m
DocumentRoot/home/httpd/aaa$ t5 N* u; @: s% r: m6 k
%26lt;/VirtualHost%26gt;* ~0 s6 O- m4 q9 |
6 G( z; d- e/ [* }' Q( d0 Q. {  n
创建目录! L6 Q! R9 R$ s8 O( M2 E1 ]! C
/home/httpd/aaa,
: N' m) a% s5 @& p; l. f7 J
& v5 X, \* t2 S! D, Q% [2)基于名字的虚拟主机:
4 i. j! d/ u2 T/ b" k* m编辑../conf/httpd.conf
( F% |" p' z7 W4 E% f& V- A1 Z4 b7 O! V! q
NameVirtualHost192.168.0.2
9 j+ V' y1 `/ c9 q( o%26lt;VirtualHost192.168.11.2%26gt;* d1 z1 `0 N8 u/ r. I/ A
DocumentRoot/home/httpd/aaa
$ i# E! \7 ~' S- z$ Q: q+ L6 W) ], P$ OServerNameaaa.yourdomain.com
1 W/ Q2 Z0 S/ l) t& G1 I%26lt;/VirtualHost%26gt;' ^# _; O) g& Y2 @
% \% j6 k+ L8 b; u
要有NameVirtualHost在最前面,下面依次为各个虚拟主机,
6 R6 J! ?' r3 p, F8 a; x还需要把aaa.yourdomain.com的DNS都指向IP地址192.168.0.2
* B7 Q) `, O2 O( e4 k6 c. i) h
% g: P; F1 B4 l7 P7 t3.Apache用户认证
! m4 T# G+ s' L+ @基本的Apache用户认证
8 l: _: i0 T% L  A0 f. N9 i1 M4 _假定,对目录/home/aaa下的文件需要做到用户认证,在httpd.conf! N' _4 R5 P1 ]2 U6 I; k
中加入下面的行
2 W) c$ a3 D- S5 p* M$ S; l+ v%26lt;Directory"/home/aaa"%26gt;
! ]0 S& g( v7 b1 Z% aallowoverrideauthconfig0 B! X8 |8 Z2 c( y1 @/ v3 K
orderallow,deny
5 {* p  W3 L0 D% G- R4 G6 @allowfromall. j1 w  D6 ]; I' d
%26lt;/Directory%26gt;
% A% W- L5 t  n' ]4 U* a用在目录/home/aaa下放文件.htaccess,内容如下:
' W2 a  n( {5 u# _8 v' \) aauthname"PleasegivemeyourIDnumberandPassword"# R" m6 n1 z2 W* ~5 {- }% m
authtypebasic$ P! `# q* U: d4 D( D4 }$ {
authuserfile/etc/.passwd% a0 v/ d3 q7 X  b
requirevalid-user
9 g) I7 D2 w) ?7 @0 C  c+ _: I. ^
$ t' P" p. e+ T0 i用htpasswd生成文件/etc/.passwd,
0 E4 e; ]& e: r8 @1 M: @htpasswd-c/etc/.passwdusername3 v3 `: q* [6 o

; L; N! `. m8 ]. v( {# ]$ x本文转自:http://linux.tcpip.com.cn
(※本文搜集自:重庆未来科技 http://www.wlkj.net 重庆IBM笔记本电脑、重庆IBM水货笔记本电脑、重庆苹果笔记本电脑、重庆IBM服务器专卖)

TOP

发新话题