configure - 소스 트리를 구성한다 - Apache HTTP Server

Apache HTTP Server Version 2.0

Apache > HTTP Server > Documentation > Version 2.0 > Programs

# configure - 소스 트리를 구성한다

가능한 언어: en | ko

`configure` 스크립트는 특정 플래폼에서 아파치 웹서버를 컴파일하고 설치하기위해 소스 트리를 구성한다. 여러 옵션을 사용하여 원하는 요구조건에 맞게 서버를 컴파일할 수 있다.

소스 배포본의 최상위 디렉토리에 있는 이 스크립트는 유닉스와 유닉스류 시스템에서만 사용한다. 다른 플래폼을 사용한다면 플래폼 문서를 참고하라.

### 참고

- 컴파일과 설치

## 개요

`configure` 스크립트는 배포본의 최상위 디렉토리에서 실행해야 한다.

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

환경변수를 (예를 들어, `CC`, `CFLAGS`, ...) 지정하려면, `VAR=VALUE`와 같이 지시한다. 아래에서 유용한 환경변수들을 설명한다.

## 옵션

- 구성 옵션
- 설치 디렉토리
- 시스템 종류
- 기능 선택
- 지원 프로그램을 위한 옵션

### 구성 옵션

이 옵션들은 `configure` 자체 행동에 영향을 준다.

`-C`
`--config-cache`
  `--cache-file=config.cache`와 같다.
`--cache-file=FILE`
  검사 결과를 FILE 파일에 캐싱한다. 기본값은 검사 결과를 기록하지 않는다.
`-h`
`--help [short|recursive]`
  도움말을 출력하고 종료한다. `short` 아규먼트는 이 패키지 특유의 옵션만을 출력한다. `recursive` 아규먼트는 포함된 모든 패키지에 대한 짧은 도움말을 보여준다.
`-n`
`--no-create`
  `configure` 스크립트를 정상적으로 실행하지만, 출력파일을 만들지 않는다. 이 옵션은 컴파일을 위한 makefile을 만들기 이전에 검사 결과를 확인해볼때 유용하다.
`-q`
`--quiet`
  실행중에 `checking ...` 문구를 출력하지 않는다.
`--srcdir=DIR`
  DIR 디렉토리를 소스파일 디렉토리로 지정한다. 기본값은 configure가 있는 디렉토리 혹은 상위디렉토리 `..`이다.
`--silent`
  `--quiet`와 같다.
-V
--version
  저작권 정보를 출력하고 종료한다.

### 설치 디렉토리

이 옵션들은 설치 디렉토리를 지정한다. 설치 위치는 선택한 구조(layout)에 따라 다르다.

`--prefix=PREFIX`
  아키텍쳐에 독립적인 파일을 PREFIX에 설치한다. 기본값은 `/usr/local/apache2`이다.
`--exec-prefix=EPREFIX`
  아키텍쳐에 의존적인 파일을 EPREFIX에 설치한다. 기본값은 PREFIX 디렉토리이다.

기본적으로 `make install`은 `/usr/local/apache2/bin`, `/usr/local/apache2/lib`와 같은 위치에 모든 파일을 설치한다. `--prefix=$HOME`과 같이 `--prefix` 옵션을 사용하여 `/usr/local/apache2` 이외의 설치 상위디렉토리를 지정할 수 있다.

#### 디렉토리 구조 지정

`--enable-layout=LAYOUT`
  설치 위치를 LAYOUT 구조에 따르도록 소스코드와 컴파일 스크립트를 구성한다. 구조를 사용하면 파일 종류에 따라 설치 위치를 따로 지정할 수 있다. `config.layout` 파일에 여러 설정 예가 있고, 이를 참고하여 직접 설정을 만들 수도 있다. 파일에서 각 구조는 `<Layout FOO>...</Layout>`로 구분되며, 이 부분은 `FOO`라는 이름의 구조를 나타낸다. 구조의 기본값은 `Apache`이다.

#### 설치 디렉토리의 자세한 조정

설치 디렉토리를 더 수정한다면 아래 옵션을 사용한다. 각 디렉토리의 기본값은 `autoconf`가 지정하며, 선택한 구조에 따라 다름을 주의하라.

