2014-02-24 14:40:01
来 源
ITJS.CN
Apache
本文介绍Linux系统中的Apache服务器配置文件解读,希望对于初学Apache服务器相关的朋友有帮助,更多Apache安装、配置、报错处理等资源请本站内搜索。

如果您是一位Linux爱好者,您可能已经掌握了基本的Linux的知识与操作,毫无疑问, 您并不会去满足这样小小的成就;Linux为何如此的流行?其最大的特点莫过于功能强大,性能稳定的服务器应用了。像WWW,MAIL,FTP, DNS和SMB等;在本文中,我们从Web服务器的一些最基本的操作入手,从初学者使用的态度,让大家正确充分的认识apache(Unix平台最流行的 WEB服务器平台)等服务器;

1. 关于WWW和URL;

WWW是World Wide Web的缩写,翻译过来就是全球广域网,它可以接合文字、图形、影像及声音等多媒体,并通过超文本(HyperText)的方式,将信息通过Internet传递到世界各处;

例 如:在浏览器的地址栏上输入“http://www.linuxsir.org”,就可以登录的linuxsir的网站上浏览信息,其中“http: //www.linuxsir.org”是URL(Uniform Resource Locator ,同一资源定位器),“www.linuxsir.org”是主机名称,也就是DNS中的FQDN(Fully Qualified Domain Name,完全符合标准的域名),即主机名称加上域名所得的一个独一无二的Internet上面的名字。由于计算机仅识别网络中的IP,所 以,linuxsir站的真实IP就是通过DNS解析www.linuxsir.org而找到的,然后经过www的协议将数据传到你的眼前;

1.1 URL的格式;

<协议>://<主机地址>[:端口]/<目录>

1.1.1 协议;

包括http,ftp,news,gopher和telnet几种常见的协议。其中,http是利用“主机的http端口,通常为80端口”,ftp是利用“主机的ftp端口,通常为21端口”。注意:80和21都是主机所提供的服务,而不是客户端的端口。

1.1.2 主机地址;

当输入主机名(域名)时,必须要让该主机名称可以经由翻译器得到对应的IP。翻译器是/etc/hosts或者是/etc/resolv.conf里面的设置对外提供正常的www服务器时,主机名称就必须要让大家可以翻译到IP,这就需要去申请一个合法的域名;

1.1.3 目录;

也 就是URI(Uniform Resource Indicator ,统一资源定位符),如果你要去的网站网页在主页所在目录的下面,那么你直接输入目录与网页的名称,就可以直接取得那个网页的数据。若只输入目录与网页的 名称,并没有输入网页名称,则服务器端会自动地判断(跟服务器自己的设置有关),该目录下是否有设置为默认的网页名称;

1.1.4 端口;

当 连接某个网站时,输入 “http://that.host.name”就会主动地利用端口80来尝试连接对方的主机,但如果不想使用该端口呢。举个例子来说,例如您的网站使用 的是8080端口来进行www的服务,那么除非您使用了防火墙进行端口对应,否则直接在地址栏输入“http://your.host.name”结果将 无法连接到你的www服务器,因为它会主动连接到端口80,所以这里就要告诉浏览器,向服务器请求服务的是哪个端口。即写成 “http://your.host.name:8080”才可以连接到对方的端口8080;

2. www主机系统的类型;

大致上可以分两种:

一种是Windows系统的IIS+MS的SQL+ASP WWW服务器,这种www主机假设上比较容易,不过由于windows的某些特性,所以很容易被黑客所破坏;

另 外一种则是Linux系统上的apache(Unix平台最流行的WEB服务器平台)+MySQL(和PHP搭配之最佳组合) (PostgreSQL)+PHP的www服务器(简称LAMP),这种服务器架设上有一定程度的困难,尤其是在升级与维护方面,但是架设妥当的话,它的 硬件要求、性能、安全性等方面,则相对较佳,下面我们就来主要介绍一下apache(Unix平台最流行的WEB服务器平台)的架设;

2.1 apache(Unix平台最流行的WEB服务器平台)的历史与前景;

