apache httpd.conf配置详解
- 1.ServerRoot
- 2.PidFile
- 3.Listen
- 4.LoadModule
- 5.User
- 6.Group
- 7.ServerAdmin
- 8.ServerName
- 9.DocumentRoot
- 10.配置页面访问属性
- 11.CustomLog
- 12.ErrorLog
- 13.Alias
- 14.AddDefaultCharset
- 15.ScriptAlias
- 16.Allow和Deny的匹配法则:
1.ServerRoot
ServerRoot:服务器的基础目录,一般来说它将包含conf/和logs/子目录,其它配置文件的相对路径即基于此目录。默认为安装目录,不需更改。
语法:ServerRoot /path/to/directory
例如:ServerRoot "/usr/local/apache"
2.PidFile
PidFile:定义其pid文件所在的位置
语法:PidFile /path/to/apache/pid
例如:Pidfile "/var/run/httpd/httpd24.pid"
3.Listen
Listen:定义apache监听的端口
语法:Listen [IpAddress:]port
例如:Listen *.*.*.* 80
4.LoadModule
LoadModule:加载特定的DSO模块。Apache默认将已编译的DSO模块存放于/usr/local/apache/modules目录结中。
如果想使用某一个DSO模块,需用LoadModule指令进行加载;
语法:LoadModule some_module /path/to/module
例如:LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
5.User
User:设置实际提供服务的子进程的用户。为了使用这个指令,服务器必须以root身份启动和初始化。
如果你以非root身份启动服务器,子进程将不能够切换至指定用户,并继续以启动服务器的原始用户身份运行。
如果确实以root用户启动了服务器,那么父进程将仍然以root身份运行。
语法:User user_name
例如:User daemon #apache默认是以daemon用户的身份执行的
6.Group
Group:设置提供服务的Apache子进程运行时的用户组。为了使用这个指令,Apache必须以root初始化启动,
否则在切换用户组时会失败,并继续以初始化启动时的用户组运行;
语法:Group group_name
例如:Group daemon
7.ServerAdmin
ServerAdmin:设置管理员邮件地址,当apache服务器发生错误的时候,邮件地址就会出现在错误页面上。
语法:ServerAdmin email_address
例如:ServerAdmin 1005969720@qq.com
8.ServerName
ServerName:设置服务器用于辨识自己的主机名和端口号。
语法:ServerName 主机名[:port]
例如:ServerName www.example.com
9.DocumentRoot
DocumentRoot:设置网站根目录,服务器会将请求中的URL附加到DocumentRoot后面以构成指向文档的路径。
语法:DowumentRoot /path/to/someFile
例如:DocumentRoot "/web/a.com/htdocs"
10.配置页面访问属性
<Direcrory "/path/to/somewhere">
Options:
Indexes:缺少指定的默认页面时,允许将目录中的所有文件以列表形式返回给用户;
FollowSymLinks:是否将符号连接所指向的文件打开;
None:所有选项都不启用
All:所有选项都启用
ExecCGI:允许使用mod_cgi模块执行CGI脚本
Includes:允许使用mod_include模块实现SSI(服务器端包含)
MultiViews:允许使用mod_negotiation(协商),实现内容协商
SymLinksifOwnerMatch:在链接文件属主数组与原始文件的属主属组相同时,允许跟随符号链接所指向的原始文件;
</Direcrory>
注:MultiViews:协商可以这样理解,假如网页有中文的,英文的,阿拉伯文的,而用户需要中文的,则客户端和服务端进行协商,最后把中文的网页发送给用户,这就是协商;
11.CustomLog
CustomLog:定义日志文件的文件名和格式;
语法:CustomLog "/path/to/access_log_file" Format_Name
例如:CustomLog “/var/log/httpd24/a.com/access/www.a.com-access.log combined
12.ErrorLog
ErrorLog:定义错误日志
语法:ErrorLog "/path/to/error_log"
例如:ErrorLog "/var/log/httpd24/a.com/error/www.a.com-error.log"
13.Alias
Alias:设置路径别名
语法:Aliase /alias/ "/path/to/somewhere/"
这意味着访问http://Server_IP/alias时,其页面文件来自于/path/to/somewhere/这个位置
例如:Aliase /images/ "/www/htdocs/imgs/"
访问:http://192.168.180.100/images/1.gif,就相当于去访问192.168.180.100这台主机的/www/htdocs/images/1.gif
14.AddDefaultCharset
AddDefaultCharset:设置默认字符集
语法:AddDefaultCharset "字符集"
例如:AddDefaultCharset UTF8
15.ScriptAlias
ScriptAlias:设置脚本路径别名
语法:ScriptAlias /URL/ "/path/to/somewhere/"
例如:ScriptAlias /cgi-bin/ "/web/a.com/cgi-bin"
16.Allow和Deny的匹配法则:
Match Allow,Deny Deny,Allow
Deny Deny Deny
Allow Allow Allow
No Match Deny Deny
Allow&Deny Deny Allow
注:allow,deny匹配法则:如果两者都匹配,则后者为默认;例如:Order Deny Allow ;这条指令,Allow为默认;