`--bindir=DIR`
  사용자 실행파일을 DIR에 설치한다. 사용자 실행파일에는 사이트 관리자에게 유용한 `htpasswd`와 `dbmmanage` 같은 지원 프로그램도 포함된다. DIR의 기본값은 `EPREFIX/bin`이다.
`--datadir=DIR`
  아키텍쳐 독립적인 읽기전용 자료를 DIR에 설치한다. `datadir`의 기본값은 `PREFIX/share`이다. `autoconf`에 이 옵션이 있지만 현재 사용하지 않는다.
`--includedir=DIR`
  C 헤더파일을 DIR에 설치한다. `includedir`의 기본값은 `EPREFIX/include`이다.
`--infodir=DIR`
  info 문서를 DIR에 설치한다. `infodir`의 기본값은 `PREFIX/info`이다. 현재 이 옵션은 사용하지 않는다.
`--libdir=DIR`
  오브젝트코드 라이브러리를 DIR에 설치한다. `libdir`의 기본값은 `EPREFIX/lib`이다.
`--libexecdir=DIR`
  프로그램 실행파일을 (즉, 공유모듈) DIR에 설치한다. `libexecdir`의 기본값은 `EPREFIX/libexec`이다.
`--localstatedir=DIR`
  변경되는 머쉰별 정보를 DIR에 설치한다. `localstatedir`의 기본값은 `PREFIX/var`이다. `autoconf`에 이 옵션이 있지만 현재 사용하지 않는다.
`--mandir=DIR`
  man 문서를 DIR에 설치한다. `mandir`의 기본값은 `EPREFIX/man`이다.
`--oldincludedir=DIR`
  gcc가 아닌 컴파일러를 위한 C 헤더파일을 DIR에 설치한다. `oldincludedir`의 기본값은 `/usr/include`이다. `autoconf`에 이 옵션이 있지만 현재 사용하지 않는다.
`--sbindir=DIR`
  시스템 관리자용 실행파일을 DIR에 설치한다. 시스템 관리자용 실행파일이란 아파치 웹서버를 실행하는데 필요한 `httpd`, `apachectl`, `suexec` 등 서버 프로그램을 말한다. `sbindir`의 기본값은 `EPREFIX/sbin`이다.
`--sharedstatedir=DIR`
  변경되는 아키텍쳐 독립적인 자료를 DIR에 설치한다. `sharedstatedir`의 기본값은 `PREFIX/com`이다. `autoconf`에 이 옵션이 있지만 현재 사용하지 않는다.
`--sysconfdir=DIR`
  서버 설정파일 `httpd.conf`, `mime.types`와 같은 읽기전용 머쉰별 자료를 DIR에 설치한다. `sysconfdir`의 기본값은 `PREFIX/etc`이다.

### 시스템 종류

다른 시스템에서 실행할 아파치 웹서버를 교차컴파일하기(cross-compile)하기 위한 옵션들이다. 서버를 컴파일한 시스템에서 서버를 실행하는 일반적인 경우, 이 옵션을 사용하지 않는다.

`--build=BUILD`
  도구를 컴파일하는 시스템의 종류를 지정한다. 기본값은 `config.guess` 스크립트의 결과이다.
`--host=HOST`
  서버를 실행할 시스템의 종류를 지정한다. HOST의 기본값은 BUILD이다.
`--target=TARGET`
  TARGET 시스템 종류를 위한 컴파일러를 만들때 사용한다. 기본값은 HOST이다. `autoconf`에 이 옵션이 있지만 아파치 웹서버와는 관련이 없다.

### 기능 선택

이 옵션은 웹서버의 세부 기능을 조절한다.

#### 일반적인 문법

일반적으로 다음 문법을 사용하여 기능을 포함하고 뺀다:

`--disable-FEATURE`
  FEATURE 기능을 뺀다. `--enable-FEATURE=no`와 같다.
`--enable-FEATURE[=ARG]`
  FEATURE 기능을 포함한다. ARG의 기본값은 `yes`이다.
`--enable-MODULE=shared`
  해당 모듈을 DSO 모듈로 컴파일한다.