1995 年,美国国家计算机安全协会(NCSA)的开发者创建了NCSZ全球网络服务软件,其最大的特点是HTTP精灵程序,它比当时的CERN服务器更容易由源 码来配置和创建,又由于当时其他服务器软件的缺乏,他很快流行起来。但是后来,该服务器的核心开发人员几乎都离开了NCSA,一些使用者们自己成立了一个 组织来管理他们编写的补丁,于是apache(Unix平台最流行的WEB服务器平台) Group应运而生。他们把该服务器软件称为apache(Unix平台最流行的WEB服务器平台)。apache(Unix平台最流行的WEB服务器平 台)源于A patchy server的读音,意思是充满补丁的服务器。如今apache(Unix平台最流行的WEB服务器平台)慢慢地已经成为Internet上最流行的 Web服务器软件了。在所有的Web服务器软件中,apache(Unix平台最流行的WEB服务器平台)占据绝对优势,远远领先排名第二的 Microsoft IIS。如果你对它感兴趣,你可以访问apache(Unix平台最流行的WEB服务器平台)的官方网站:http://www.apache(Unix 平台最流行的WEB服务器平台).org。apache(Unix平台最流行的WEB服务器平台)作为自由软件之一,像其他自由软件一样,他们都是由许许 多多的自由开发人员投入了大量的时间和精力来实现并逐步完善的,所以我们有理由相信apache(Unix平台最流行的WEB服务器平台)的发展前景会更 好。

2.2 apache(Unix平台最流行的WEB服务器平台) 2的安装;

软件的安装并不困难,您可以在www.apache(Unix平台最流行的WEB服务器平台).org上下载源码包进行安装,也可以使用各操作系统自带的软件包管理软件进行安装,比如我的系统是Ubuntu,那么就可以在终端中输入:

[email protected]:~$ sudo apt-get install apache(Unix平台最流行的WEB服务器平台)2

不同的系统有自己的软件包管理方式,其实都大同小异;

2.2.1 使用源代码安装;

(1) 获得源代码

[email protected]:~# lynx http://www.apache(Unix平台最流行的WEB服务器平台).org/dist/httpd/httpd-2_0_NN.tar.gz

NN表示当前所用的版本号

(2) 解压缩

[email protected]:~# gzip -d httpd-2_0_NN.tar.gz

或者

[email protected]:~# tar xvf httpd-2_0_NN.tar

(3) 配置.

[email protected]:~httpd-2_0_NN# ./configure –prefix= /usr/local/apache(Unix平台最流行的WEB服务器平台)

表示apache(Unix平台最流行的WEB服务器平台)将安装在/usr/local/apache(Unix平台最流行的WEB服务器平台)目录下

(4) 编译与安装

[email protected]:~httpd-2_0_NN# make

[email protected]:~httpd-2_0_NN# make install

(5) 测试

[email protected]:~httpd-2_0_NN# /usr/local/apache(Unix平台最流行的WEB服务器平台)/bin/apache(Unix平台最流行的WEB服务器平台)ctl start

3. apache(Unix平台最流行的WEB服务器平台) 2 的配置;

安装完apache(Unix平台最流行的WEB服务器平台)2后,可以在/etc/apache(Unix平台最流行的WEB服务器平台)2/目录下查看文件:

[email protected]:/etc/apache(Unix平台最流行的WEB服务器平台)2$ ls -lh

总用量 35K

-rw-r–r– 1 root root 24K 2007-01-16 02:10 apache(Unix平台最流行的WEB服务器平台)2.conf

drwxr-xr-x 2 root root 104 2007-06-12 21:07 conf.d

-rw-r–r– 1 root root 895 2007-01-16 02:11 envvars

-rw-r–r– 1 root root 0 2007-05-17 17:34 httpd.conf

drwxr-xr-x 2 root root 2.5K 2007-07-18 08:43 mods-available

drwxr-xr-x 2 root root 608 2007-05-17 17:36 mods-enabled

-rw-r–r– 1 root root 10 2007-05-17 17:34 ports.conf

