该configure
脚本配置用于在特定平台上编译和安装Apache HTTP Server的源树。各种选项允许根据您的个人需求编译服务器。
此脚本(包含在源发行版的根目录中)仅在Unix和类Unix系统上编译。对于其他平台,请参阅平台文档。
您应该configure
从发行版的根目录中调用脚本。
./configure [OPTION]...
[VAR=VALUE]...
要指定环境变量(例如CC
,
CFLAGS
......),它们指定为
。有关
某些有用变量的说明,请参见下文。VAR=VALUE
以下选项会影响其configure
自身的行为
。
-C
--config-cache
--cache-file=config.cache
--cache-file=FILE
-h
--help [short|recursive]
short
只显示特定于此软件包的选项。该参数
recursive
显示所有包含的软件包的简短帮助。-n
--no-create
configure
脚本可以正常运行,但不会创建输出文件。这对于在生成用于编译的makefile之前检查测试结果很有用。-q
--quiet
checking ...
在配置过程中不要打印消息。--srcdir=DIR
configure
或父目录。--silent
--quiet
这些选项定义安装目录。安装树取决于所选的布局。
--prefix=PREFIX
/usr/local/apache2
。--exec-prefix=EPREFIX
默认情况下,make install
将安装所有文件
/usr/local/apache2/bin
,/usr/local/apache2/lib
等等。你可以指定一个安装前缀比其他
/usr/local/apache2
使用--prefix
,比如--prefix=$HOME
。
--enable-layout=LAYOUT
config.layout
文件包含几个示例配置,您还可以根据示例创建自己的自定义配置。此文件中的不同布局分为几<Layout
FOO>...</Layout>
部分,并按命名FOO
。默认布局为Apache
。为了更好地控制安装目录,请使用以下选项。请注意,目录默认值
autoconf
由相应的布局设置设置,并被相应的布局设置覆盖。
--bindir=DIR
htpasswd
,
dbmmanage
等等。这对于网站管理员有用。默认情况下,DIR设置为
EPREFIX/bin
。--datadir=DIR
datadir
设置为
PREFIX/share
。此选项由提供
autoconf
且当前未使用。--includedir=DIR
includedir
设置为
EPREFIX/include
。--infodir=DIR
infodir
设置为
PREFIX/info
。该选项当前未使用。--libdir=DIR
libdir
设置为
EPREFIX/lib
。--libexecdir=DIR
libexecdir
设置为
EPREFIX/modules
。--localstatedir=DIR
localstatedir
设置为
PREFIX/var
。此选项由提供
autoconf
且当前未使用。--mandir=DIR
mandir
设置为
EPREFIX/man
。--oldincludedir=DIR
oldincludedir
设置为
/usr/include
。此选项由提供
autoconf
且当前未使用。--sbindir=DIR
httpd
,
apachectl
,suexec
等,这些都需要运行Apache HTTP服务器。默认情况下
sbindir
设置为
EPREFIX/sbin
。--sharedstatedir=DIR
sharedstatedir
设置为
PREFIX/com
。此选项由提供
autoconf
且当前未使用。--sysconfdir=DIR
httpd.conf
,mime.types
在等
DIR。默认情况下sysconfdir
设置为
PREFIX/conf
。这些选项用于交叉编译Apache HTTP Server以在另一个系统上运行。在正常情况下,在同一系统上构建和运行服务器时,将不使用这些选项。
--build=BUILD
config.guess
。--host=HOST
--target=TARGET
autoconf
Apache HTTP Server 提供,并非必需。这些选项用于微调HTTP服务器将具有的功能。
通常,您可以使用以下语法来启用或禁用功能:
--disable-FEATURE
--enable-FEATURE=no
--enable-FEATURE[=ARG]
yes
。--enable-MODULE=shared
--enable-MODULE=static
configure
即使foo不存在也不会抱怨
,因此您需要仔细输入。
--enable-foo
大多数模块默认编译并已被明确或通过使用关键字禁用few
(见--enable-modules
,--enable-mods-shared
并且--enable-mods-static
下面进一步解释)或--enable-modules=none
作为一组被去除。
其他模块默认情况下不编译,并已被明确或通过使用关键字启用all
或
reallyall
可用。
要找出默认情况下编译的模块,请运行
./configure -h
或./configure --help
并在下面查看Optional Features
。假设您对mod_example1
和
感兴趣mod_example2
,您会看到以下内容:
Optional Features: ... --disable-example1 example module 1 --enable-example2 example module 2 ...
然后mod_example1
默认情况下启用了,然后您将--disable-example1
不对其进行编译。 mod_example2
默认情况下是禁用的,您将使用--enable-example2
它进行编译。
多处理模块(MPM)实现服务器的基本行为。为了使服务器正常运行,单个MPM必须处于活动状态。可用的MPM列表显示在 模块索引页面上。
MPM可以构建为DSO,用于动态加载或与服务器静态链接,并且可以使用以下选项启用:
--with-mpm=MPM
选择服务器的默认MPM。如果MPM是作为DSO模块构建的(请参阅参考资料--enable-mpms-shared
),则此伪指令选择将在默认配置文件中加载的MPM。否则,此伪指令选择唯一可用的MPM,它将被静态链接到服务器中。
如果省略此选项,则将使用操作系统的默认MPM。
--enable-mpms-shared=MPM-LIST
启用MPM列表作为动态共享模块。必须使用LoadModule
指令动态加载这些模块之一
。
MPM-LIST是用引号引起来的MPM名称的空格分隔列表。例如:
--enable-mpms-shared='prefork worker'
另外,您可以使用special关键字all
,它将选择支持当前平台上动态加载的所有MPM并将其构建为DSO模块。例如:
--enable-mpms-shared=all
要添加其他第三方模块,请使用以下选项:
--with-module=module-type:module-file[,
module-type:module-file]
将一个或多个第三方模块添加到静态链接的模块列表中。模块源文件module-file
将在
Apache HTTP服务器源树的子目录中搜索。如果未找到,则认为模块文件是绝对文件路径,并尝试将源文件复制到
模块类型子目录中。如果该子目录不存在,则将创建该子目录并使用标准填充
。modules/module-type
configure
Makefile.in
此选项对于添加由一个源文件组成的小型外部模块很有用。对于更复杂的模块,您应该阅读供应商的文档。
apxs
。--enable-maintainer-mode
--enable-mods-shared=MODULE-LIST
定义要启用并构建为动态共享模块的模块列表。这意味着必须使用LoadModule
指令动态加载这些模块 。
MODULE-LIST是用引号括起来的模块名称的空格分隔列表。模块名称不带前面的mod_
。例如:
--enable-mods-shared='headers rewrite dav'
此外,您可以使用特殊的关键字reallyall
,
all
,most
和few
。例如,
--enable-mods-shared=most
将编译大多数模块并将其构建为DSO模块,
--enable-mods-shared=few
只会编译非常基本的模块集。
默认设置为most
。
LoadModule
所选模块的指令将在主配置文件中自动生成。默认情况下,所有这些指令都将被注释掉,除了配置--enable-foo
参数要求或明确选择的模块之外。您可以通过激活或停用中的LoadModule
指令
来更改已加载模块的集合httpd.conf
。另外,LoadModule
可以通过configure选项激活所有内置模块的
指令
--enable-load-all-modules
。
--enable-mods-static=MODULE-LIST
--enable-mods-shared
,但是将静态链接给定的模块。这意味着,这些模块在运行时将始终存在httpd
。不需要加载它们LoadModule
。--enable-modules=MODULE-LIST
--enable-mods-shared
,并且还将动态链接给定的模块。special关键字none
禁用所有模块的构建。--enable-v4-mapped
--with-port=PORT
httpd
将侦听的端口。生成配置文件时使用此端口号
httpd.conf
。默认值为80。--with-program-name
httpd
。这些选项用于定义可选软件包。
通常,您可以使用以下语法来定义可选程序包:
--with-PACKAGE[=ARG]
yes
。--without-PACKAGE
--with-PACKAGE=no
autoconf
--with-apr=DIR|FILE
configure
路径
apr-config
。您可以将绝对路径和名称或目录设置为已安装的APR。apr-config
必须存在于此目录或子目录中
bin
。--with-apr-util=DIR|FILE
configure
路径
apu-config
。您可以为安装的APU设置绝对路径和名称或目录。apu-config
必须存在于此目录或子目录中
bin
。--with-ssl=DIR
mod_ssl
已启用,则configure
搜索已安装的OpenSSL。您可以将目录路径设置为SSL / TLS工具包。--with-z=DIR
configure
zlib
如果您的源配置需要一个已安装的库,则会自动搜索
(例如,mod_deflate
启用时)。您可以将目录路径设置为压缩库。Apache HTTP Server的若干功能(包括
mod_authn_dbm
和mod_rewrite
的DBM)
RewriteMap
使用简单的键/值数据库来快速查找信息。SDBM包含在APU中,因此该数据库始终可用。如果要使用其他数据库类型,请使用以下选项启用它们:
--with-gdbm[=path]
configure
将在通常的搜索路径中搜索GNU DBM安装的包含文件和库。一个明确的
路径会导致configure
在查找
path/lib
和
path/include
办理相关文件。最后,该路径可以指定由冒号分隔的特定包含和库路径。--with-ndbm[=path]
--with-gdbm
,但搜索新的DBM安装。--with-berkeley-db[=path]
--with-gdbm
,但搜索Berkeley DB安装。DBM选项由APU提供,并传递到其配置脚本。当使用已定义的已安装的APU时,它们将无用--with-apr-util
。
您可以将不止一种DBM实现与HTTP服务器一起使用。每次都会在运行时配置中配置适当的DBM类型。
--enable-static-support
--enable-suexec
suexec
,它允许您为生成的进程设置uid和gid。除非您了解在服务器上运行suid二进制文件的所有安全隐患,否则不要使用此选项。下面suexec
介绍了其他配置选项。通过使用以下选项,可以创建单个支持程序的静态链接二进制文件:
--enable-static-ab
ab
。--enable-static-checkgid
checkgid
。--enable-static-htdbm
htdbm
。--enable-static-htdigest
htdigest
。--enable-static-htpasswd
htpasswd
。--enable-static-logresolve
logresolve
。--enable-static-rotatelogs
rotatelogs
。suexec
配置选项以下选项用于微调的行为suexec
。有关
更多信息,请参见配置和安装suEXEC。
--with-suexec-bin
suexec
二进制文件的路径。默认值为--sbindir
(请参阅安装目录的微调)。--with-suexec-caller
suexec
。它应与httpd
正常运行的用户相同
。--with-suexec-docroot
suexec
允许可执行文件访问。默认值为
--datadir/htdocs
。--with-suexec-gidmin
suexec
。默认值为100。--with-suexec-logfile
suexec
日志文件的文件名。默认情况下,日志文件被命名suexec_log
并位于中
--logfiledir
。--with-suexec-safepath
PATH
要为所启动的进程设置的环境变量的值suexec
。默认值为/usr/local/bin:/usr/bin:/bin
。--with-suexec-userdir
suexec
允许访问的可执行文件。当您要suexec
与特定于用户的目录(由提供mod_userdir
)一起使用时,此设置是必需的
。默认值为
public_html
。--with-suexec-uidmin
suexec
。默认值为100。--with-suexec-umask
umask
由开始的进程
suexec
。默认为您的系统设置。有一些有用的环境变量可以覆盖由其做出的选择,
configure
或帮助其查找具有非标准名称或位置的库和程序。
CC
CFLAGS
CPP
CPPFLAGS
-Iincludedir
LDFLAGS
-Llibdir