`--enable-MODULE=static`
  포함하는 모듈은 기본적으로 정적으로 링크된다. 이 옵션은 명시적으로 정적 링크를 강제한다.

### 주의

`configure`는 foo가 없는 경우 `--enable-foo`를 사용해도 이 사실을 알려주지 않으므로 주의해서 입력해야 한다.

#### 기본적으로 포함하는 모듈

어떤 모듈은 기본적으로 컴파일되기때문에 사용하지 않는다면 명시적으로 빼줘야 한다. 다음 옵션은 특정 모듈을 컴파일 과정에서 제외한다.

`--disable-actions`
  `mod_actions`가 제공하는 요청에 대한 행동 기능을 사용하지 않는다.
`--disable-alias`
  `mod_alias`가 제공하는 요청을 파일시스템의 다른 부분으로 대응하는 기능을 사용하지 않는다.
`--disable-asis`
  `mod_asis`가 제공하는 as-is 파일형을 지원하지 않는다.
`--disable-auth`
  `mod_auth`가 제공하는 사용자별 접근제어 기능을 사용하지 않는다. 이 모듈은 사용자명과 암호를 일반 문자파일에 저장하는 HTTP Basic Authentication에서 사용한다.
`--disable-autoindex`
  `mod_autoindex`가 제공하는 디렉토리 목록 기능을 사용하지 않는다.
`--disable-access`
  `mod_access`가 제공하는 호스트별 접근제어 기능을 사용하지 않는다.
`--disable-cgi`
  비쓰레드 MPM을 사용하는 경우 CGI 스크립트를 지원하는 `mod_cgi`를 기본적으로 포함한다. 이 옵션을 사용하면 CGI를 지원하지 않는다.
`--disable-cgid`
  쓰레드 MPM인 `worker`나 `perchild`를 사용하는 경우 기본적으로 `mod_cgid`가 CGI 스크립트를 지원한다. 이 옵션을 사용하면 CGI를 지원하지 않는다.
`--disable-charset-lite`
  `mod_charset_lite`가 제공하는 문자집합 변환 기능을 사용하지 않는다. 이 모듈은 EBCDIC 시스템에서만 기본적으로 포함한다.
`--disable-dir`
  `mod_dir`이 제공하는 디렉토리 요청 처리 기능을 사용하지 않는다.
`--disable-env`
  `mod_env`가 제공하는 환경변수 설정/해제 기능을 사용하지 않는다.
`--disable-http`
  HTTP 프로토콜을 처리하지 않는다. `http` 모듈은 서버가 웹서버로 동작하는데 기본적인 모듈이다. 대신 다른 프로토콜 모듈을 사용할 경우에만 이 모듈이 유용하다. 자신이 무엇을 하는지 확실히 알지 못한다면 이 옵션을 빼지 마라
  주의: 이 모듈은 항상 정적으로 링크된다.
`--disable-imap`
  `mod_imap`이 제공하는 서버기반 imagemap 기능을 사용하지 않는다.
`--disable-include`
  `mod_include`가 제공하는 Server Side Includes 기능을 사용하지 않는다.
`--disable-log-config`
  `mod_log_config`가 제공하는 로그 설정을 사용하지 않는다. 이 모듈이 없으면 서버의 요청을 로그에 기록할 수 없다.
`--disable-mime`
  `mod_mime`은 요청한 파일명의 확장자에 따라 파일의 행동과 내용(mime-type, 언어, 문자집합, 인코딩)을 결정한다. (이 모듈을 제거하여) 파일 확장자를 MIME과 연관하지 않는 것을 일반적으로 추천하지 않는다.
`--disable-negotiation`
  `mod_negotiation`이 제공하는 내용협상 기능을 사용하지 않는다.
`--disable-setenvif`
  `mod_setenvif`가 제공하는 헤더에 따라 환경변수를 설정하는 기능을 사용하지 않는다.
`--disable-status`
  `mod_status`가 제공하는 프로세스/쓰레드 감시 기능을 사용하지 않는다.
`--disable-userdir`
  `mod_userdir`이 제공하는 요청을 사용자별 디렉토리에 대응하는 기능을 사용하지 않는다.

#### 기본적으로 포함하지 않는 모듈

