Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2168765
  • 博文数量: 317
  • 博客积分: 5670
  • 博客等级: 大校
  • 技术积分: 3677
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-10 17:51
文章分类

全部博文(317)

文章存档

2016年(2)

2015年(44)

2014年(68)

2013年(42)

2012年(23)

2011年(51)

2010年(67)

2009年(17)

2008年(3)

分类: LINUX

2014-03-27 16:26:25

configure参数的说明
配置帮助表:

-h, --help

显示帮助信息

display this help and exit

--help=short

short参数将只显示正在运行的当前脚本的选项,而不能列出适用于Apache配置脚本所运行的外部配置脚本的选项

display options specific to this package

--help=recursive

使用recursive参数将显示所有程序包的简短描述

display the short help of all the included packages

-V, --version

显示版本

display version information and exit

-q, --quiet, --silent

不显示checking……信息

do not print`checking...' messages

--cache-file=FILE


在指定文件中存储测试结果

cache test results in FILE [disabled]


-C, --config-cache

在文件config.cache中存储测试结果

alias for `--cache file=config.cache'

-n, --no-create

configure脚本运行结束后不输出结果文件,常用于正式编译前的测试。

do not create output files

--srcdir=DIR

源文件库所在目录

find the sources in DIR [configure dir or `..']

 

安装目录:

 

--prefix=PREFIX

体系无关文件的顶级安装目录PREFIX ,也就Apache的安装目录

install architecture-independent files in PREFIX
[/usr/local/
apache2]

--exec-prefix=EPREFIX

体系相关文件的顶级安装目录EPREFIX ,把体系相关的文件安装到不同的位置可以方便地在不同主机之间共享体系相关的文件

install architecture-dependent files in EPREFIX
[PREFIX]

 

默认情况下,make install 将会把所有文件分别安装到/usr/local/apache2/bin , /usr/local/apache2/lib 目录下。可以用 --prefix 指定一个不同于/usr/local/apache2的安装前缀,比如:--prefix=$HOME
By default, `make install' will install all the files in`/usr/local/
apache2/bin', `/usr/local/apache2/lib' etc. 
You can specifyan installation prefix other than `/usr/local/apache2' using `--prefix',for instance `--prefix=$HOME'.

详细安装目录设置:

默认安装目录参考config.layout,其中RHEL的默认目录设置如下:

    prefix:        /usr
    exec_prefix:   ${prefix}
    bindir:        ${prefix}/bin
    sbindir:       ${prefix}/sbin
    libdir:        ${prefix}/lib
    libexecdir:    ${prefix}/lib/
apache
    mandir:        ${prefix}/man
    sysconfdir:    /etc/httpd/conf
    datadir:       /var/www
    installbuilddir: ${datadir}/build
    errordir:      ${datadir}/error
    iconsdir:      ${datadir}/icons
    htdocsdir:     ${datadir}/html
    manualdir:     ${datadir}/manual
    cgidir:        ${datadir}/cgi-bin
    includedir:    ${prefix}/include/apache
    localstatedir: /var
    runtimedir:    ${localstatedir}/run
    logfiledir:    ${localstatedir}/log/httpd
    proxycachedir: ${localstatedir}/cache/httpd

自设定详细安装目录

 

--bindir=DIR

用户可执行目录DIR。用于存放对网站管理员很有帮助的htpasswd, dbmmanage之类的支持程序

user executables [EPREFIX/bin]

--sbindir=DIR

系统管理员可执行目录DIR ,用于存放运行HTTP服务器所必须的httpd, apachectl, suexec之类的服务程序

system admin executables [EPREFIX/sbin]

--libexecdir=DIR

程序可执行目录DIR ,也就是动态加载模块目录

program executables [EPREFIX/libexec]

--sysconfdir=DIR

只读的单一机器数据目录DIR ,用于存放httpd.confmime.types之类的服务器配置文件

read-only single-machine data [PREFIX/etc]

--sharedstatedir=DIR

可改写的体系无关数据目录DIR

modifiable architecture-independent data [PREFIX/com]

--localstatedir=DIR

可改写的单一机器数据目录DIR

modifiable single-machine data [PREFIX/var]

--libdir=DIR

对象代码库目录DIR

object code libraries [EPREFIX/lib]

--includedir=DIR

ApacheC头文件目录DIR

C header files [PREFIX/include]

--oldincludedir=DIR

gccC头文件目录DIR

C header files for non-gcc [/usr/include]

--datarootdir=DIR

Web服务器只读的体系无关数据根目录

read-only arch.-independent data root [PREFIX/share]

--datadir=DIR

Web服务器只读的体系无关数据目录DIR

read-only architecture-independent data [DATAROOTDIR]

--infodir=DIR

信息文档目录DIR

info documentation [DATAROOTDIR/info]

--localedir=DIR

地区相关数据DIR

locale-dependent data [DATAROOTDIR/locale]

--mandir=DIR

手册文档目录DIR

man documentation [DATAROOTDIR/man]

--docdir=DIR

手册目录

documentation root [DATAROOTDIR/doc/PACKAGE]

--htmldir=DIR

HTML格式帮助文档目录

html documentation [DOCDIR]

--dvidir=DIR

dvi格式帮助文档目录

dvi documentation [DOCDIR]

--pdfdir=DIR

pdf格式帮助文档目录

pdf documentation [DOCDIR]

--psdir=DIR

ps格式帮助文档目录

ps documentation [DOCDIR]

 

交叉编译选项:

这些选项用于交叉编译在其他平台上运行的Apache HTTP服务器。在同一平台上编译和运行Apache HTTP服务器通常不需要使用这些选项,脚本会自动检测并设置。

 

--build=BUILD

指定编译工具所在系统的系统类型BUILD

configure for building on BUILD [guessed]

--host=HOST

指定Apache HTTP服务器将要进行交叉编译时运行的目标系统类型HOST

cross-compile to build programs to run on HOST [BUILD]

--target=TARGET

指定交叉编译所产生的目标代码类型

configure for building compilers for TARGET [HOST]

 

特征选项:

 

--disable-option-checking

忽略无法识别的enablewith选项

ignore unrecognized --enable/--with options

--disable-FEATURE

不使用任何软件特性

do not include FEATURE (same as --enable-FEATURE=no)

--enable-FEATURE[=ARG]

使用软件特性

include FEATURE [ARG=yes]

--enable-layout=LAYOUT

预定义的安装路径布局。选项使用config.layout文件中的配置。只使用"--enable-layout", 而不指定LAYOUT, 相当于"--enable-layout=Apache"

 

--enable-v4-mapped

使用相同的套接字同时处理IPv4IPv6的连接,也就是启用地址映射。在FreeBSDNetBSDOpenBSD以外的平台上是默认值。

Allow IPv6 sockets to handle IPv4 connections

--enable-exception-hook

允许在子进程崩溃以后启用一个钩子来运行异常处理程序。

Enable fatal exception hook

--enable-maintainer-mode

使用所有警告和调试符号编译源代码,请勿用于正式服务器,它会影响性能。

Turn on debugging and compile time warnings




--enable-pie 
 

编译http作为一个独立的可执行文件。

Build httpd as a Position Independent Executable

--enable-modules=MODULE-LIST

启用的模块,用空格分别列出,或使用allmost列出所有或常用的模块。

Space-separated list of modules to enable | "all" |
"most"

--enable-mods-shared=MODULE-LIST

启用的共享DSO模块,用空格分别列出,或使用allmost列出所有或常用的共享DOS模块。(1)

Space-separated list of shared modules to enable |
"all" | "most"

--disable-authn-file

禁用基于文件的验证控制

file-based authentication control

--enable-authn-dbm

启用基于DBM的验证机制

DBM-based authentication control


--enable-authn-anon

 

启用匿名的验证机制

anonymous user authentication control

--enable-authn-dbd

启用基于SQL的验证机制

SQL-based authentication control

--disable-authn-default

禁止默认的验证机制方式backstopper

authentication backstopper

--enable-authn-alias

启用别名验证

auth provider alias

--disable-authz-host

禁用基于主机的授权机制


host-based authorization control

--disable-authz-groupfile

禁用组授权机制

'require group' authorization control

--disable-authz-user

禁用用户授权机制

'require user' authorization control

--enable-authz-dbm

基于DBM数据库的授权机制

DBM-based authorization control

--enable-authz-owner

基于文件所有者的授权机制

'require file-owner' authorization control

--enable-authnz-ldap

启用基于LDAP的的授权方式

LDAP based authentication

--disable-authz-default

禁用默认的backstopper授权方式

authorization control backstopper

--disable-auth-basic

禁用基本验证

basic authentication

--enable-auth-digest

启用RFC2617摘要式身份验证

RFC2617 Digest authentication

--enable-isapi

启用ISAPI扩展支持(注2

isapi extension support

--enable-file-cache

启用文件缓存

File cache

--enable-cache

启用动态文件缓存

dynamic file caching

--enable-disk-cache


启用磁盘缓存模块

disk caching module

--enable-mem-cache

启用内存缓存模块

memory caching module

--enable-dbd

启用apacheDBD框架

Apache DBD Framework

--enable-bucketeer

水桶操作过滤器

buckets manipulation filter

--enable-dumpio

I/O转储过滤器

I/O dump filter

--enable-echo

启用回显服务

ECHO server

--enable-example

实例和演示模块

example and demo module

--enable-case-filter

启用大写转换过滤器

example uppercase conversion filter

--enable-case-filter-in

启用大写转换输入过滤器

example uppercase conversion input filter

--enable-ext-filter

扩展过滤模块

external filter module

--disable-include

禁用服务器端嵌入(SSI)

Server Side Includes

--disable-filter

禁用智能过滤

Smart Filtering

--enable-substitute

答复的内容重写式过滤

response content rewrite-like filtering

--disable-charset-lite

禁用字符集转换

character set translation

--enable-charset-lite

启用字符集转换

character set translation

--enable-deflate

压缩转换编码支持

Deflate transfer encoding support

--enable-ldap

启用LDAP的高速缓存和连接池服务

LDAP caching and connection pooling services

--disable-log-config

禁用日志配置

logging configuration

--enable-log-forensic

启用forensic日志记录

forensic logging

--enable-logio

输入和输出记录

input and output logging

--disable-env

禁用环境变量,清除设置环境变量

clearing/setting of ENV vars

--enable-mime-magic

自动确定MIME类型

automagically determining MIME type

--enable-cern-meta

启用CERN类型元文件

CERN-type meta files

--enable-expires

头部有效期控制

Expires header control

--enable-headers

HTTP头控制HTTP

header control

--enable-ident

RFC 1413身份检查

RFC 1413 identity check

--enable-usertrack

用户session跟踪

user-session tracking

--enable-unique-id

启用每个请求唯一的ID

per-request unique ids

--disable-setenvif

基于头部的环境变量

basing ENV vars on headers

--disable-version

通过配置文件中决定http版本

determining httpd version in config files

--enable-proxyapache

代理模块

Apache proxy module

--enable-proxy-connect apache

代理连接模块

Apache proxy CONNECT module

--enable-proxy-ftp

apache代理ftp模块

Apache proxy FTP module

--enable-proxy-http

apache代理http模块

Apache proxy HTTP module

--enable-proxy-ajp

apache代理ajp模块

Apache proxy AJP module

--enable-proxy-balancer

apache代理balancer模块

Apache proxy BALANCER module

--enable-ssl

启用ssl支持

SSL/TLS support (mod_ssl)

--enable-distcache

mod_ssl模块中启用Distcache。磁盘缓存(Distcache)用于分布式的会话缓存。主要用在 SSL/TLS 服务器。它可以被Apache 使用。大多数的台式机应该关闭它。

Select distcache support in mod_ssl

--enable-optional-hook-export

启用可选钩子输出者示例

example optional hook exporter

--enable-optional-hook-import

启用可选钩子输入者示例

example optional hook importer

--enable-optional-fn-import

启用可选函数输入者示例

example optional function importer

--enable-optional-fn-export

启用可选函数输出者示例

example optional function exporter

--enable-static-support

为所支持的二进制文件建立一个静态链接的版本

Build a statically linked version of the support binaries

--enable-static-htpasswd

建立静态版本的htpasswd

Build a statically linked version of htpasswd

--enable-static-htdigest

建立htdigest的静态版本

Build a statically linked version of htdigest

--enable-static-rotatelogs

建立rotatelogs的静态版本

Build a statically linked version of rotatelogs

--enable-static-logresolve

建立logresolve的静态版本

Build a statically linked version of logresolve

--enable-static-htdbm

建立htdbm的静态版本

Build a statically linked version of htdbm

--enable-static-ab

建立ab的静态版本

Build a statically linked version of ab

--enable-static-checkgid

建立checkgid的静态版本

Build a statically linked version of checkgid

--enable-static-htcacheclean

建立htcacheclean的静态版本

Build a statically linked version of htcacheclean

--enable-static-httxt2dbm

建立httxt2dbm的静态版本

Build a statically linked version of httxt2dbm

--enable-http

启用http协议处理

HTTP protocol handling

--disable-mime

禁用映射文件扩展名到mime类型

mapping of file-extension to MIME

--enable-dav

启用webdav协议处理

WebDAV protocol handling

--disable-status

禁用进程或线程的监控

process/thread monitoring

--disable-autoindex

禁用目录列表

directory listing

--disable-asis

禁用as-is文件类型

as-is filetypes

--enable-info

启用服务器信息

server information

--enable-suexec

启用suexec,为产生的进程设置uidgid

set uid and gid for spawned processes

--disable-cgid

禁用CGID

CGI scripts

--enable-cgi

启用CGI

CGI scripts

--disable-cgi

禁用CGI

CGI scripts

--enable-cgid

启用CGID

CGI scripts

--enable-dav-fs

启用DAV文件系统提供者

DAV provider for the filesystem

--enable-dav-lock

启用DAV提供者的一般锁定

DAV provider for generic locking

--enable-vhost-alias

启用大规模的虚拟主机模块

mass virtual hosting module

--disable-negotiation

禁用内容协商

content negotiation

--disable-dir

禁用目录请求处理

directory request handling

--enable-imagemap


启用服务器端图片映射图

server-side imagemaps

--disable-actions

禁用请求上的行为触发器

Action triggering on requests

--enable-speling

启用常见的URL拼写错误纠正

correct common URL misspellings

--disable-userdir


禁用特定用户目录的请求的映射

mapping of requests to user-specific directories

--disable-alias

禁用不同文件系统部分的请求的映射

mapping of requests to different filesystem parts

--enable-rewrite

基本的URL操纵规则,即启用URL重写规则

rule based URL manipulation

--enable-so

启用DSO性能

DSO capability

 

注:1、模块列表:

基本(B)模块默认包含,必须明确禁用;扩展(E)/实验(X)模块默认不包含,必须明确启用

 

模块名称

状态

简要描述

(B)

基于媒体类型或请求方法,为执行CGI脚本而提供

(B)

提供从文件系统的不同部分到文档树的映射和URL重定向

(B)

发送自己包含HTTP头内容的文件

(B)

使用基本认证

(B)

在未正确配置认证模块的情况下简单拒绝一切认证信息

(B)

使用纯文本文件为认证提供支持

(B)

在未正确配置授权支持模块的情况下简单拒绝一切授权请求

(B)

使用纯文本文件为组提供授权支持

(B)

供基于主机名、IP地址、请求特征的访问控制

(B)

基于每个用户提供授权支持

(B)

自动对目录中的内容生成列表,类似于"ls""dir"命令

(B)

(B)

(B)

指定目录索引文件以及为目录提供"尾斜杠"重定向

(B)

允许Apache修改或清除传送到CGI脚本和SSI页面的环境变量

(B)

根据上下文实际情况对输出过滤器进行动态配置

mod_imagemap

(B)

处理服务器端图像映射

(B)

实现服务端包含文档(SSI)处理

(B)

仅限于在Windows平台上实现ISAPI扩展

(B)

允许记录日志和定制日志文件格式

(B)

根据文件扩展名决定应答的行为(处理器/过滤器)和内容(MIME类型/语言/字符集/编码)

(B)

(B)

仅限于在NetWare平台上实现SSL加密支持

(B)

根据客户端请求头字段设置环境变量

(B)

生成描述服务器状态的Web页面

(B)

允许用户从自己的主目录中提供页面(使用"/~username")

(X)

使用MD5摘要认证(更安全,但是只有最新的浏览器才支持)

(E)

基于实际认证支持者创建扩展的认证支持者,并为它起一个别名以便于引用

(E)

提供匿名用户认证支持

(E)

使用SQL数据库为认证提供支持

(E)

使用DBM数据库为认证提供支持

(E)

允许使用一个LDAP目录存储用户名和密码数据库来执行基本认证和授权

(E)

使用DBM数据库文件为组提供授权支持

(E)

基于文件的所有者进行授权

(E)

基于URI键的内容动态缓冲(内存或磁盘)

(E)

允许Apache使用CERN httpd元文件,从而可以在发送文件时对头进行修改

(X)

允许对页面进行字符集转换

(E)

(E)

(E)

(E)

管理SQL数据库连接,为需要数据库功能的模块提供支持

(E)

压缩发送给客户端的内容

(E)

基于磁盘的缓冲管理器

(E)

将所有I/O操作转储到错误日志中

(X)

一个很简单的协议演示模块

(X)

一个很简单的Apache模块API演示模块

(E)

允许通过配置文件控制HTTP"Expires:""Cache-Control:"头内容

(E)

使用外部程序作为过滤器

(X)

提供文件描述符缓存支持,从而提高Apache性能

(E)

允许通过配置文件控制任意的HTTP请求和应答头信息

(E)

实现RFC1413规定的ident查找

(E)

生成Apache配置情况的Web页面

(E)

为其它LDAP模块提供LDAP连接池和结果缓冲服务

(E)

实现"对比日志",即在请求被处理之前和处理完成之后进行两次记录

(E)

对每个请求的输入/输出字节数以及HTTP头进行日志记录

(E)

基于内存的缓冲管理器

(E)

通过读取部分文件内容自动猜测文件的MIME类型

(E)

提供HTTP/1.1的代理/网关功能支持

(E)

(E)

(E)

(E)

(E)

(E)

一个基于一定规则的实时重写URL请求的引擎

(E)

允许运行时加载DSO模块

(E)

自动纠正URL中的拼写错误

(E)

使用安全套接字层(SSL)和传输层安全(TLS)协议实现高强度加密传输

(E)

(E)

为每个请求生成唯一的标识以便跟踪

(E)

使用Session跟踪用户(会发送很多Cookie),以记录用户的点击流

(E)

提供基于版本的配置段支持

(E)

提供大批量虚拟主机的动态配置支持

 

2、Apache HTTP服务器是一个模块化的软件,管理员可以通过选择服务器中包含的模块进行功能增减。模块可以在编译时被静态包含进httpd二进制文件,也可以编译成独立于httpd二进制文件的动态共享对象(DSO)DSO模块可以与服务器一起编译,也可以用Apache扩展工具(apxs)单独编译。

3、ISAPI 服务器扩展是可以被 HTTP 服务器加载和调用的 DLLInternet 服务器扩展也称为 Internet 服务器应用程序 (ISA),用于增强符合 Internet 服务器 API (ISAPI) 的服务器的功能。ISA 通过浏览器应用程序调用,并且将相似的功能提供给通用网关接口 (CGI) 应用程序。

可选包选项:

 

--with-PACKAGE[=ARG]

包含包的语法

use PACKAGE [ARG=yes]

--without-PACKAGE

不使用该包语法

do not use PACKAGE (same as --with-PACKAGE=no)

--with-included-apr

捆绑拷贝apr/apr-util信息

Use bundled copies of APR/APR-Util

--with-apr=PATH

apr的安装目录

prefix for installed APR or the full path to

--with-apr-util=PATH

apu的安装目录

prefix for installed APU or the full path to apu-config

--with-pcre=PATH

使用扩展的PCRE正则表达式库

Use external PCRE library

--with-port=PORT

监听端口

Port on which to listen (default is 80)

--with-sslport=SSLPORT

ssl的监听端口

Port on which to securelisten (default is 443)

--with-z=DIR

zlib的库文件位置

use a specific zlib library

--with-sslc=DIR

RSA SSL-C SSL/TLS软件包目录

RSA SSL-C SSL/TLS toolkit

--with-ssl=DIR

openssl包的位置。

OpenSSL SSL/TLS toolkit

--with-mpm=MPM

选择apache所使用的处理模块。(注1

Choose the process model for Apacheto use.
MPM={beos|event|worker|prefork|mpmt_os2}

--with-module=module-type:module-file

添加第三方模块。(注2

Enable module-file in the modules/directory.

--with-program-name

指定可执行程序的名字[默认为:httpd],若使用此选项则默认配置文件的名字将同时变成"NAME.conf"

alternate executable name

--with-suexec-bin

suexec二进制文件目录[默认--sbindir]

Path to suexec binary

--with-suexec-calle

允许调用suexec的用户,改用户必须和运行httpd子进程的用户相同

User allowed to call SuExec

--with-suexec-userdir

用户主目录下允许suexec对其中的文件具有执行权限的子目录,仅在将suexec和用户网站目录(mod_userdir提供支持)一起使用的情况下才需要设置此选项[public_html]

User subdirectory

--with-suexec-docroot

允许suexec对其中的文件具有执行权限的根目录[--datadir/htdocs]

SuExec root directory

--with-suexec-uidmin

允许执行suexec的最小UID[100]

Minimal allowed UID

--with-suexec-gidmin

允许执行suexec的最小GID[100]

Minimal allowed GID


--with-suexec-logfile

suexec日志文件名[默认文件名为:suexec_log ,位于--logfiledir目录下]

Set the logfile

--with-suexec-safepath

suexec"安全"PATH环境变量的值[/usr/local/bin:/usr/bin:/bin]

Set the safepath

--with-suexec-umask

suexec进程的umask[取决于系统的设定]

umask for suexec'd process

 

注:1MPM是你想要使用的多路处理模块的名字。如果你不使用这个选项,那么将会使用对应于各平台的默认MPM

2、module-file是模块的源代码文件名,该文件必须位于Apahe源代码目录树的"modules/module-type"目录下,如果configure没有在那里找到module-file ,则将它看作一个绝对路径名并尝试将其复制到"modules/module-type"目录中,如果"modules/module-type"目录不存在,configure将新建一个"modules/module-type"目录并在其中放置一个标准的Makefile.in文件。这种方法有两个明显的缺陷:模块的源代码必须是单一文件;模块只能静态连接进核心,而不能作为DSO模块。所以一般并不使用此方法,而是使用apxs(Apache扩展工具)来添加第三方模块支持。


编译器选项:

 

CC

指定的C编译器

C compiler command

CFLAGS

C编译器的FLAGS

C compiler flags

LDFLAGS

连接器flags,比如使用"-L-Llibdir"指定一个非标准的库文件目录libdir

linker flags, e.g. -L if you have libraries in a nonstandard directory

LIBS

设定线程模型

libraries to pass to the linker, e.g. -l

CPPFLAGS

C/C++预处理程序flags,比如使用"-Iincludedir"指定一个非标准的头文件目录includedir

C/C++/Objective C preprocessor flags, e.g. -I if
you have headers in a nonstandard directory

CPP

C预处理程序

C preprocessor

 

4、编译安装

./configure --prefix=/usr/local/apache --enable-authn-dbm --enable-authz-dbm --enable-ssl --enable-vhost-alias --enable-rewrite --enable-so --enable-charset-lite --enable-deflate --with-z --with-ssl --with-mpm=prefork

make

make install

阅读(1111) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~