这是 Apache 服务器主要配置文件。它包含用来指示服务器如何运行的配置指令。查看 http://httpd.apache.org /docs-2.2/ 获得详细信息。
基于 Apache 发行版本的配置文件,最初由 Rob McCool 编写的 NCSA 服务器配置文件。此文件由 Peter Poeml poeml [email protected] 组合而成。
如果可能,避免对这个文件进行更改。它包含的 include 声明和全局设置,可以/应该在您的虚拟主机配置里面重写。
快速入门指南:http://en.opensuse.org/Apache_Quickstart_HOWTO
include 文件概览,按时间顺序:
httpd.conf|
|-uid.conf。 。 。 。 。 。 。 。 。 。 。 。 。 。运行在哪个用户/组下
|-server-tuning.conf。 。 。 。 。 。 。 。 。。。服务器的尺寸(启动多少进程)
|-sysconfig.d /loadmodule.conf。 。 。 。 。 [*]加载模块
|-listen.conf。 。 。 。 。 。 。 。 。 。 。 。 。监听的 IP 地址/端口
|-mod_log_config.conf。 。 。 。 。 。 。 。 。定义日志格式
|-sysconfig.d /global.conf。 。 。 。 。 。 。 [*]服务器范围内的一般设定
|-mod_status.conf。 。 。 。 。 。 。 。 。 。 。限制使用 mod_status(服务器监测)
|-mod_info.conf。 。 。 。 。 。 。 。 。 。 。 。限制访问 mod_info
|-mod_usertrack.conf。 。 。 。 。 。 。 。 。基于Cookie 跟踪用户默认配置
|-mod_autoindex-defaults.conf。 。 。 。 。默认显示服务器生成的目录列表
|-mod_mime-defaults.conf。 。 。 。 。 。 。mod_mime 的默认配置
|-errors.conf。 。 。 。 。 。 。 。 。 。 。 。 。自定义错误响应
|-SSL-global.conf。 。 。 。 。 。 。 。 。 。 。 SSL 配置,应用于默认服务器和全部虚拟主机
|
|-default-server.conf。 。 。 。 。 。 。 。 。设置用来答复非虚拟主机请求的默认服务器
| |-mod_userdir.conf。 。 。 。 。 。 。 。使用 UserDir(如果加载了 mod_userdir)
| `--conf.d/apache2-manual?conf。 。 。添加文档('?' = 如果已安装)
|
|-sysconfig.d/include.conf。 。 。 。 。 。 [*]包含文件(为了在这里包含文件,把名字放在 /etc/sysconfig/apache2 中的 APACHE_INCLUDE_*)
|
|
`-vhosts.d/。 。 。 。 。 。 。 。 。 。 。 。 。 。虚拟主机的配置文件放在这里
`-*.conf。 。 。 。 。 。 。 。 。 。 。 。 。 (*.conf 会自动被包括)
标记为[*]的文件是在服务器启动的时候由 sysconfig 创建而来。这些文件,你应该编辑 /etc/sysconfig/apache2
文件系统布局:
/etc/apache2 /|-charset.conv。 。 。 。 。 。 。 。 。 。 。 。关于 mod_auth_ldap
|-conf.d /
| |-apache2-manual.conf。 。 。 。 。 。 。和 apache2-doc 一起的 conf 文件
| |-mod_php4.conf。 。 。 。 。 。 。 。 。 。 (例)和 apache2-mod_php4 一起的 conf 文件
| `-... 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。由软件包添加的其他配置
|-default-server.conf
|-errors.conf
|-httpd.conf。 。 。 。 。 。 。 。 。 。 。 。 。顶级配置文件
|-listen.conf
|-magic
|-mime.types-> .. /mime.types
|-mod_autoindex-defaults.conf
|-mod_info.conf
|-mod_log_config.conf
|-mod_mime-defaults.conf
|-mod_perl-startup.pl
|-mod_status.conf
|-mod_userdir.conf
|-mod_usertrack.conf
|-server-tuning.conf
|-SSL-global.conf
|-ssl.crl /。 。 。 。 。 。 。 。 。 。 。 。 。 。PEM-encoded X.509 Certificate Revocation Lists (CRL)
|-ssl.crt /。 。 。 。 。 。 。 。 。 。 。 。 。 。PEM-encoded X.509 Certificates
|-ssl.csr /。 。 。 。 。 。 。 。 。 。 。 。 。 。PEM-encoded X.509 证书签名请求
|-ssl.key /。 。 。 。 。 。 。 。 。 。 。 。 。 。PEM-encoded RSA私钥
|-ssl.prm /。 。 。 。 。 。 。 。 。 。 。 。 。 。公共 DSA 的参数文件
|-sysconfig.d /。 。 。 。 。 。 。 。 。 。 。 。这是从 /etc/sysconfig/apache2 创建的文件
| |-global.conf
| |-include.conf
| `-loadmodule.conf
|-uid.conf
`-vhosts.d /。 。 。 。 。 。 。 。 。 。 。 。 。 。把你的虚拟主机配置(*.conf)放在这里
|-vhost-ssl.template
`-vhost.template
全局环境
本节中的指令将影响整个Apache服务器的运作,例如并发请求的数目。
在该用户/组 ID 下运行
Include /etc/apache2/uid.conf
-有多少服务器进程启动(服务器池调节)
-KeepAlive 的用法
Include /etc/apache2/server-tuning.conf
ErrorLog:定义错误日志文件的位置。
如果你不在虚拟主机内指定 ErrorLog 指令,该虚拟主机的错误信息将会记录到这里。
如果你有虚拟主机中指定 ErrorLog,该虚拟主机的错误信息会被记录在该指令指定的地方,而不是这里。
ErrorLog /var/log/apache2/error_log
在 /etc/sysconfig/apache2 产生 APACHE_MODULES
Include/etc/apache2/sysconfig.d/loadmodule.conf
监听的 IP 地址/端口
Include /etc/apache2/listen.conf
预定义的日志格式
Include /etc/apache2/mod_log_config.conf
产生于 /etc/sysconfig/apache2 的全局设置
Include/etc/apache2/sysconfig.d/global.conf
可选 mod_status,mod_info
Include /etc/apache2/mod_status.confInclude /etc/apache2/mod_info.conf
可选的基于 cookie 的用户跟踪
在使用前请阅读相关文档!
Include /etc/apache2/mod_usertrack.conf
配置服务器生成的目录列表
Include/etc/apache2/mod_autoindex-defaults.conf
与文件扩展名关联的 MIME 类型
TypesConfig /etc/apache2/mime.types
默认的类型: text /plain
Include/etc/apache2/mod_mime-defaults.conf
建立(可定制)错误响应
Include /etc/apache2/errors.conf
全局(服务器范围内)SSL 配置,不针对任何虚拟主机
Include /etc/apache2/ssl-global.conf
默认禁止访问整个文件系统
<Directory />Options None
AllowOverride None
Order deny,allow
Deny from all
</Directory>
使用 .htaccess 文件进行重写
AccessFileName .htaccess
从不显示它们
<Files ~ "^/.ht">Order allow,deny
Deny from all
</Files>
客户端请求一个目录时寻找的资源清单
DirectoryIndex index.html index.html.var
主服务器配置
在本节中的指令是关于默认服务器的配置,就是当客户请求的不是虚拟主机的时候,会默认使用以下指令。这些指令可以在 <VirtulaHost> 容器指令内重写。
Include /etc/apache2/default-server.conf
包括您自己的文件的另外一种方法
以下文件从 /etc/sysconfig/apache2 生成,包括在 APACHE_CONF_INCLUDE_FILES 目录和 APACHE_CONF_INCLUDE_DIRS 目录内任意名字的文件
Include/etc/apache2/sysconfig.d/include.conf
虚拟服务器配置
虚拟主机:如果你想在你的服务器上维护多域名或多主机名,你可以设置虚拟主机。大多数配置只使用基于名称的虚拟主机,这样的服务器不需要担心 IP 地址。用星号表示。
请参阅的文件资料 http://httpd.apache.org/docs-2.2/vhosts/ 获得进一步的细节,然后再尝试设置虚拟主机。
你可以使用命令行选项 -S,以验证您的虚拟主机配置。
Include /etc/apache2/vhosts.d/*.conf
注意不要在这里添加您自己的配置:考虑加入你自己的文件(/etc/apache2/httpd.conf.local)把名字放进 /etc/sysconfig/apache2 目录下的 APACHE_CONF_INCLUDE_FILES 文件中。这将使得系统更新更容易:)