httpd.conf是Apache的配置文件,Apache中的常见配置主要都是通过修改该文件来实现的,该文件更改后需要重启Apache服务使更改的配置生效。下面是httpd.conf文件在安装后的默认设置,与Apache网络和系统相关的选项如下所示。
#使用ServerRoot参数设置Apache安装目录
ServerRoot "/usr/local/apache2"
#使用Listen参数设置Apache监听端口
Listen 80
<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>
#使用User参数设置Apache进程的执行者
User daemon
#使用Group参数设置Apache进程执行者所属的用户组
Group daemon
</IfModule>
</IfModule>
#使用ServerAdmin参数设置网站管理员的邮箱地址
ServerAdmin [email protected]
与Apache文件和目录权限相关的选项如下所示。
#使用DocumentRoot参数设置网站根目录
DocumentRoot "/usr/local/apache2/htdocs"
#使用Directory段设置根目录权限
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
#使用Directory段设置/usr/local/apache2/htdocs目录权限
<Directory "/usr/local/apache2/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
# 设置首页为index.html
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
# .ht后缀文件的访问权限控制
<FilesMatch "^/.ht">
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>
与Apache日志相关的选项如下所示。
#使用ErrorLog参数设置错误日志的位置
ErrorLog "logs/error_log"
#使用LogLevel参数设置错误日志的级别
LogLevel warn
<IfModule log_config_module>
#使用LogFormat参数设置访问日志的格式模板
LogFormat "%h %l %u %t /"%r/" %>s %b /"%{Referer}i/" /"%{User-Agent}i/"" combined
LogFormat "%h %l %u %t /"%r/" %>s %b" common
<IfModule logio_module>
LogFormat "%h %l %u %t /"%r/" %>s %b /"%{Referer}i/" /"%{User-Agent}i/" %I %O" combinedio
</IfModule>
#使用CustomLog参数设置访问日志的位置和格式
CustomLog "logs/access_log" common
</IfModule>
<IfModule alias_module>
ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"
</IfModule>
<IfModule cgid_module>
</IfModule>
#使用Directory段设置/usr/local/apache2/cgi-bin目录权限
<Directory "/usr/local/apache2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
DefaultType text/plain
# mime模块的相关设置
<IfModule mime_module>
TypesConfig conf/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
</IfModule>
# ssl模块的相关设置
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
下面对httpd.conf配置文件中,一些常用配置选项的用法进行解释。
该参数用于指定Apache软件安装的根目录,如果安装时不指定其他目录的话,则Apache默认就是安装在/usr/local/apache2目录下。参数格式如下所示。
ServerRoot [目录的绝对路径]
该参数用于指定Apache所监听的端口,默认情况下Apache的监听端口为80,即WWW服务的默认端口。在服务器有多个IP地址的情况下,Listen参数还可以用于设置监听的IP地址。参数格式如下所示。
Listen [端口/IP地址:端口]
下面是一个示例。
#设置Apache服务监听IP192.168.1.111的80端口
Listen 192.168.1.111:80
User和Group参数用于指定Apache进程的执行者和执行者所属的用户组,如果要用UID或者GID,必须在ID前加上#号。User参数格式如下所示。
User [用户名/#UID]
Group参数格式如下所示。
Group [用户组/#GID]
该参数用于指定Web管理员的邮箱地址,这个地址会出现在系统连接出错的时候,以便访问者能够及时通知Web管理员。参数格式如下所示。
ServerAdmin [邮箱地址]
该参数用于指定Web服务器上的文档存放的位置,在未配置任何虚拟主机或虚拟目录的情况下,用户通过http访问Web服务器,所有的输出资料文件均存放在这里。DocumentRoot参数的格式如下所示。
DocumentRoot [目录的绝对路径]
该参数用于指定记录Apache运行过程中所产生的错误信息的日志文件位置,方便系统管理员发现和解决故障。参数格式如下所示。
ErrorLog [文件的绝对或者相对路径]
该参数用于指定ErrorLog文件中记录的错误信息的级别,设置不同的级别,输出日志信息的详细程度也会有所变化,参数值设置越往右边,则错误的输出信息越简单,建议值为warm。参数格式如下所示。
LogLevel [debug/info/notice/warm/error/crit/alert/emerg]