기본적으로 컴파일되는 모듈도 있지만, 모듈을 사용하려면 직접 혹은 `most`나 `all` 키워드를 사용하여 명시적으로 포함해야 하는 모듈이 있다. 그래서 아래 옵션들을 사용한다.

`--enable-auth-anon`
  `mod_auth_anon`이 제공하는 익명사용자 접근 기능을 사용한다.
`--enable-auth-dbm`
  `mod_auth_dbm`은 사용자명과 암호를 DBM형식의 데이터베이스 파일에 저장하는 HTTP Basic Authentication에서 사용한다. 모듈을 사용하려면 이 옵션을 사용한다.
`--enable-auth-digest`
  `mod_auth_digest`가 제공하는 RFC2617 Digest authentication을 사용한다. 이 모듈은 정보를 일반 문자파일에 저장한다.
`--enable-auth-ldap`
  `mod_auth_ldap`이 제공하는 LDAP기반 인증 기능을 사용한다.
`--enable-cache`
  `mod_cache`가 제공하는 동적으로 생성하는 파일의 캐싱 기능을 사용한다. 매우 부하가 많거나 프록시 서버를 캐싱하는 서버에게 이 실험적인 모듈이 유용할 수 있다. 최소한 한가지 저장관리모듈(storage management module)을 (예를 들어, `mod_disk_cache`나 `mod_mem_cache`) 같이 사용해야 한다.
`--enable-cern-meta`
  `mod_cern_meta`가 제공하는 CERN 메타파일 지원 기능을 사용한다.
`--enable-charset-lite`
  `mod_charset_lite`가 제공하는 문자집합 변환 기능을 사용한다. 이 모듈은 EBCDIC 시스템에서만 기본적으로 포함된다. 다른 시스템에서는 직접 포함시켜줘야 한다.
`--enable-dav`
  `mod_dav`가 제공하는 WebDAV 프로토콜 처리 기능을 사용한다. 독립된 `mod_dav_fs` 모듈이 파일시스템 자원을 지원한다. 이 모듈은 `--enable-dav`를 사용하면 자동으로 포함한다.
  주의: `mod_dav`는 `http` 프로토콜 모듈과 같이 사용해야 한다.
`--enable-dav-fs`
  `mod_dav_fs`가 제공하는 DAV의 파일시스템 자원 지원 기능을 사용한다. 이 모듈은 `mod_dav` 모듈을 위한 제공자이기 때문에 `--enable-dav`도 사용해야 한다.
`--enable-deflate`
  `mod_deflate`가 제공하는 압축전송 인코딩 기능을 사용한다.
`--enable-disk-cache`
  `mod_disk_cache`가 제공하는 디스크 캐싱 기능을 사용한다.
`--enable-expires`
  `mod_expires`가 제공하는 Expires 헤더 조절 기능을 사용한다.
`--enable-ext-filter`
  `mod_ext_filter`가 제공하는 외부 필터 지원 기능을 사용한다.
`--enable-file-cache`
  `mod_file_cache`가 제공하는 파일 캐싱 기능을 사용한다.
`--enable-headers`
  `mod_headers`가 제공하는 HTTP 헤더 조절 기능을 사용한다.
`--enable-info`
  `mod_info`가 제공하는 서버정보 기능을 사용한다.
`--enable-ldap`
  `mod_ldap`이 제공하는 LDAP 캐싱과 연결풀 기능을 사용한다.
`--enable-logio`
  `mod_logio`가 제공하는 로그에 헤더와 입출력 바이트수를 기록하는 기능을 사용한다.
`--enable-mem-cache`
  `mod_mem_cache`가 제공하는 메모리 캐싱 기능을 사용한다.
`--enable-mime-magic`
  `mod_mime_magic`이 제공하는 MIME type 자동 인식 기능을 사용한다.
`--enable-isapi`
  `mod_isapi`가 제공하는 isapi 확장을 지원한다.
`--enable-proxy`
  `mod_proxy`가 제공하는 프록시/게이트웨이 기능을 사용한다. `CONNECT`, `FTP`, `HTTP`에 대한 프록시 기능을 각각 `mod_proxy_connect`, `mod_proxy_ftp`, `mod_proxy_http` 모듈이 제공한다. `--enable-proxy`를 사용하면 이 세 모듈을 자동으로 포함한다.