drwxr-xr-x 2 root root 72 2007-05-19 16:47 sites-available

drwxr-xr-x 2 root root 80 2007-05-17 17:34 sites-enabled

3.1 apache(Unix平台最流行的WEB服务器平台)2.conf;

apache(Unix 平台最流行的WEB服务器平台) 2.0的主配置文件为apache(Unix平台最流行的WEB服务器平台)2.conf; 我的配置文件保存在/etc/apache(Unix平台最流行的WEB服务器平台)2/apache(Unix平台最流行的WEB服务器平 台)2.conf;

查看此文件会在第184行附近发现下面的内容:

# Include module configuration:

Include /etc/apache(Unix平台最流行的WEB服务器平台)2/mods-enabled/*.load

Include /etc/apache(Unix平台最流行的WEB服务器平台)2/mods-enabled/*.conf

# Include all the user configurations:

Include /etc/apache(Unix平台最流行的WEB服务器平台)2/httpd.conf

# Include ports listing

Include /etc/apache(Unix平台最流行的WEB服务器平台)2/ports.conf

# Include generic snippets of statements

Include /etc/apache(Unix平台最流行的WEB服务器平台)2/conf.d/

可以看出apache(Unix平台最流行的WEB服务器平台)2 根据配置功能的不同, 对配置文件进行了分割, 这样更利于管理;

3.2 conf.d ;

下为配置文件的附加片断,默认情况下, 仅提供了 charset 片断,

[email protected]:/etc/apache(Unix平台最流行的WEB服务器平台)2/conf.d$ cat charset

AddDefaultCharset UTF-8

如有需要我们可以将默认编码修改为 GB2312, 即文件的内容为: AddDefaultCharset GB2312

3.3 httpd.conf ;

通常是一个空文件,以后设置时可以加入以下指令;

下面我们来看一下httpd.conf中的几条指令,“#”后加入了注释说明;

Port 80 #定义了web服务器的侦听端口,默认值为80,它是TCP网络端口之一。若写入多个端口,以最后一个为准。

User apache(Unix平台最流行的WEB服务器平台) #一般情况下,以nobody用户和nobody组来运行web服务器,因为web

Group apache(Unix平台最流行的WEB服务器平台) # 服务器发出的所有的进程都是以root用户身份运行的,存在安全风险。

ServerAdmin [email protected] #指定服务器管理员的E-mail地址。服务器自动将错误报告到该地址。

ServerRoot /etc/httpd #服务器的根目录,一般情况下,所有的配置文件在该目录下

ServerName new.host.name:80 #web客户搜索的主机名称

KeepAliveTimeout 15 #规定了连续请求之间等待15秒,若超过,则重新建立一条新的TCP连接

MaxKeepAliveRequests 100 #永久连接的HTTP请求数

MaxClients 150 #同一时间连接到服务器上的客户机总数

ErrorLog logs/error_log #用来指定错误日志文件的名称和路径

PidFile run/httpd.pid #用来存放httpd进程号,以方便停止服务器。

Timeout 300 #设置请求超时时间,若网速较慢则应把值设大。

DocumentRoot /var/www/html # 用来存放网页文件

3.4 magic ;

文件中包含的是有关mod_mime_magic模块的数据, 一般不需要修改它;

3.5 ports.conf ;

则为服务器监听IP和端口设置的配置文件,

[email protected]:/etc/apache(Unix平台最流行的WEB服务器平台)2$ cat ports.conf

Listen 80

3.6 mods-available ;

目 录下是一些.conf和.load 文件, 为系统中可以使用的加载各种模块的配置文件, 而mods-enabled目录下则是指向这些配置文件的符号连接, 从配置文件apache(Unix平台最流行的WEB服务器平台)2.conf 中可以看出, 系统通过mods-enabled目录来加载模块, 也就是说, 系统仅通过在此目录下创建了符号连接的mods-available 目录下的配置文件来加载模块。同时系统还提供了两个命令 a2enmod 和 a2dismod用于维护这些符号连接。这两个命令由 apache(Unix平台最流行的WEB服务器平台)2-common 包提供。命令各式也非常简单: a2enmod [module] 或 a2dismod [module]

3.7 sites-available ;

目 录下为配置好的站点的配置文件, sites-enabled 目录下则是指向这些配置文件的符号连接, 系统通过这些符号连接来起用站点 sites-enabled目录下的符号连接附有一个数字前缀, 如000-default, 这个数字用于决定启动顺序, 数字越小, 启动优先级越高. 系统提供了两个命令 a2ensite 和 a2dissite 用于维护这些符号连接。这两个命令由 apache(Unix平台最流行的WEB服务器平台)2-common 包提供;

3.8 /var/www ;

默认情况下将要发布的网页文件应该置于/var/www目录下,这一默认值可以同过主配置文件中的DocumnetRoot 选项修改

4. apache(Unix平台最流行的WEB服务器平台)的管理;

4.1 启动和停止apache(Unix平台最流行的WEB服务器平台);

[email protected]:/#/etc/init.d/apache(Unix平台最流行的WEB服务器平台)2 start

[email protected]:/#/etc/init.d/apache(Unix平台最流行的WEB服务器平台)2 stop

4.2 apache(Unix平台最流行的WEB服务器平台)的日志文件;

apache(Unix 平台最流行的WEB服务器平台)的日至文件主要包括访问日志和错误日志。访问日志记录了该服务器所有的请求的过程,主要记录的是客户的信息,通过它我们可 以知道什么人访问了该网站,什么时候访问的,访问的内容是什么等等。错误日志则是记录了服务器出错的细节和如何处理等。日志文件的位置是由上述主配置文件 httpd.conf来规定的。下面举一个例子来说明它的格式:

一条错误信息:

[Mon sep 22 14:32:52 2003] [error] [client 127.0.0.1] client denied by server configuration: /export/home/live/ap/htdocs/test

下面我们来看看这个错误信息都表示什么:

[Mon sep 22 14:32:52 2003] #错误发生的时间

[error] #表示错误的级别。有debug,info,notice,warn,error,crit,alert,emerg,这些级别由低到高表示了错误的严重性

[client 127.0.0.1] #表示客户端IP地址

client denied by server configuration: /export/home/live/ap/htdocs/test #标是错误的具体信息

访问日志的写法:

127.0.0.1 - xiaop [22/sep/2007:13:55:36 -0800] “GET /apache(Unix平台最流行的WEB服务器平台)_pb.gif HTTP/1.0″ 200 2326

注:

127.0.0.1 #表示访问这台服务器的客户端IP地址。

xiaop #表示用户的登录名。

[22/sep/2003:13:55:36 -0800] #服务器完成客户端请求的时间,格式为[日/月/年:小时:分钟:秒 时区]

“GET /apache(Unix平台最流行的WEB服务器平台)_pb.gif HTTP/1.0″ #表示客户端访问该资源所使用的方法

200 #记录的是服务器返回给客户的状态码; 200表示成功,以4打头的表示访问出错

2326 #表示发给客户端的总字节数。若是“—”表示没有找到访问资源

但在实际应用中,对于大型网站,日志文件往往增长的很快,不利于我们查询,降低服务器的效率,而且占用大量的磁盘空间,所以我们必须对日志进行定期的维护;

5. 配置虚拟主机;

虚 拟主机是在一台www服务器上为多个单独的域名提供www服务,每个域名具有自己的目录和配置,相当于将一台主机分为多台主机,虚拟主机技术对于主机数量 不足,但又想为不同的用户提供独立的Web服务的需求非常有效。而对于一个公司,利用价格昂贵的服务器只提供一种域名服务,似乎是不明智的,而现在越来越 多的公司喜欢在一台服务器上使用多个域名服务,架设不同的网站,这样做的好处是显而易见。

apache(Unix 平台最流行的WEB服务器平台)有两种方式支持虚拟主机,一种是基于IP的虚拟主机,另一种是基于名字的虚拟主机。基于名字的虚拟主机使用相同的IP地址 来配置不同的虚拟主机,这就弥补了因IP地址不足而带来的问题。基于名字的虚拟主机的配置相当简单,你只需配置你得DNS服务器使每个主机名对应正确的 IP地址,然后再配置 apache(Unix平台最流行的WEB服务器平台) HTTP Server使它能认识不同的主机名就可以了。

假 设我们组建了一家多媒体制作公司,有一台apache(Unix平台最流行的WEB服务器平台)服务器和一个IP地址:192.168.1.1 要运行两种业务,一种为电子商务网站,域名为www.business.media.com ,另一种为教学网站,域名为www.teaching.media.com 。先在DNS服务器中把域名www.business.media.com和www.teachin….conf就可以了。

NameVirtualHost 192.168.0.1

ServerName www.business.media.com

DocumentRoot /var/www/html/business

ServerName www.teaching.media.com

DocumentRoot /var/www/html/teaching

而 基于IP的虚拟主机则要求使用不同的IP地址来区别不同的虚拟主机,这就要求使用多块网卡,把不同的IP地址捆绑到不同的网卡上,或者在一块网卡上捆绑多 个IP地址。假设我们主机的IP地址为192.168.0.1(www.media.com),另外有两个IP地址别:

ServerAdmin webmaster@ business.media.com

DocumentRoot /var/www/html/business

ServerName www.business.media.com

ErrorLog /var/www/html/business/logs/error_log

TransferLog /var/www/html/business/logs/access_log

ServerAdmin [email protected]

DocumentRoot /var/www/html/teaching

ServerName www.teaching.media.com

ErrorLog /var/www/html/teaching/logs/error_log

TransferLog /var/www/html/teaching/logs/access_log

6. 配置apache(Unix平台最流行的WEB服务器平台)代理;

代理服务器是网络信息服务的中转站。如果我们把apache(Unix平台最流行的WEB服务器平台)代理服务器形象地比喻成代理商的话,消费者向代理商购买东西时,如果代理商有的话,可直接卖给消费者,若没有,则代理商向厂家进货,再卖给消费者。

这样做有以下几点好处:

(1)提高了访问速度;

(2)充当防火墙,增加了安全性;

(3)可以过滤一些不良网站;

(4)具有缓存功能;

(5)节省IP开销;

代理服务器可分为两种类型:客户端代理和服务器端代理;

下面我们在讲解几个指令后举例说明各自的配置方法;

ProxyRequest On/Off #启用或者禁用apache(Unix平台最流行的WEB服务器平台)代理服务。

CacheRoot “/etc/httpd/proxy” #代理缓存的根目录。

CacheSize 5 #代理缓存的大小。

CacheGcInterval 4 #设定运行管理缓存的无用数据搜集程序的时间间隔

CacheMaxExpire 24 #文件过期时间。

CacheDefaultExpire 1 #指定未包含过期信息文件的有效期。

NoCache a-domain.com another-domain.edu #该网站的文件将不被缓存。

6.1 客户端代理的配置;

(1) 修改/etc/httpd/conf/httpd.conf中的相关指令

(2) 修改/etc/httpd/conf/httpd.conf,添加对代理目录的访问控制

Order deny,allow

Deny from all

Allow from .your-domain.com

(3) 重启httpd

6.2 服务器端代理的配置;

服 务器端代理与客户端代理不同,它是在防火墙上安装apache(Unix平台最流行的WEB服务器平台)服务器,使用它提供对WWW服务器的代理访问。这 种方法把WWW服务器与外部隔开,提高了安全性,而对用户来说,好像没有变化一样。假设在内部局域网中 WWW服务器的IP地址为192.168.0.2,防火墙主机内部IP地址为 192.168.0.5,外部IP地址为192.9.202.1。

6.2.1 配置防火墙上的apache(Unix平台最流行的WEB服务器平台);

(1) 在/etc/httpd/conf/httpd.conf中添加虚拟主机。

ServerAdmin [email protected]

DocumentRoot /www/docs/business.media.com

ServerName www.business.media.com

ErrorLog logs/business.media.com-error_log

CustomLog logs/business.media.com-log_common

(2) 配置局域网中的DNS服务器,把www.business.media.com指向192.9.201.1。

6.2.2 配置局域网内部WWW服务器;

在Linux环境下,有一个非常流行的代理服务器软件——Squid。他的功能非常的强大,支持HTTP,FTP,Gopher,SSL,和WAIS等协议的代理,而且设置简单,只需再配置文件中稍稍改动就可以了;

### Section 1: Global Environment

  //当服务器响应主机头(header)信息时显示Apache的版本和操作系统名称

  ServerTokens OS

  //设置服务器的根目录

  ServerRoot “/etc/httpd”

  

  #ScoreBoardFile run/httpd.scoreboard

  

  //设置运行Apache时使用的PidFile的路径

  PidFile run/httpd.pid

  

  //若300秒后没有收到或送出任何数据就切断该连接

  Timeout 300

  

  //不使用保持连接的功能,即客户一次请求连接只能响应一个文件

  /建议用户将此参数的值设置为On,即允许使用保持连接的功能

  KeepAlive Off

  

  //在使用保持连接功能时,设置客户一次请求连接能响应文件的最大上限

  MaxKeepAliveRequests 100

  

  //在使用保持连接功能时,两个相邻的连接的时间间隔超过15秒,就切断连接

  KeepAliveTimeout 15

  

  ##

  ## Server-Pool Size Regulation (MPM specific)

  ##

  # prefork MPM

  # StartServers: number of server processes to start

  # MinSpareServers: minimum number of server processes which are kept spare

  # MaxSpareServers: maximum number of server processes which are kept spare

  # MaxClients: maximum number of server processes allowed to start

  # MaxRequestsPerChild: maximum number of requests a server process serves

  //设置使用Prefork MPM运行方式的参数,此运行方式是Red hat默认的方式

  <IfModule prefork.c>

  

  //设置服务器启动时运行的进程数

  StartServers 8

  

  //Apache在运行时会根据负载的轻重自动调整空闲子进程的数目

  //若存在低于5个空闲子进程,就创建一个新的子进程准备为客户提供服务

  MinSpareServers 5

  

  //若存在高于20个空闲子进程,就创建逐一删除子进程来提高系统性能

  MaxSpareServers 20

  

  //限制同一时间的连接数不能超过150

  MaxClients 150

  

  //限制每个子进程在结束处理请求之前能处理的连接请求为1000

  MaxRequestsPerChild 1000

  </IfModule>

  

  # worker MPM

  # StartServers: initial number of server processes to start

  //设置使用Worker MPM运行方式的参数

  <IfModule worker.c>

  StartServers 2

  MaxClients 150

  MinSpareThreads 25

  MaxSpareThreads 75

  ThreadsPerChild 25

  MaxRequestsPerChild 0

  </IfModule>

  

  # perchild MPM

  # NumServers: constant number of server processes

  //设置使用perchild MPM运行方式的参数

  <IfModule perchild.c>

  NumServers 5

  StartThreads 5

  MinSpareThreads 5

  MaxSpareThreads 10

  MaxThreadsPerChild 20

  MaxRequestsPerChild 0

  </IfModule>

  

  //设置服务器的监听端口

  #Listen 12.34.56.78:80

  Listen 202.112.85.101:80

  

  #

  # Load config files from the config directory “/etc/httpd/conf.d”.

  //将/etc/httpd/conf.d目录下所有以conf结尾的配置文件包含进来

  Include conf.dpublic_html>

  # AllowOverride FileInfo AuthConfig Limit

  # Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

  # <Limit GET POST OPTIONS>

  # Order allow,deny

  # Allow from all

  # </Limit>

  # <LimitExcept GET POST OPTIONS>

  # Order deny,allow

  # Deny from all

  # </LimitExcept>

  #</Directory>

  

  //当访问服务器时,依次查找页面Index.html index.htm.var

  DirectoryIndex index.html index.html.var

  

  //指定保护目录配置文件的名称

  AccessFileName .htaccess

  

  //拒绝访问以.ht开头的文件,即保证.htaccess不被访问

  <Files ~ “^.ht”>

  Order allow,deny

  Deny from all

  </Files>

  

  //指定负责处理MIME对应格式的配置文件的存放位置

  TypesConfig /etc/mime.types

  //指定默认的MIME文件类型为纯文本或HTML文件

  DefaultType text/plain

  

  //当mod_mime_magic.c模块被加载时,指定magic信息码配置文件的存放位置

  <IfModule mod_mime_magic.c>

  # MIMEMagicFile /usr/share/magic.mime

  MIMEMagicFile conf/magic

  </IfModule>

  

  //只记录连接Apache服务器的Ip地址,而不纪录主机名

  HostnameLookups Off

  //指定错误日志存放位置

  ErrorLog logs/error_log

  //指定记录的错误信息的详细等级为warn等级

  LogLevel warn

  //定义四中记录日志的格式

  LogFormat “%h %l %u %t “%r” %>s %b “%{ Referer }i” “%{ User-Agent }i”" combined

  LogFormat “%h %l %u %t “%r” %>s %b” common

  LogFormat “%{ Referer }i -> %U” referer

  LogFormat “%{ User-agent }i” agent

  

  //指定访问日志的纪录格式为combined(混合型),并指定访问日志存放位置

  # CustomLog logs/access_log common

  CustomLog logs/access_log combined

  #CustomLog logs/referer_log referer

  #CustomLog logs/agent_log agent

  #CustomLog logs/access_log combined

  

  //设置apache自己产生的页面中使用apache服务器版本的签名

  ServerSignature On

  

  //设置内容协商目录的访问别名

  Alias /icons/ “/var/www/icons/”

  //设置/var/www/icons/的访问权限

  <Directory “/var/www/icons”>

  //MultiViews 使用内容协商功决定被发送的网页的性质

  Options Indexes MultiViews

  AllowOverride None

  Order allow,deny

  Allow from all

  </Directory>

  

  //设置网页邮件服务

  Alias /webmail “/usr/share/squirrelmail”

  

  <Directory “/usr/share/squirrelmail”>

  Options Indexes MultiViews

  AllowOverride None

  Order allow,deny

  Allow from all

  </Directory>

//设置apache手册的访问别名

  Alias /manual “/var/www/manual”

  

  <Directory “/var/www/manual”>

  Options Indexes FollowSymLinks MultiViews

  AllowOverride None

  Order allow,deny

  Allow from all

  </Directory>

  //设置浏览器匹配

  BrowserMatch “Mozilla/2″ nokeepalive

  BrowserMatch “MSIE 4.0b2;” nokeepalive downgrade-1.0 force-response-1.0

  BrowserMatch “RealPlayer 4.0″ force-response-1.0

  BrowserMatch “Java/1.0″ force-response-1.0

  BrowserMatch “JDK/1.0″ force-response-1.0

  BrowserMatch “Microsoft Data Access Internet Publishing Provider” redirect-carefully

  BrowserMatch “^WebDrive” redirect-carefully

  

  #

  # Allow server status reports, with the URL of http://servername/server-s…

  # Change the “.your-domain.com” to match your domain to enable.

  #

  #<Location /server-status>

  # SetHandler server-status

  # Order deny,allow

  # Deny from all

  # Allow from .your-domain.com

  #</Location>

  

  #

  # Allow remote server configuration reports, with the URL of

  # http://servername/server-i… (requires that mod_info.c be loaded).

  # Change the “.your-domain.com” to match your domain to enable.

  #

  #<Location /server-info>

  # SetHandler server-info

  # Order deny,allow

  # Deny from all

  # Allow from .your-domain.com

  #</Location>

  

  //设置APache为代理服务器

  # Proxy Server directives. Uncomment the following lines to

  # enable the proxy server:

  #

  #<IfModule mod_proxy.c>

  #ProxyRequests On

  #

  #<Proxy *>

  # Order deny,allow

  # Deny from all

  # Allow from .your-domain.com

  #</Proxy>

  

  #

  # Enable/disable the handling of HTTP/1.1 “Via:” headers.

  # (“Full” adds the server version; “Block” removes all outgoing Via: headers)

  # Set to one of: Off | On | Full | Block

  #

  #ProxyVia On

  

  #

  # To enable the cache as well, edit and uncomment the following lines:

  # (no cacheing without CacheRoot)

  #

  #CacheRoot “/etc/httpd/proxy”

  #CacheSize 5

  #CacheGcInterval 4

  #CacheMaxExpire 24

  #CacheLastModifiedFactor 0.1

  #CacheDefaultExpire 1

  #NoCache a-domain.com another-domain.edu joes.garage-sale.com

  

  #</IfModule>

  # End of proxy directives.

  

  //设置虚拟主机

  ### Section 3: Virtual Hosts

  #

  # VirtualHost: If you want to maintain multiple domains/hostnames on your

  # machine you can setup VirtualHost containers for them. Most configurations

  # use only name-based virtual hosts so the server doesn’t need to worry about

  # IP addresses. This is indicated by the asterisks in the directives below.

  #

  # Please see the documentation at

  # <URL:http://httpd.apache.org/do…

  # for further details before you try to setup virtual hosts.

  #

  # You may use the command line option ‘-S’ to verify your virtual host

  # configuration.

  

  #

  # Use name-based virtual hosting.

  //指令监听本地计算机上所有的IP地址请求

  #NameVirtualHost *

  

  #

  # VirtualHost example:

  # Almost any Apache directive may go into a VirtualHost container.

  # The first VirtualHost section is used for requests without a known

  # server name.

  #

  #<VirtualHost *>

  //定义虚拟主机的设置,此设置将覆盖前面有的的相同指令

  # ServerAdmin webmaster at dummy-host dot example.com

  # DocumentRoot /www/docs/dummy-host.example.com

  # ServerName dummy-host.example.com

  # ErrorLog logs/dummy-host.example.com-error_log

  # CustomLog logs/dummy-host.example.com-access_log common

  #</VirtualHost>

  //指定DAV加锁数据库文件的存放位置

  <IfModule mod_dav_fs.c>

  # Location of the WebDAV lock database.

  DAVLockDB /var/lib/dav/lockdb

  </IfModule>

  

  Alias /docs “/home/EMU/webmail/docs/”

  

  <Directory “/home/EMU/webmail/docs”>

  Options Indexes FollowSymLinks MultiViews

  AllowOverride None

  Order allow,deny

  Allow from all

  </Directory>

  

  <IfModule mod_dav_fs.c>

  # Location of the WebDAV lock database.

  DAVLockDB /var/lib/dav/lockdb

  </IfModule>

  

  //设置CGI目录的访问别名

  ScriptAlias /cgi-bin/ “/var/www/cgi-bin/”

  

  //由于red hat中不使用worker MPM运行方式,所以不加载mod_cgid.c模块

  <IfModule mod_cgid.c>

  #

  # Additional to mod_cgid.c settings, mod_cgid has Scriptsock <path>

  # for setting UNIX socket for communicating with cgid.

  #

  #Scriptsock logs/cgisock

  </IfModule>

  

  //设置CGI目录的访问权限

  <Directory “/var/www/cgi-bin”>

  AllowOverride None

  Options None

  Order allow,deny

  Allow from all

  </Directory>

  

  //重定向连接

  # Redirect permanent /foo http://www.example.com/bar

  

  //设置自动生成目录列表的显示方式

  //FancyIndexing 对每种类型的文件前加上一个小图标以示区别

  //VersionSort 对同一个软件的多个版本进行排序

  //NameWidth=* 文件名字段自动适应当前目录下的最长文件名

  IndexOptions FancyIndexing VersionSort NameWidth=*

  

  //当使用IndexOptions FancyIndexing之后,配置下面的参数

  //用于告知服务器在遇到不同的文件类型或扩展名时采用MIME编码格式

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。