📄 configure.html
字号:
<p>这些选项用于交叉编译在其他平台上运行的Apache HTTP服务器。在同一平台上编译和运行Apache HTTP服务器通常不需要使用这些选项,脚本会自动检测并设置。方括号"[]"内是默认值。</p>
<dl>
<dt><code>--build=<var>BUILD</var></code></dt>
<dd>指定编译工具所在系统的系统类型<var>BUILD</var> 。<br />[<code>config.guess</code>脚本的检测结果]</dd>
<dt><code>--host=<var>HOST</var></code></dt>
<dd>指定Apache HTTP服务器将要运行的目标系统类型<var>HOST</var> 。<br />[<var>BUILD</var>]</dd>
<dt><code>--target=<var>TARGET</var></code></dt>
<dd>configure for building compilers for <var>TARGET</var>类型的系统。虽然<code>autoconf</code>提供了该选项,但Apache并未使用它。<br />[<var>HOST</var>]</dd>
</dl>
<h3><a name="modoptions" id="modoptions">模块选项</a></h3>
<p>有两种使用模块的方法:一是静态连接进核心,二是作为DSO模块动态加载;如果编译中包含任何DSO模块,则mod_so会被自动包含进核心。如果希望核心能够装载DSO,但不实际编译任何DSO模块,则需明确指定"--enable-so=static"。</p>
<h4><a name="generaloptfeat" id="generaloptfeat">一般语法</a></h4>
<p>一般情况下你可以使用如下语法启用或者禁用某个模块:</p>
<dl>
<dt><code>--disable-<var>MODULE</var></code></dt>
<dd>禁用<var>MODULE</var>模块(仅用于基本模块)</dd>
<dt><code>--enable-<var>MODULE</var>=shared</code></dt>
<dd>将<var>MODULE</var>编译为DSO(可用于所有模块)</dd>
<dt><code>--enable-<var>MODULE</var>=static</code></dt>
<dd>将<var>MODULE</var>静态连接进核心(仅用于扩展和实验模块)</dd>
<dt><code>--enable-mods-shared=<var>MODULE-LIST</var></code></dt>
<dd>将<var>MODULE-LIST</var>中的所有模块都编译成DSO(可用于所有模块)</dd>
<dt><code>--enable-modules=<var>MODULE-LIST</var></code></dt>
<dd>将<var>MODULE-LIST</var>静态连接进核心(可用于所有模块)</dd>
<p></p>
<p>上述 <var>MODULE-LIST</var> 可以是:<br />
(1)用引号界定并且用空格分隔的模块名列表</p>
<div class="example"><p><code>
--enable-mods-shared='headers rewrite dav'
</code></p></div>
<p>(2)"<code>most</code>"(大多数模块) (3)"<code>all</code>"(所有模块)</p>
<div class="example"><p><code>
--enable-mods-shared=most
</code></p></div>
</dl>
<div class="note"><h3>注意</h3>
<code>configure</code>将忽略<var>MODULE</var>和<var>MODULE-LIST</var>中的拼写错误,注意仔细拼写。用于<var>MODULE</var>和<var>MODULE-LIST</var>中的名称是"<code>mod_<var>NAME</var></code>"中去掉"<code>mod_</code>"并将剩余部分中的下划线"<code>_</code>"替换为连字符"<code>-</code>"以后的结果,比如"<code>mod_log_config</code>"模块应当表示为"<var>log-config</var>"。
</div>
<h4><a name="module-list" id="module-list">模块列表</a></h4>
<p>基本(B)模块默认包含,必须明确禁用;扩展(E)/实验(X)模块默认不包含,必须明确启用。</p>
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#AAAAAA">
<tr><td>模块名称</td><td>状态</td><td>简要描述</td></tr>
<tr><td><code class="module"><a href="../mod/mod_actions.html">mod_actions</a></code></td><td>(B)</td><td>基于媒体类型或请求方法,为执行CGI脚本而提供</td></tr>
<tr><td><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code></td><td>(B)</td><td>提供从文件系统的不同部分到文档树的映射和URL重定向</td></tr>
<tr><td><code class="module"><a href="../mod/mod_asis.html">mod_asis</a></code></td><td>(B)</td><td>发送自己包含HTTP头内容的文件</td></tr>
<tr><td><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code></td><td>(B)</td><td>使用基本认证</td></tr>
<tr><td><code class="module"><a href="../mod/mod_authn_default.html">mod_authn_default</a></code></td><td>(B)</td><td>在未正确配置认证模块的情况下简单拒绝一切认证信息</td></tr>
<tr><td><code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code></td><td>(B)</td><td>使用纯文本文件为认证提供支持</td></tr>
<tr><td><code class="module"><a href="../mod/mod_authz_default.html">mod_authz_default</a></code></td><td>(B)</td><td>在未正确配置授权支持模块的情况下简单拒绝一切授权请求</td></tr>
<tr><td><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></td><td>(B)</td><td>使用纯文本文件为组提供授权支持</td></tr>
<tr><td><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></td><td>(B)</td><td>供基于主机名、IP地址、请求特征的访问控制</td></tr>
<tr><td><code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code></td><td>(B)</td><td>基于每个用户提供授权支持</td></tr>
<tr><td><code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code></td><td>(B)</td><td>自动对目录中的内容生成列表,类似于"ls"或"dir"命令</td></tr>
<tr><td><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></td><td>(B)</td><td>在非线程型MPM(<code class="module"><a href="../mod/prefork.html">prefork</a></code>)上提供对CGI脚本执行的支持</td></tr>
<tr><td><code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code></td><td>(B)</td><td>在线程型MPM(<code class="module"><a href="../mod/worker.html">worker</a></code>)上用一个外部CGI守护进程执行CGI脚本</td></tr>
<tr><td><code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code></td><td>(B)</td><td>指定目录索引文件以及为目录提供"尾斜杠"重定向</td></tr>
<tr><td><code class="module"><a href="../mod/mod_env.html">mod_env</a></code></td><td>(B)</td><td>允许Apache修改或清除传送到CGI脚本和SSI页面的环境变量</td></tr>
<tr><td><code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></td><td>(B)</td><td>根据上下文实际情况对输出过滤器进行动态配置</td></tr>
<tr><td><code class="module"><a href="../mod/mod_imagemap.html">mod_imagemap</a></code></td><td>(B)</td><td>处理服务器端图像映射</td></tr>
<tr><td><code class="module"><a href="../mod/mod_include.html">mod_include</a></code></td><td>(B)</td><td>实现服务端包含文档(SSI)处理</td></tr>
<tr><td><code class="module"><a href="../mod/mod_isapi.html">mod_isapi</a></code></td><td>(B)</td><td>仅限于在Windows平台上实现ISAPI扩展</td></tr>
<tr><td><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></td><td>(B)</td><td>允许记录日志和定制日志文件格式</td></tr>
<tr><td><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code></td><td>(B)</td><td>根据文件扩展名决定应答的行为(处理器/过滤器)和内容(MIME类型/语言/字符集/编码)</td></tr>
<tr><td><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code></td><td>(B)</td><td>提供<a href="../content-negotiation.html">内容协商</a>支持</td></tr>
<tr><td><code class="module"><a href="../mod/mod_nw_ssl.html">mod_nw_ssl</a></code></td><td>(B)</td><td>仅限于在NetWare平台上实现SSL加密支持</td></tr>
<tr><td><code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code></td><td>(B)</td><td>根据客户端请求头字段设置环境变量</td></tr>
<tr><td><code class="module"><a href="../mod/mod_status.html">mod_status</a></code></td><td>(B)</td><td>生成描述服务器状态的Web页面</td></tr>
<tr><td><code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code></td><td>(B)</td><td>允许用户从自己的主目录中提供页面(使用"/~username")</td></tr>
<tr><td><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></td><td>(X)</td><td>使用MD5摘要认证(更安全,但是只有最新的浏览器才支持)</td></tr>
<tr><td><code class="module"><a href="../mod/mod_authn_alias.html">mod_authn_alias</a></code></td><td>(E)</td><td>基于实际认证支持者创建扩展的认证支持者,并为它起一个别名以便于引用</td></tr>
<tr><td><code class="module"><a href="../mod/mod_authn_anon.html">mod_authn_anon</a></code></td><td>(E)</td><td>提供匿名用户认证支持</td></tr>
<tr><td><code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code></td><td>(E)</td><td>使用SQL数据库为认证提供支持</td></tr>
<tr><td><code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code></td><td>(E)</td><td>使用DBM数据库为认证提供支持</td></tr>
<tr><td><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></td><td>(E)</td><td>允许使用一个LDAP目录存储用户名和密码数据库来执行基本认证和授权</td></tr>
<tr><td><code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code></td><td>(E)</td><td>使用DBM数据库文件为组提供授权支持</td></tr>
<tr><td><code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code></td><td>(E)</td><td>基于文件的所有者进行授权</td></tr>
<tr><td><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code></td><td>(E)</td><td>基于URI键的内容动态缓冲(内存或磁盘)</td></tr>
<tr><td><code class="module"><a href="../mod/mod_cern_meta.html">mod_cern_meta</a></code></td><td>(E)</td><td>允许Apache使用CERN httpd元文件,从而可以在发送文件时对头进行修改</td></tr>
<tr><td><code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code></td><td>(X)</td><td>允许对页面进行字符集转换</td></tr>
<tr><td><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></td><td>(E)</td><td>允许Apache提供<a href="http://www.webdav.org/">DAV</a>协议支持</td></tr>
<tr><td><code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code></td><td>(E)</td><td>为<code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>访问服务器上的文件系统提供支持</td></tr>
<tr><td><code class="module"><a href="../mod/mod_dav_lock.html">mod_dav_lock</a></code></td><td>(E)</td><td>为<code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>锁定服务器上的文件提供支持</td></tr>
<tr><td><code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code></td><td>(E)</td><td>管理SQL数据库连接,为需要数据库功能的模块提供支持</td></tr>
<tr><td><code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code></td><td>(E)</td><td>压缩发送给客户端的内容</td></tr>
<tr><td><code class="module"><a href="../mod/mod_disk_cache.html">mod_disk_cache</a></code></td><td>(E)</td><td>基于磁盘的缓冲管理器</td></tr>
<tr><td><code class="module"><a href="../mod/mod_dumpio.html">mod_dumpio</a></code></td><td>(E)</td><td>将所有I/O操作转储到错误日志中</td></tr>
<tr><td><code class="module"><a href="../mod/mod_echo.html">mod_echo</a></code></td><td>(X)</td><td>一个很简单的协议演示模块</td></tr>
<tr><td><code class="module"><a href="../mod/mod_example.html">mod_example</a></code></td><td>(X)</td><td>一个很简单的Apache模块API演示模块</td></tr>
<tr><td><code class="module"><a href="../mod/mod_expires.html">mod_expires</a></code></td><td>(E)</td><td>允许通过配置文件控制HTTP的"<code>Expires:</code>"和"<code>Cache-Control:</code>"头内容</td></tr>
<tr><td><code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code></td><td>(E)</td><td>使用外部程序作为过滤器</td></tr>
<tr><td><code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code></td><td>(X)</td><td>提供文件描述符缓存支持,从而提高Apache性能</td></tr>
<tr><td><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code></td><td>(E)</td><td>允许通过配置文件控制任意的HTTP请求和应答头信息</td></tr>
<tr><td><code class="module"><a href="../mod/mod_ident.html">mod_ident</a></code></td><td>(E)</td><td>实现RFC1413规定的ident查找</td></tr>
<tr><td><code class="module"><a href="../mod/mod_info.html">mod_info</a></code></td><td>(E)</td><td>生成Apache配置情况的Web页面</td></tr>
<tr><td><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code></td><td>(E)</td><td>为其它LDAP模块提供LDAP连接池和结果缓冲服务</td></tr>
<tr><td><code class="module"><a href="../mod/mod_log_forensic.html">mod_log_forensic</a></code></td><td>(E)</td><td>实现"对比日志",即在请求被处理之前和处理完成之后进行两次记录</td></tr>
<tr><td><code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code></td><td>(E)</td><td>对每个请求的输入/输出字节数以及HTTP头进行日志记录</td></tr>
<tr><td><code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code></td><td>(E)</td><td>基于内存的缓冲管理器</td></tr>
<tr><td><code class="module"><a href="../mod/mod_mime_magic.html">mod_mime_magic</a></code></td><td>(E)</td><td>通过读取部分文件内容自动猜测文件的MIME类型</td></tr>
<tr><td><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td><td>(E)</td><td>提供HTTP/1.1的代理/网关功能支持</td></tr>
<tr><td><code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code></td><td>(E)</td><td><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>的扩展,提供Apache JServ Protocol支持</td></tr>
<tr><td><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></td><td>(E)</td><td><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>的扩展,提供负载平衡支持</td></tr>
<tr><td><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code></td><td>(E)</td><td><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>的扩展,提供对处理HTTP <code>CONNECT</code>方法的支持</td></tr>
<tr><td><code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code></td><td>(E)</td><td><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>的FTP支持模块</td></tr>
<tr><td><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code></td><td>(E)</td><td><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>的HTTP支持模块</td></tr>
<tr><td><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></td><td>(E)</td><td>一个基于一定规则的实时重写URL请求的引擎</td></tr>
<tr><td><code class="module"><a href="../mod/mod_so.html">mod_so</a></code></td><td>(E)</td><td>允许运行时加载DSO模块</td></tr>
<tr><td><code class="module"><a href="../mod/mod_speling.html">mod_speling</a></code></td><td>(E)</td><td>自动纠正URL中的拼写错误</td></tr>
<tr><td><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></td><td>(E)</td><td>使用安全套接字层(SSL)和传输层安全(TLS)协议实现高强度加密传输</td></tr>
<tr><td><code class="module"><a href="../mod/mod_suexec.html">mod_suexec</a></code></td><td>(E)</td><td><a href="#suexec">使用与调用web服务器的用户不同的用户身份来运行CGI和SSI程序</a></td></tr>
<tr><td><code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code></td><td>(E)</td><td>为每个请求生成唯一的标识以便跟踪</td></tr>
<tr><td><code class="module"><a href="../mod/mod_usertrack.html">mod_usertrack</a></code></td><td>(E)</td><td>使用Session跟踪用户(会发送很多Cookie),以记录用户的点击流</td></tr>
<tr><td><code class="module"><a href="../mod/mod_version.html">mod_version</a></code></td><td>(E)</td><td>提供基于版本的配置段支持</td></tr>
<tr><td><code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code></td><td>(E)</td><td>提供大批量虚拟主机的动态配置支持</td></tr>
</table>
<h4><a name="mpm-modules" id="mpm-modules">多路处理模块(MPM)</a></h4>
<p>必须有而且只能有一个<a href="../mpm.html">MPM</a>被静态包含进核心,你可以使用下面的配置选项进行选择:</p>
<dl>
<dt><code>--with-mpm=MPM</code></dt>
<dd>其中,<code>MPM</code>是你想要使用的多路处理模块的名字。如果你不使用这个选项,那么将会使用对应于各平台的<a href="../mpm.html#defaults">默认MPM</a>,可选的MPM如下:<code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></dd>
</dl>
<h4><a name="third-party-modules" id="third-party-modules">第三方模块</a></h4>
<p>有至少两种方法可以添加第三方模块,最简单的方法是作为配置参数提供,语法如下:</p>
<dl>
<dt><code>--with-module=<var>module-type</var>:<var>module-file</var>[, <var>module-type</var>:<var>module-file</var>]</code></dt>
<dd><p><code><var>module-file</var></code>是模块的源代码文件名,该文件必须位于Apahe源代码目录树的"<code>modules/<var>module-type</var></code>"目录下,如果<code>configure</code>没有在那里找到<var>module-file</var> ,则将它看作一个绝对路径名并尝试将其复制到"<code>modules/<var>module-type</var></code>"目录中,如果"<code>modules/<var>module-type</var></code>"目录不存在,<code>configure</code>将新建一个"<code>modules/<var>module-type</var></code>"目录并在其中放置一个标准的<code>Makefile.in</code>文件。这种方法有两个明显的缺陷:</p>
<ol>
<li>模块的源代码必须是单一文件</li>
<li>模块只能静态连接进核心,而不能作为DSO模块</li>
</ol>
<p></p>
<p>所以一般并不使用此方法,而是使用<span class="note"><code class="program"><a href="../programs/apxs.html">apxs</a></code></span>(Apache扩展工具)来添加第三方模块支持。</p>
</dd>
</dl>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -