您的位置:首页 > 理论基础 > 计算机网络

APACHE配置文件中文版 httpd.conf FOR Apache 2.2.4

2007-06-07 10:29 801 查看
综合网上2.0版本的翻译,加入自己的理解,补充完善。

#

# This is the main Apache HTTP server configuration file. It contains the

# configuration directives that give the server its instructions.

# See <URL:http://httpd.apache.org/docs/2.2/> for detailed information.

# In particular, see

# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>

# for a discussion of each configuration directive.

#

# 这是Apache server的主配置文件. 它包含配置指令,来指示服务器。

# 参考 http://httpd.apache.org/docs/2.2/mod/directives.html 了解关于指令的详细信息。

# 另外,参看 http://httpd.apache.org/docs/2.2/mod/directives.html 获取每个配置指令的讨论。

# Do NOT simply read the instructions in here without understanding

# what they do. They're here only as hints or reminders. If you are unsure

# consult the online docs. You have been warned.

#

# 不要仅仅是阅读本指令,而应该理解指令做了什么。在这里仅起提示的作用。

# 如果你不清楚请参阅在线文档。特别提示。

# The configuration directives are grouped into three basic sections:

# 配置文件批令分为三个基本组:

#

# 1. Directives that control the operation of the Apache server process as a

# whole (the 'global environment').

# 1.控制Apache server的全局操作的指令(全局环境变量)。

#

# 2. Directives that define the parameters of the 'main' or 'default' server,

# which responds to requests that aren't handled by a virtual host.

# These directives also provide default values for the settings

# of all virtual hosts.

# 2. 配置主服务或者默认服务的指令,它针对那些被虚拟主机以外的请求作出响应。

# 它也包含虚拟主机的一些默认参数。

#

# 3. Settings for virtual hosts, which allow Web requests to be sent to

# different IP addresses or hostnames and have them handled by the

# same Apache server process.

# 3. 虚拟主机设置,这使得发往不同的ip或者主机名的请求可以被子同一个Apache服务器处理。

# Configuration and logfile names: If the filenames you specify for many

# of the server's control files begin with "/" (or "drive:/" for Win32), the

# server will use that explicit path. If the filenames do *not* begin

# with "/", the value of ServerRoot is prepended -- so "logs/foo.log"

# with ServerRoot set to "E:/usr/Apache2.2" will be interpreted by the

# server as "E:/usr/Apache2.2/logs/foo.log".

#

# 配置和日志文件名:如果你所指定的文件名以“/”(在Win32中以“盘符:/”)开头,

# 服务器将以绝对路径来处理。如果文件名不以“/”开头,则以相对路径处理,

# 相对于服务器根(Serverroot)。因此“logs/foo.log”,如果服务器根目录

# 为“E:/usr/Apache2.2”,则服务器解释为“E:/usr/Apache2.2/logs/foo.log”。

#

# NOTE: Where filenames are specified, you must use forward slashes

# instead of backslashes (e.g., "c:/apache" instead of "c:\apache").

# 注意:在文件名的定义中,必须用正斜杠,而不是反斜杠。(比如,“c:/apache”,而不是“c:\apache”)

#

# If a drive letter is omitted, the drive on which Apache.exe is located

# will be used by default. It is recommended that you always supply

# an explicit drive letter in absolute paths, however, to avoid

# confusion.

# 如果省略了盘符,则以Apache.exe所在的盘符为默认值。建议在绝对路径中明确

# 指定盘符,以避免混乱。

# ThreadsPerChild: constant number of worker threads in the server process

# MaxRequestsPerChild: maximum number of requests a server process serves

# ThreadsPerChild:每个服务进程中的工作线程常数

# MaxRequestsPerChild:服务进程中允许的最大请求数目

ThreadsPerChild 250

MaxRequestsPerChild 0

#

# ServerRoot: The top of the directory tree under which the server's

# configuration, error, and log files are kept.

# 指出服务器保存其配置、出错和日志文件等的根目录

