Apache配置文件
一.Apache主配置文件为:http.conf文件,下面我们来依次介绍httpd.conf文件中每一项说明
1.1 ServerRoot 配置
【ServerRoot "" 主要用于指定Apache的安装路径,此选项参数值在安装Apache时系统会自动把Apache的路径写入。Windows安装时,该选项的值为Windows安装的路径,Linux安装时该选项值为编译时选择的路径】
1.2 Mutex default:logs
【 】
1.3 Listen 配置
【Listen主要侦听web服务端口状态,默认为:80,即侦听所有的地址的80端口,注意这里也可以写成IP地址的侦听形式,不写即默认的地址:0.0.0.0】
1.4 Dynamic Shared Object (DSO) Support
【主要用于添加Apache一些动态模块,比如php支持模块。重定向模块,认证模块支持,注意如果需要添加某些模块支持,只需把相关模块前面注释符号取消掉。如上图所示,要对Apache添加某个功能模块,把前面的注释符号去掉就行】
1.4 Apache运行用户配置
【此选项主要用指定Apache服务的运行用户和用户组,默认为:daemon,如图所示下】
1.5 Apache服务默认邮件地址设置
【此选项主要用指定Apache服务管理员通知邮箱地址,选择默认值即可,如果有真实的邮箱地址也可以设置此值】
1.6 Apache的默认服务名及端口设置
【此选项主要用指定Apache默认的服务器名以及端口,参数值设置为:ServerName localhost:80即可】
1.6 Apache的根目录访问控制设置
【此选项主要是针对用户对根目录下所有的访问权限控制,默认Apache对根目录访问都是拒绝访问。后面会继续讲到】
1.6 Apache的默认网站根目录设置及访问控制
【此区域的配置文件,主要是针对Apache默认网站根目录的设置以及相关的权限访问设置,默认对网站的根目录具有访问权限,此选项默认值即可】
1.7 Apache的默认首页设置
【此区域文件主要设置Apache默认支持的首页,默认只支持:index.html首页,如要支持其他类型的首页,需要在此区域添加:如index.php表示支持index.php类型首页】
1.8 Apache关于.ht文件访问配置
【此选项主要是针对.ht文件访问控制,默认为具有访问权限,此区域文件默认即可】
1.9 Apache关于日志文件配置
【此区域文件主要是针对Apache默认的日志级别,默认的访问日志路径,默认的错误日志路径等相关设置,此选项内容默认即可】
1.10 URL重定向,cgi模块配置说明
【此区域文件主要包含一些URL重定向,别名重定向等相关设置,以及一些特定的处理程序,比如cgi设置说明。后期会继续说道】
1.11 MIME媒体文件,以及相关http文件解析配置说明
【此区域文件主要包含一些mime文件支持,以及添加一些指令在给定的文件扩展名与特定的内容类型之间建立映射关系,比如添加对php文件扩展名映射关系。后期会继续说道】
Apache配置文件详解之httpd.conf(2)
一. <directory> </directory>语指令句
(说明:<directory>path</directory>主要是对目录文件访问权限的控制)
我们都知道Apache配置文件:httpd.conf文件中有这么几行内容,如下
<Directory /> AllowOverride none Require all denied </Directory>
这几句内容告诉我们Apache默认对根目录的访问权限为拒接所有的访问,并且.htaccess 文件将被完全忽略.
下面我们将为大家详细介绍一下关于<directory> </directory>语句里面的参数的定义
通常<directory> </directory>指令语句包括以下三个定义,如下
<Directory /> AllowOverride None Options None Require all granted </Directory>
1.1 AllowOverride:AllowOverride从字面上解释是允许覆盖的意思,即Apache允许另一配置文件覆盖现有配置文件
AllowOverride None 不读取.htaccess,完全忽视.htaccess文件 AllowOverride all 允许.htaccess所有指令,缺省是all AllowOverride Limit .htaccess函盖具体限定的主机(allow,deny) AllowOverride AuthConfig .htaccess函盖跟认证有关指令(AuthType,AuthName) |
我们通常利用Apache的rewrite模块对URL进行重写,rewrite规则会写在 .htaccess 文件里。但要使 apache 能够正常的读取.htaccess 文件的内容,就必须对.htaccess 所在目录进行配置。从安全性考虑,根目录的AllowOverride属性一般都配置成不允许任何Override,即:
< Directory /> AllowOverride None < /Directory>
AllowOverride的参数:
AuthConfig 允许使用与认证授权相关的指令(AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, 等)。
FileInfo 允许使用控制文档类型的指令(DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, mod_mime中的 Add* 和 Remove* 指令等等)、控制文档元数据的指令(Header, RequestHeader, SetEnvIf, SetEnvIfNoCase, BrowserMatch, CookieExpires, CookieDomain, CookieStyle, CookieTracking, CookieName)、mod_rewrite中的指令(RewriteEngine, RewriteOptions, RewriteBase, RewriteCond, RewriteRule)和mod_actions中的Action指令。
Indexes 允许使用控制目录索引的指令(AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, 等)。
Limit 允许使用控制主机访问的指令(Allow, Deny, Order)。Options[=Option,...] 允许使用控制指定目录功能的指令(Options和XBitHack)。可以在等号后面附加一个逗号分隔的(无空格的)Options选项列表,用来控制允许Options指令使用哪些选项。
如果要多个权限组合使用,用这样的格式写就行了:AllowOverride AuthConfig Indexes
1.2 Option:该参数用于定义对目录的操作权限
option none 禁止对目录的所有操作 option all 允许对目录的所有操作,ALL---所有操作 option ExecCGI 对该目录,可以执行cgi脚本 option Indexes 允许访问该目录(而该目录没有index.html)时,返回目录下的文件列表 option FollowSymLinks 只允许对目录的FollowSymLinks操作 |
请输入内容
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|