`--enable-proxy-connect`
  `mod_proxy_connect`가 제공하는 `CONNECT` 요청에 대한 프록시 지원 기능을 사용한다. 이 모듈은 `mod_proxy` 모듈의 확장이므로, `--enable-proxy`도 같이 사용해야 한다.
`--enable-proxy-ftp`
  `mod_proxy_ftp`가 제공하는 `FTP` 요청에 대한 프록시 지원 기능을 사용한다. 이 모듈은 `mod_proxy` 모듈의 확장이므로, `--enable-proxy`도 같이 사용해야 한다.
`--enable-proxy-http`
  `mod_proxy_http`가 제공하는 `HTTP` 요청에 대한 프록시 지원 기능을 사용한다. 이 모듈은 `mod_proxy` 모듈의 확장이므로, `--enable-proxy`도 같이 사용해야 한다.
`--enable-rewrite`
  `mod_rewrite`가 제공하는 규칙기반 URL 조작 기능을 사용한다.
`--enable-so`
  `mod_so`가 제공하는 DSO 기능을 사용한다. `--enable-mods-shared` 옵션을 사용하면 자동으로 이 모듈을 포함한다.
`--enable-speling`
  `mod_spelling`이 제공하는 URL에서 일반적인 맞춤법 실수를 고치는 기능을 사용한다.
`--enable-ssl`
  `mod_ssl`이 제공하는 SSL/TLS 기능을 사용한다.
`--enable-unique-id`
  `mod_unique_id`가 제공하는 요청마다 유일한 식별자를 만드는 기능을 사용한다.
`--enable-usertrack`
  `mod_usertrack`이 제공하는 사용자세션 추적 기능을 사용한다.
`--enable-vhost-alias`
  `mod_vhost_alias`가 제공하는 대량 가상호스트 기능을 사용한다.

#### 개발자를 위한 모듈

다음 모듈은 테스트용으로 개발자에게만 유용하며, 기본적으로 포함하지 않는다. 이 모듈을 사용하려면 다음 옵션을 사용한다. 이 모듈이 필요한지 확실치않다면 사용하지 마라.

`--enable-bucketeer`
  `mod_bucketeer`가 제공하는 버킷(bucket) 조작 필터를 사용한다.
`--enable-case-filter`
  `mod_case_filter`의 대문자변환 출력필터 견본을 사용한다.
`--enable-case-filter-in`
  `mod_case_filter_in`의 대문자변환 입력필터 견본을 사용한다.
`--enable-echo`
  `mod_echo`가 제공하는 ECHO 서버를 사용한다.
`--enable-example`
  견본 예제모듈인 `mod_example`을 사용한다.
`--enable-optional-fn-export`
  `mod_optional_fn_export`가 제공하는 선택적인 함수 엑스포트(exporter)의 예를 사용한다.
`--enable-optional-fn-import`
  `mod_optional_fn_import`가 제공하는 선택적인 함수 임포트(importer)의 예를 사용한다.
`--enable-optional-hook-export`
  `mod_optional_hook_export`가 제공하는 선택적인 훅(hook) 엑스포트의 예를 사용한다.
`--enable-optional-hook-import`
  `mod_optional_hook_import`가 제공하는 선택적인 훅 임포트의 예를 사용한다.

#### MPM과 제삼자가 만든 모듈

다음 옵션을 사용하여 필요한 다중처리모듈과 제삼자가 만든 모듈을 추가한다:

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

  제삼자가 만든 모듈을 정적으로 링크할 모듈 목록에 추가한다. 아파치 웹서버 소스 트리의 `modules/module-type`에서 모듈의 소스파일 `module-file`을 찾기때문에 그곳에 소스파일이 있어야 한다. 그곳에 파일이 없다면 `configure`는 module-file이 절대파일경로라고 가정하고 소스파일을 module-type 하위디렉토리에 복사하려고 시도한다.

  이 옵션은 소스파일이 한개인 작은 외부 모듈을 추가하는데 유용하다. 더 복잡한 모듈은 개발사가 제공한 문서를 참고해야 한다.

  ### 주의

  정적으로 링크된 모듈이 아닌 DSO 모듈을 원한다면 apxs를 사용하라.