#

# Do not add a slash at the end of the directory path. If you point

# ServerRoot at a non-local disk, be sure to point the LockFile directive

# at a local disk. If you wish to share the same ServerRoot for multiple

# httpd daemons, you will need to change at least LockFile and PidFile.

#

# 不要在目录的末尾加上斜杠。如果你想将ServerRoot指向非本地硬盘上,请添加卷到本地硬盘上。

# 如果你想共享 ServerRoot 给多个HTTPD镜像服务,你必须改变LockFile和PidFile。

#

ServerRoot "E:/usr/Apache2.2"

#

# Listen: Allows you to bind Apache to specific IP addresses and/or

# ports, instead of the default. See also the <VirtualHost>

# directive.

# Listen:允许你绑定Apache服务到指定的IP地址和端口上,以取代默认值。请同时参考<VirtualHost>

# 指令。

#

# Change this to Listen on specific IP addresses as shown below to

# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)

# 像下面那样使Apache只在指定的IP地址上监听,以防止它在IP地址0.0.0.0上监听。

#

#Listen 12.34.56.78:80

Listen 8080

#

# Dynamic Shared Object (DSO) Support

# 动态共享对象(DSO)支持

#

# To be able to use the functionality of a module which was built as a DSO you

# have to place corresponding `LoadModule' lines at this location so the

# directives contained in it are actually available _before_ they are used.

# Statically compiled modules (those listed by `httpd -l') do not need

# to be loaded here.

# 为了能够使用那些以DSO模式编译的模块中的函数,你必须放置相应的“LoadModule”行在这里,以便

# 包含在其后的指令在使用之前激活。

# 那些静态编译的模块(即以“httpd -l”列出的模块)则不需要在这里加载。

#

# Example:

# LoadModule foo_module modules/mod_foo.so

#

LoadModule actions_module modules/mod_actions.so

LoadModule alias_module modules/mod_alias.so

LoadModule asis_module modules/mod_asis.so

LoadModule auth_basic_module modules/mod_auth_basic.so

#LoadModule auth_digest_module modules/mod_auth_digest.so

#LoadModule authn_anon_module modules/mod_authn_anon.so

#LoadModule authn_dbm_module modules/mod_authn_dbm.so

LoadModule authn_default_module modules/mod_authn_default.so

LoadModule authn_file_module modules/mod_authn_file.so

#LoadModule authz_dbm_module modules/mod_authz_dbm.so

LoadModule authz_default_module modules/mod_authz_default.so

LoadModule authz_groupfile_module modules/mod_authz_groupfile.so

LoadModule authz_host_module modules/mod_authz_host.so

LoadModule authz_user_module modules/mod_authz_user.so

LoadModule autoindex_module modules/mod_autoindex.so

#LoadModule cern_meta_module modules/mod_cern_meta.so

LoadModule cgi_module modules/mod_cgi.so

#LoadModule dav_module modules/mod_dav.so

#LoadModule dav_fs_module modules/mod_dav_fs.so

#LoadModule deflate_module modules/mod_deflate.so

LoadModule dir_module modules/mod_dir.so

LoadModule env_module modules/mod_env.so

#LoadModule expires_module modules/mod_expires.so

#LoadModule file_cache_module modules/mod_file_cache.so

#LoadModule headers_module modules/mod_headers.so

LoadModule imagemap_module modules/mod_imagemap.so

LoadModule include_module modules/mod_include.so

#LoadModule info_module modules/mod_info.so

LoadModule isapi_module modules/mod_isapi.so

LoadModule log_config_module modules/mod_log_config.so

LoadModule mime_module modules/mod_mime.so

#LoadModule mime_magic_module modules/mod_mime_magic.so

#LoadModule proxy_module modules/mod_proxy.so

#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

#LoadModule proxy_connect_module modules/mod_proxy_connect.so

#LoadModule proxy_http_module modules/mod_proxy_http.so

#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

LoadModule negotiation_module modules/mod_negotiation.so

