嵌入式LINUX系统开发教程pdf下载
如果您是一位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,那么就可以在终端中输入:
xiaop@xiaop-laptop:~$ sudo apt-get install apache(Unix平台最流行的WEB服务器平台)2
不同的系统有自己的软件包管理方式,其实都大同小异;
2.2.1 使用源代码安装;
(1) 获得源代码
xiaop@xiaop-laptop:~# lynx http://www.apache(Unix平台最流行的WEB服务器平台).org/dist/httpd/httpd-2_0_NN.tar.gz
NN表示当前所用的版本号
(2) 解压缩
xiaop@xiaop-laptop:~# gzip -d httpd-2_0_NN.tar.gz
或者
xiaop@xiaop-laptop:~# tar xvf httpd-2_0_NN.tar
(3) 配置.
xiaop@xiaop-laptop:~httpd-2_0_NN# ./configure –prefix= /usr/local/apache(Unix平台最流行的WEB服务器平台)
表示apache(Unix平台最流行的WEB服务器平台)将安装在/usr/local/apache(Unix平台最流行的WEB服务器平台)目录下
(4) 编译与安装
xiaop@xiaop-laptop:~httpd-2_0_NN# make
xiaop@xiaop-laptop:~httpd-2_0_NN# make install
(5) 测试
xiaop@xiaop-laptop:~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/目录下查看文件:
xiaop@xiaop-laptop:/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 片断,
xiaop@xiaop-laptop:/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 root@localhost #指定服务器管理员的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和端口设置的配置文件,
xiaop@xiaop-laptop:/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服务器平台);
root@xiaop-laptop:/#/etc/init.d/apache(Unix平台最流行的WEB服务器平台)2 start
root@xiaop-laptop:/#/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 webmaster@teaching.media.com
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 webmaster@business.media.com
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编码格式
转载请注明:谷谷点程序 » Linux下Apache配置文件详解