`--with-mpm=MPM`
  서버의 동작방식을 선택한다. 정확히 한가지 다중처리모듈만을 선택해야 한다. 선택하지 않으면 사용하는 운영체제의 기본 MPM을 사용한다. 사용할 수 있는 MPM에는 `beos`, `leader`, `mpmt_os2`, `perchild`, `prefork`, `threadpool`, `worker`가 있다.

#### 기타 옵션

`--enable-maintainer-mode`
  디버깅 모드와 컴파일시 경고를 작동한다.
`--enable-mods-shared=MODULE-LIST`

  동적공유모듈로 컴파일할 모듈 목록을 지정한다. 즉, 이 모듈들은 `LoadModule` 지시어를 사용하여 동적으로 읽어들여야 한다.

  MODULE-LIST는 공백으로 구분한 모듈명들을 따옴표로 묶은 목록이다. 모듈명에서 앞에 `mod_`는 뺀다. 예를 들어:

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

  또, 특별한 키워드 `all`과 `most`를 사용할 수 있다. 예를 들어,

  `--enable-mods-shared=most`

  는 대부분의 모듈을 DSO 모듈로 컴파일한다.

`--enable-modules=MODULE-LIST`
  `--enable-mods-shared`와 비슷하지만, 이 옵션은 열거한 모듈들을 정적으로 링크한다. 즉, 이 모듈들은 `httpd` 실행하면 언제나 사용할 수 있다. `LoadModule`로 읽어들일 필요가 없다.
`--enable-v4-mapped`
  IPv6 소켓이 IPv4 연결을 처리할 수 있도록 한다.
`--with-port=PORT`
  `httpd`가 기다릴 포트를 지정한다. 이 포트번호는 설정파일 `httpd.conf`를 만들때 쓰인다. 기본값은 80이다.
`--with-program-name`
  다른 실행파일명을 지정한다. 기본값은 `httpd`이다.

### 추가 패키지 선택

다음 옵션은 추가 패키지를 선택한다.

#### 일반적인 문법

일반적으로 다음과 같은 문법을 사용하여 추가 패키지를 다룬다:

`--with-PACKAGE[=ARG]`
  패키지 PACKAGE를 사용한다. ARG의 기본값은 `yes`이다.
`--without-PACKAGE`
  패키지 PACKAGE를 사용하지 않는다. `--with-PACKAGE=no`와 같다. `autoconf`에 이 옵션이 있지만 아파치 웹서버와는 관계가 없다.

#### 특정 패키지

`--with-apr=DIR|FILE`
  `httpd` 소스 배포본에 포함된 Apache Portable Runtime (APR)은 자동으로 웹서버와 같이 컴파일된다. 만약 이미 설치된 APR을 대신 사용하고 싶다면 `configure`에게 `apr-config` 스크립트의 경로를 알려주어야 한다. APR가 설치된 절대경로, 파일명, 디렉토리명을 사용할 수 있다. 지정한 디렉토리나 그 디렉토리의 하위디렉토리 `bin`에 `apr-config`가 있어야 한다.
`--with-apr-util=DIR|FILE`
  `httpd` 소스 배포본에 포함된 Apache Portable Runtime Utilities (APU)는 자동으로 웹서버와 같이 컴파일된다. 만약 이미 설치된 APU을 대신 사용하고 싶다면 `configure`에게 `apu-config` 스크립트의 경로를 알려주어야 한다. APU가 설치된 절대경로, 파일명, 디렉토리명을 사용할 수 있다. 지정한 디렉토리나 그 디렉토리의 하위디렉토리 `bin`에 `apu-config`가 있어야 한다.
`--with-ssl=DIR`
  `mod_ssl`을 사용하는 경우 `configure`는 설치된 OpenSSL을 찾는다. 대신 이 옵션을 사용하여 SSL/TLS 도구의 디렉토리경로를 알려줄 수 있다.
`--with-z=DIR`
  (`mod_deflate`를 사용하는 경우와 같이) 구성에 필요하다면 자동으로 `configure`는 설치된 `zlib` 라이브러리를 찾는다. 대신 이 옵션을 사용하여 압축 라이브러리의 디렉토리경로를 알려줄 수 있다.