#LoadModule rewrite_module modules/mod_rewrite.so

LoadModule setenvif_module modules/mod_setenvif.so

#LoadModule speling_module modules/mod_speling.so

#LoadModule status_module modules/mod_status.so

#LoadModule unique_id_module modules/mod_unique_id.so

LoadModule userdir_module modules/mod_userdir.so

#LoadModule usertrack_module modules/mod_usertrack.so

#LoadModule vhost_alias_module modules/mod_vhost_alias.so

#LoadModule ssl_module modules/mod_ssl.so

LoadModule php5_module "E:/usr/php/php5apache2_2.dll"

# 配置 php.ini 的路径

PHPIniDir "E:/usr/php"

# 'Main' server configuration

# 主服务配置

#

# The directives in this section set up the values used by the 'main'

# server, which responds to any requests that aren't handled by a

# <VirtualHost> definition. These values also provide defaults for

# any <VirtualHost> containers you may define later in the file.

#

# 本节中指令的设置值,将被主服务所使用,主服务响应那些没有被<VirtualHost>所处理的请求,

# 这些值也为<VirtualHost>容器提供了默认值,你可以在后面的文件中定义

#

# All of these directives may appear inside <VirtualHost> containers,

# in which case these default settings will be overridden for the

# virtual host being defined.

#

# 所有这些指令将出现在<VirtualHost>容器中,这些设定值将在定义virtual host时被覆写。

#

# ServerAdmin: Your address, where problems with the server should be

# e-mailed. This address appears on some server-generated pages, such

# as error documents. e.g. admin@your-domain.com

# ServerAdmin: 你的地址,当系统故障时,可以给你发email。

# 此地址出现在那些由服务器生成的页面上,如出错文档。例如:admin@your-domain.com

#

ServerAdmin indian@163.com

#

# ServerName gives the name and port that the server uses to identify itself.

# This can often be determined automatically, but we recommend you specify

# it explicitly to prevent problems during startup.

# ServerNaem 定义了server名称和端口号,用以标明自己的身份。

# 通常可以自动定义,建议明确地指定它,避免起动时出错

# If your host doesn't have a registered DNS name, enter its IP address here.

# 如果你没有注册DNS名字,请在这里输入IP地址。

ServerName www.kysf.net:8080

#

# DocumentRoot: The directory out of which you will serve your

# documents. By default, all requests are taken from this directory, but

# symbolic links and aliases may be used to point to other locations.

# DocumentRoot: 你的文档的根目录。默认情况下,所有的请求都从这里开始,

# 但是可以使用符号链接和别名来指向到其他的位置。

#

DocumentRoot "E:/usr/Apache2.2/htdocs"

#

# Each directory to which Apache has access can be configured with respect

# to which services and features are allowed and/or disabled in that

# directory (and its subdirectories).

# 每个可供Apache访问的目录,可以配置成允许和(或)禁止哪些服务和特性(包括其子目录)

#

# First, we configure the "default" to be a very restrictive set of

# features.

# 首先,我们定义一个默认的非常严格的配置

#

<Directory />

Options FollowSymLinks

AllowOverride None

Order deny,allow

Deny from all

Satisfy all

</Directory>

#

# Note that from this point forward you must specifically allow

# particular features to be enabled - so if something's not working as

# you might expect, make sure that you have specifically enabled it

# below.

# 注意从这里开始你一定要明确地允许哪些特别的特性能够被使用。

# 所以,如果Apache没有象你所期待的那样工作的话, 请检查你是否在下面明确的指定它可用。

#

# This should be changed to whatever you set DocumentRoot to.

# 这将改变你对DocumentRoot的设置

#

<Directory "E:/usr/Apache2.2/htdocs">

#

# Possible values for the Options directive are "None", "All",

# or any combination of:

# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews

#

#Options:这个指令的值可以是“None”,“All”,或者下列选项的任意组合:

# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews

#

# Note that "MultiViews" must be named *explicitly* --- "Options All"

