配置-配置源树

configure脚本配置用于在特定平台上编译和安装 Apache HTTP Server 的源树。各种选项允许根据您的个人需求编译服务器。

此脚本(包含在源发行版的根目录中)仅在 Unix 和类 Unix 系统上编译。对于其他平台,请参见platform文档。

Synopsis

您应该从发行版的根目录中调用configure脚本。

./configure [OPTION]... [VAR=VALUE]...

要分配环境变量(例如CCCFLAGS ...),请将其指定为VAR=VALUE。有关某些有用变量的说明,请参见below

Options

Configuration options

以下选项会影响configure本身的行为。

Installation directories

这些选项定义安装目录。安装树取决于所选的布局。

默认情况下,make install将所有文件安装在/usr/local/apache2/bin/usr/local/apache2/lib等中。您可以使用--prefix来指定/usr/local/apache2以外的安装前缀,例如--prefix=$HOME

定义目录布局

对安装目录进行微调

为了更好地控制安装目录,请使用以下选项。请注意,目录默认值由autoconf设置,并被相应的布局设置覆盖。

System types

这些选项用于交叉编译 Apache HTTP Server 以在另一个系统上运行。在正常情况下,在同一系统上构建和运行服务器时,将不使用这些选项。

Optional Features

这些选项用于微调 HTTP 服务器将具有的功能。

General syntax

通常,您可以使用以下语法来启用或禁用功能:

Note

即使 foo 不存在,configure也不会抱怨--enable-foo,因此您需要仔细 Importing。

选择要编译的模块

大多数模块默认情况下已编译,必须显式禁用或使用关键字few(请参阅下面的--enable-modules--enable-mods-shared--enable-mods-static以获得更多说明)或将--enable-modules=none作为一个组删除。

其他模块默认情况下不会编译,必须显式启用或使用关键字allreallyall启用。

要找出默认情况下编译的模块,请运行./configure -h./configure --help并在Optional Features下查看。假设您对mod_example1mod_example2感兴趣,您会看到以下内容:

Optional Features:
  ...
  --disable-example1     example module 1
  --enable-example2      example module 2
  ...

然后,默认情况下启用了mod_example1,并且您将使用--disable-example1不对其进行编译。 mod_example2默认是禁用的,您将使用--enable-example2对其进行编译。

Multi-Processing Modules

Multi-Processing Modules或 MPM 实现了服务器的基本行为。为了使服务器正常运行,单个 MPM 必须处于活动状态。可用的 MPM 列表显示在模块索引页上。

MPM 可以构建为 DSO 以便动态加载或与服务器静态链接,并且可以使用以下选项启用:

如果省略此选项,将使用您 os 的default MPM

MPM-LIST 是用引号引起来的 MPM 名称的空格分隔列表。例如:

--enable-mpms-shared='prefork worker'

此外,您可以使用特殊关键字all,它将选择支持当前平台上动态加载的所有 MPM 并将其构建为 DSO 模块。例如:

--enable-mpms-shared=all

Third-party modules

要添加其他第三方模块,请使用以下选项:

此选项对于添加由一个源文件组成的小型外部模块很有用。对于更复杂的模块,您应该阅读供应商的文档。

Note

如果要构建 DSO 模块而不是静态链接,请使用apxs

累积和其他选项

MODULE-LIST 是用引号引起来的模块名称的空格分隔列表。模块名称不带前面的mod_。例如:

--enable-mods-shared='headers rewrite dav'

另外,您可以使用特殊关键字reallyallallmostfew。例如,

--enable-mods-shared=most

将编译大多数模块并将其构建为 DSO 模块,

--enable-mods-shared=few

只会编译非常基本的模块集。

默认设置为most

所选模块的LoadModule指令将在主配置文件中自动生成。默认情况下,所有这些指令都将被 Comments 掉,但配置--enable-foo参数必需或明确选择的模块除外。您可以通过激活或禁用httpd.conf中的LoadModule指令来更改已加载模块的集合。此外,可以通过配置选项--enable-load-all-modules激活所有内置模块的LoadModule指令。

Optional packages

这些选项用于定义可选软件包。

General syntax

通常,您可以使用以下语法来定义可选程序包:

Specific packages

Apache HTTP Server 的一些功能(包括mod_authn_dbmmod_rewrite的 DBM RewriteMap)使用简单的键/值数据库来快速查找信息。 SDBM 包含在 APU 中,因此该数据库始终可用。如果要使用其他数据库类型,请使用以下选项启用它们:

Note

DBM 选项由 APU 提供,并传递到其配置脚本。当使用由--with-apr-util定义的已安装的 APU 时,它们将无用。

您可以将不止一种 DBM 实现与 HTTP 服务器一起使用。每次都会在运行时配置中配置适当的 DBM 类型。

支持计划的选项

通过使用以下选项,可以创建单个支持程序的静态链接二进制文件:

suexec 配置选项

以下选项用于微调suexec的行为。有关更多信息,请参见配置和安装 suEXEC

Environment variables

有一些有用的环境变量可以覆盖configure所做的选择,或帮助其查找具有非标准名称或位置的库和程序。

首页