`mod_authn_dbm`과 `mod_rewrite`의 DBM `RewriteMap` 같은 아파치 웹서버의 일부 기능은 정보를 빨리 찾기위해 간단한 키/값 데이터베이스를 사용한다. APU에 SDBM이 들어있어서 언제나 최소한 이 데이터베이스는 사용할 수 있다. 다른 종류의 데이터베이스를 사용하고 싶다면 아래 옵션을 사용한다:

`--with-gdbm[=path]`
  path를 지정하지 않으면, `configure`는 일반적인 검색경로에서 설치된 GNU DBM 헤더파일과 라이브러리를 찾는다. 직접 path를 지정하면 `configure`는 `path/lib`과 `path/include`에서 필요한 파일을 찾는다. 마지막으로 path에 헤더파일 경로와 라이브러리 경로를 콜론을 사이에 두고 같이 적을 수 있다.
`--with-ndbm[=path]`
  `--with-gdbm`과 같지만 설치된 New DBM을 찾는다.
`--with-berkeley-db[=path]`
  `--with-gdbm`과 같지만 설치된 Berkeley DB를 찾는다.

### 주의

DBM 옵션은 APU가 제공하며 APU 구성스크립트로 직접 전달된다. 그래서 `--with-apr-util`을 사용하여 이미 설치된 APU를 사용한다면 DBM 옵션은 소용이 없다.

웹서버는 여러 DBM 구현을 같이 사용할 수 있다. 실행시 적절한 DBM 종류를 설정할 수 있다.

### 지원 프로그램을 위한 옵션

`--enable-static-support`
  지원 프로그램을 정적으로 링크된 실행파일로 만든다. 즉, 필요한 라이브러리를 모두 포함하도록 실행파일을 컴파일한다. 이 옵션을 사용하지 않으면 기본값으로 지원 프로그램을 동적으로 링크한다.
`--enable-suexec`
  웹서버가 실행하는 프로세스의 uid와 gid를 설정하는 `suexec`를 사용하려면 이 옵션을 사용한다. 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`에서 지정가능한 최소 GID를 설정한다. 기본값은 100이다.
`--with-suexec-logfile`
  `suexec` 로그파일명을 지정한다. 로그파일명의 기본값은 `suexec_log`이고, `--logfiledir`에 위치한다.
`--with-suexec-safepath`
  `suexec`가 시작하는 프로세스의 `PATH` 환경변수값을 지정한다. 기본값은 `/usr/local/bin:/usr/bin:/bin`이다.
`--with-suexec-userdir`
  사용자 디렉토리에서 `suexec`가 접근할 수 있는 (실행파일이 있는) 하위디렉토리를 지정한다. 이 설정은 `suexec`와 (`mod_userdir`이 제공하는) 사용자별 디렉토리를 같이 사용할때 필요하다. 기본값은 `public_html`이다.
`--with-suexec-uidmin`
  `suexec`에서 지정가능한 최소 UID를 설정한다. 기본값은 100이다.
`--with-suexec-umask`
  `suexec`가 실행하는 프로세스의 `umask`를 지정한다. 기본값은 사용하는 시스템의 기본 설정과 같다.

## 환경변수

`configure`의 선택을 무시하거나 관례와 다른 이름이나 위치에 있는 라이브러리와 프로그램을 찾도록 도와주는 유용한 환경변수들이 있다.

`CC`
  컴파일에 사용할 C 컴파일러 명령어를 지정한다.
`CFLAGS`
  컴파일때 사용하길 바라는 C 컴파일러 옵션을 지정한다.
`CPP`
  사용할 C 선처리기 명령어를 지정한다.
`CPPFLAGS`
  C/C++ 선처리기 옵션. 예를 들어, 헤더파일이 관례와 달리 includedir 디렉토리에 있다면 `-Iincludedir`을 사용한다.
`LDFLAGS`
  링커 옵션. 예를 들어, 라이브러리가 관례와 달리 libdir 디렉토리에 있다면 `-Llibdir`을 사용한다.

가능한 언어: en | ko