# doesn't give it to you.

#

# 注意,“MultiViews”必须被显式的指定,“Options All”不能为你提供这个特性。

#

# The Options directive is both complicated and important. Please see

# http://httpd.apache.org/docs/2.2/mod/core.html#options

# for more information.

#

# options 指令既复杂又重要,请参见 http://httpd.apache.org/docs/2.2/mod/core.html#options

# 获取更多信息。

#

Options Indexes FollowSymLinks

#

# AllowOverride controls what directives may be placed in .htaccess files.

# It can be "All", "None", or any combination of the keywords:

# Options FileInfo AuthConfig Limit

#

# AllowOverride 控制那些被放置在.htaccess文件中的指令。

# 它可以是“All”,“None”,或者下列指令的组合:

# Options FileInfo AuthConfig Limit

#

AllowOverride None

#

# Controls who can get stuff from this server.

#

# 控制哪些模块可以获得服务。

#

Order allow,deny

Allow from all

</Directory>

#

# DirectoryIndex: sets the file that Apache will serve if a directory

# is requested.

#

# DirectoryIndex: 当请求是一个目录时,Apache向用户提供服务的文件名。(即默认文档名。-译者注。)

#

<IfModule dir_module>

DirectoryIndex index.html

</IfModule>

#

# The following lines prevent .htaccess and .htpasswd files from being

# viewed by Web clients.

# #下面的设置是防止.htaccess和.htpasswd(访问设定和密码)文件被Web客户查看。

#

<FilesMatch "^\.ht">

Order allow,deny

Deny from all

</FilesMatch>

#

# ErrorLog: The location of the error log file.

# If you do not specify an ErrorLog directive within a <VirtualHost>

# container, error messages relating to that virtual host will be

# logged here. If you *do* define an error logfile for a <VirtualHost>

# container, that host's errors will be logged there and not here.

#

# ErrorLog: 错误日志文件位置。

# 如果你没有在<VirtualHost>内定义ErrorLog指令,这个虚拟主机的错误信息

# 将记录在这里。如果你在<VirtualHost>定义了ErrorLog,这些错误信息将记录在你所

# 定义的文件里,而不是这里定义的文件。

#

ErrorLog logs/error.log

#

# LogLevel: Control the number of messages logged to the error_log.

# Possible values include: debug, info, notice, warn, error, crit,

# alert, emerg.

#

# LogLevel: 控制记录在错误日志文件中的日志信息数量。

# 可能的值包括: debug, info, notice, warn, error, crit, alert, emerg.

#

LogLevel warn

<IfModule log_config_module>

#

# The following directives define some format nicknames for use with

# a CustomLog directive (see below).

#

# 下面的参数设置是为CustomLog指令定义格式别名(看下面)。

#

#

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>

# You need to enable mod_logio.c to use %I and %O

#

# 你需要安装了mod_logio.c模块才能使用%I和%O

#

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio

</IfModule>

#

# The location and format of the access logfile (Common Logfile Format).

# If you do not define any access logfiles within a <VirtualHost>

# container, they will be logged here. Contrariwise, if you *do*

# define per-<VirtualHost> access logfiles, transactions will be

# logged therein and *not* in this file.

#

# 指定访问日志文件的位置和格式(一般日志格式)。

# 如果你没有在<VirtualHost>内定义这个指令,处理信息将记录在这里,

# 如果你定义了这个指令,则处理信息记录在你指定的位置,而不是这儿定义的位置。

#

CustomLog logs/access.log common

#

# If you prefer a logfile with access, agent, and referer information

# (Combined Logfile Format) you can use the following directive.

#

# 如果你想要使用一个文件记录access,agent和referer信息(组合日志格式),

# 你可以如下定义这个指令:

#

#CustomLog logs/access.log combined

</IfModule>

<IfModule alias_module>

#

# Redirect: Allows you to tell clients about documents that used to

# exist in your server's namespace, but do not anymore. The client

# will make a new request for the document at its new location.

#

# Redirect:允许你用一个已存在的域名描述文档,但不能用所有的域名(描述)。

# 客户端将用这个新名称发出一个新的请求。

#

# Example:

# Redirect permanent /foo http://www.kysf.net/bar

#

# Alias: Maps web paths into filesystem paths and is used to

# access content that does not live under the DocumentRoot.

#

#Alias: 映射web路径到文件系统路径,通常用于访问不在DocumentRoot里面的内容

#

# Example:

# Alias /webpath /full/filesystem/path

#

# If you include a trailing / on /webpath then the server will

# require it to be present in the URL. You will also likely

# need to provide a <Directory> section to allow access to

# the filesystem path.

#

# 如果web路径中有后缀“/”,则服务器要求有后缀“/”来描述URL。你也可以用 <Directory> 片段

# 允许访问文件系统路径。

#

# ScriptAlias: This controls which directories contain server scripts.

# ScriptAliases are essentially the same as Aliases, except that

# documents in the target directory are treated as applications and

# run by the server when requested rather than as documents sent to the

# client. The same rules about trailing "/" apply to ScriptAlias

# directives as to Alias.

#

# ScriptAlias: 指定包含服务脚本的目录。

# ScriptAliases本质上与Aliases一样,除了这里的文档在请求时做为程序处理和运行,

# 而不是作为文档发送到客户端。尾部的“/”规则与Alias一样。

#

ScriptAlias /cgi-bin/ "E:/usr/Apache2.2/cgi-bin/"

</IfModule>

#

# "E:/usr/Apache2.2/cgi-bin" should be changed to whatever your ScriptAliased

# CGI directory exists, if you have that configured.

#

# 更改 "E:/usr/Apache2.2/cgi-bin" 为你的 ScriptAlias(脚本别名)。

#

<Directory "E:/usr/Apache2.2/cgi-bin">

AllowOverride None

Options None

Order allow,deny

Allow from all

</Directory>

#

# Apache parses all CGI scripts for the shebang line by default.

# This comment line, the first line of the script, consists of the symbols

# pound (#) and exclamation (!) followed by the path of the program that

# can execute this specific script. For a perl script, with perl.exe in

# the C:\Program Files\Perl directory, the shebang line should be:

#

# 默认的,Apache 将整个行解释为 CGI 脚本。

# 注释行、脚本第一行、带#!的程序路径,都能执行这个指定的脚本。比如一个 perl 脚本,

# 在 C:\Program Files\Perl 中有 perl.exe 解释程序,整个行写为:

#

#!c:/program files/perl/perl

# Note you _must_not_ indent the actual shebang line, and it must be the

# first line of the file. Of course, CGI processing must be enabled by

# the appropriate ScriptAlias or Options ExecCGI directives for the files

# or directory in question.

#

# However, Apache on Windows allows either the Unix behavior above, or can

# use the Registry to match files by extention. The command to execute

# a file of this type is retrieved from the registry by the same method as

# the Windows Explorer would use to handle double-clicking on a file.

# These script actions can be configured from the Windows Explorer View menu,

# 'Folder Options', and reviewing the 'File Types' tab. Clicking the Edit

# button allows you to modify the Actions, of which Apache 1.3 attempts to

# perform the 'Open' Action, and failing that it will try the shebang line.

# This behavior is subject to change in Apache release 2.0.

#

# Each mechanism has it's own specific security weaknesses, from the means

# to run a program you didn't intend the website owner to invoke, and the

# best method is a matter of great debate.

#

# To enable the this Windows specific behavior (and therefore -disable- the

# equivilant Unix behavior), uncomment the following directive:

#

#ScriptInterpreterSource registry

#

# The directive above can be placed in individual <Directory> blocks or the

# .htaccess file, with either the 'registry' (Windows behavior) or 'script'

# (Unix behavior) option, and will override this server default option.

#

#

# DefaultType: the default MIME type the server will use for a document

# if it cannot otherwise determine one, such as from filename extensions.

# If your server contains mostly text or HTML documents, "text/plain" is

# a good value. If most of your content is binary, such as applications

# or images, you may want to use "application/octet-stream" instead to

# keep browsers from trying to display binary files as though they are

# text.

#

DefaultType text/plain

<IfModule mime_module>

#

# TypesConfig points to the file containing the list of mappings from

# filename extension to MIME-type.

#

TypesConfig conf/mime.types

#

# AddType allows you to add to or override the MIME configuration

# file specified in TypesConfig for specific file types.

#

#AddType application/x-gzip .tgz

#

# AddEncoding allows you to have certain browsers uncompress

# information on the fly. Note: Not all browsers support this.

#

#AddEncoding x-compress .Z

#AddEncoding x-gzip .gz .tgz

#

# If the AddEncoding directives above are commented-out, then you

# probably should define those extensions to indicate media types:

#

AddType application/x-compress .Z

AddType application/x-gzip .gz .tgz

#

# AddHandler allows you to map certain file extensions to "handlers":

# actions unrelated to filetype. These can be either built into the server

# or added with the Action directive (see below)

#

# To use CGI scripts outside of ScriptAliased directories:

# (You will also need to add "ExecCGI" to the "Options" directive.)

#

#AddHandler cgi-script .cgi

# For type maps (negotiated resources):

#AddHandler type-map var

#

# Filters allow you to process content before it is sent to the client.

#

# To parse .shtml files for server-side includes (SSI):

# (You will also need to add "Includes" to the "Options" directive.)

#

#AddType text/html .shtml

#AddOutputFilter INCLUDES .shtml

#添加 .PHP 文件扩展

AddType application/x-httpd-php .php

</IfModule>

#

# The mod_mime_magic module allows the server to use various hints from the

# contents of the file itself to determine its type. The MIMEMagicFile

# directive tells the module where the hint definitions are located.

#

#MIMEMagicFile conf/magic

#

# Customizable error responses come in three flavors:

# 1) plain text 2) local redirects 3) external redirects

#

# Some examples:

#ErrorDocument 500 "The server made a boo boo."

#ErrorDocument 404 /missing.html

#ErrorDocument 404 "/cgi-bin/missing_handler.pl"

#ErrorDocument 402 http://www.kysf.net/subscription_info.html

#

#

# EnableMMAP and EnableSendfile: On systems that support it,

# memory-mapping or the sendfile syscall is used to deliver

# files. This usually improves server performance, but must

# be turned off when serving from networked-mounted

# filesystems or if support for these functions is otherwise

# broken on your system.

#

#EnableMMAP off

#EnableSendfile off

# Supplemental configuration

#

# The configuration files in the conf/extra/ directory can be

# included to add extra features or to modify the default configuration of

# the server, or you may simply copy their contents here and change as

# necessary.

# Server-pool management (MPM specific)

#Include conf/extra/httpd-mpm.conf

# Multi-language error messages

#Include conf/extra/httpd-multilang-errordoc.conf

# Fancy directory listings

#Include conf/extra/httpd-autoindex.conf

# Language settings

#Include conf/extra/httpd-languages.conf

# User home directories

#Include conf/extra/httpd-userdir.conf

# Real-time info on requests and configuration

#Include conf/extra/httpd-info.conf

# Virtual hosts

#Include conf/extra/httpd-vhosts.conf

# Local access to the Apache HTTP Server Manual

#Include conf/extra/httpd-manual.conf

# Distributed authoring and versioning (WebDAV)

#Include conf/extra/httpd-dav.conf

# Various default settings

#Include conf/extra/httpd-default.conf

# Secure (SSL/TLS) connections

#Include conf/extra/httpd-ssl.conf

#

# Note: The following must must be present to support

# starting without SSL on platforms with no /dev/random equivalent

# but a statically compiled-in mod_ssl.

#

<IfModule ssl_module>

SSLRandomSeed startup builtin

SSLRandomSeed connect builtin

</IfModule>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: