본문 바로가기
Linux

Configure 옵션 (Apache)

by YoYoHa 2019. 4. 2.
728x90
반응형

1. 구성 옵션 

   이 옵션들은 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 : 저작권 정보를 출력하고 종료한다.

 

2. 설치 디렉토리

   이 옵션들은 설치 디렉토리를 지정한다. 설치 위치는 선택한 구조(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이다.

 

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

   설치 디렉토리를 더 수정한다면 아래 옵션을 사용한다.

   각 디렉토리의 기본값은 autoconf가 지정하며, 선택한 구조에 따라 다름을 주의

 

--bindir=DIR : 사용자 실행파일을 DIR에 설치한다.  사용자 실행파일에는 사이트 관리자에게 유용한 htpasswd와 dbmmanage같은 지원프로그램도 포함된다. DIR의 기본값은 EPREFIX/bin 이다.

 

--includedir=DIR : C 헤더파일을 DIR에 설치한다. includedir의 기본값은 EPREFIX/include이다.

--libdir=DIR : 오브젝트코드 라이브러리를 DIR에 설치한다.  libdir의 기본값은 EPREFIX/lib이다.

--libexecdir=DIR : 프로그램 실행파일을 DIR에 설치한다. 기본값은 EPREFIX/libexec이다.

--mandir=DIR : man 문서를 DIR에 설치한다. mandir의 기본값은 EPREFIX/man이다.

--sbindir=DIR : 시스템 관리자용 실행파일을 DIR에 설치한다.  시스템 관리자용 실행파일이란 아파치 웹서버를 실행하는데 필요한 httpd, apachectl, suexec등 서버 프로그램을 말한다.   sbindir의 기본값은 EPREFIX/sbin이다.

 

--sysconfdir=DIR : 서버 설정파일 httpd.conf, mime.types와 같은 읽기 전용 자료를 DIR에 설치한다.   sysconfdir의 기본값은 PREFIX/etc이다.

 

4. 시스템 종류

   다른 시스템에서 실행할 아파치 웹서버를 교차 컴파일하기 위한 옵션들이다.

   서버를 컴파일한 시스템에서 서버를 실행하는 일반적인 경우, 이 옵션을 사용하지 않는다.

 

--build=BUILD : 도구를 컴파일하는 시스템의 종류를 지정한다.  기본값은 config.guess 스크립트의 결과이다.

--host=HOST : 서버를 실행할 시스템의 종류를 지정한다.  HOST의 기본값은 BUILD이다.

--target=TARGET : TARGET 시스템 종류를 위한 컴파일러를 만들때 사용한다. 기본값은 HOST이다. 

 

5. 기능 선택

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

 

--disable=FEATURE : FEATURE 기능을 뺀다.  --enable-FEATURE=no와 같다.

--enable-FEATURE[=ARG] : FEATURE 기능을 포함한다.  ARG의 기본값은 yes이다.

--enable-MODULE=shared : 해당 모듈을 DSO 모듈로 컴파일한다.

--enable-MODULE=static : 포함하는 모듈은 기본적으로 정적으로 링크된다. 이 옵션은 명시적으로 정적 링크를 강제함

 

   아래 옵션은 기본적으로 컴파일되는 모듈중 특정 모듈을 컴파일 과정에서 제외한다.

 

--disable-actions : mod_actions이 제공하는 요청에 대한 행동 기능을 사용하지 않는다.

--disable-alias : mod_alias가 제공하는 요청을 파일시스템의 다른 부분으로 대응하는 기능을 사용하지 않는다.

--disable-asis : mod_asis가 제공하는 as-is 파일형을 지원하지 않는다.

--disable-auto : 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-imagemap : mod_imagemap이 제공하는 서버기반 imagemap 기능을 사용하지 않는다.

--disable-include : mod_include가 제공하는 Server Side Includes 기능을 사용하지 않는다.

--disable-log-config : mod_log_config가 제공하는 로그 설정을 사용하지 않는다.   이 모듈이 없으면 서버의 요청을 로그에 기록할 수 없다.

 

--disable-mime : mod_mime는 요청한 파일명의 확장자에 따라 파일의 행동과 내용을 결정한다.   이 옵션을 추가하면 파일 확장자를 MIME와 연관하지 않는다.

 

--disable-negotiation : mod_negotiation이 제공하는 내용협상 기능을 사용하지 않는다.

--disable-setenvif : mod_setenvif가 제공하는 헤더에 따라 환경 변수를 설정하는 기능을 사용하지 않는다.

--disable-status : mod_statis가 제공하는 프로세스/쓰레드 감시 기능을 사용하지 않는다.

--disable-userdir : mod_userdir이 제공하는 요청을 사용자별 디렉토리에 대응하는 기능을 사용하지 않는다.

 

   아래 옵션은 기본적으로 컴파일 하지 않는 모듈이며, 아래 옵션을 사용하여 모듈을 추가로 컴파일 할 수 있다.

 

--enable-auth-anon : mod_auth_anon이 제공하는 익명사용자 접근 기능 사용

--enable-auth-dbm : mod_auth_dbm은 사용자명과 암호를 DBM형식의 데이터베이스 파일에 저장하는 HTTP Basic Authentication에서 사용

 

--enable-auth-digest : mod_auth_digest는 정보를 일반 문자파일에 저장

--enable-authnz-ldap : mod_authnz_ldap이 제공하는 LDAP기반 인증 기능 사용

--enable-cache : mod_cache가 제공하는 동적으로 생성하는 파일의 캐싱 기능을 사용한다.   최소한 한가지 저장 관리 모듈을 같이 사용해야 한다. (mod_cache_disk  /  mod_mem_cache)

 

--enable-cern-meta : mod_cern_meta가 제공하는 CERN 메타파일 지원기능 사용

--enable-charset-lite : mod_charset_lite가 제공하는 문자집합 변환 기능 사용 (EBCDIC 시스템에서는 기본 포함)

--enable-dav : mod_dav가 제공하는 WebDAV 프로토콜 처리 기능을 사용 (http 프로토콜 모듈과 같이 사용해야 함)

--enable-dav-fs : mod_dav_fs가 제공하는 DAV의 파일시스템 자원지원 기능 사용 (--enable-dav도 같이 사용해야 함)

--enable-deflate : mod_deflate가 제공하는 압축전송 인코딩 기능 사용

--enable-disk-cache : mod_cache_disk가 제공하는 디스크 캐싱 기능 사용

--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-cahce가 제공하는 메모리 캐싱 기능 사용

--enable-mime-magic : mod_mime_magic이 제공하는 MIME type 자동 인식 기능 사용

--enable-isapi : mod_isapi가 제공하는 isapi확장을 지원

--enable-proxy : mod_proxy가 제공하는 프록시/게이트웨이 기능 사용 (--enable-porxy도 같이 사용해야 함)

--enable-proxy-connect : mod_proxy_connect가 제공하는 CONNECT요청에 대한 프록시 지원 기능 사용 (--enable-proxy도 같이 사용해야 함)

 

--enable-proxy-ftp : mod_proxy_ftp가 제공하는 FTP요청에 대한 프록시 지원 기능 사용 (--enable-proxy도 같이 사용해야 함)

 

--enable-proxy-http : mod_proxy_http가 제공하는 HTTP요청에 대한 프록시 지원 기능 사용 (--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가 제공하는 대량 가상호스트 기능을 사용

 

6. 개발자를 위한 모듈

   아래 옵션은 기본적으로 포함하지 않는 테스트용으로 개발자에게 유용한 모듈을 사용하기 위한 옵션이다.

 

--enable-bucketeer : mod_bucketter가 제공하는 버킷(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_fon_export가 제공하는 선택적인 함수 export의 예를 사용

--enable-optional-fn-import mod_optional_fon_import가 제공하는 선택적인 함수 import의 예를 사용

--enable-optional-hook-export : mod_optional_hook_export가 제공하는 선택적인 hook export의 예를 사용 

--enable-optional-hook-import : mod_optional_hook_import가 제공하는 선택적인 hook import의 예를 사용

 

7. MPM과 제 3자가 만든 모듈

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

 

--with-module=module-type:module-file : 제 3자가 만든 모듈을 정적으로 링크할 모듈 목록에 추가

--with-mpm=MPM : 서버의 동작방식을 선택한다.  한가지 다중처리모듈만을 선택해야 한다.   선택하지 않으면 사용하는 운영체제의 기본 MPM을 사용한다.   사용할 수 있는 MPM에는 beos, leader, mpmt_os2, perchild, prefork, threadpool, worker가 있다.

 

   기타 옵션

 

--enable-maintainer-mode : 디버깅 모드와 컴파일시 경고를 작동

--enable-mods-shared=MODULE_LIST : 동적공유모듈로 컴파일할 모듈 목록을 지정한다.   LoadModule 지시어를 사용하여 동적으로 읽어들여야 한다.   MODULE-LIST는 공백으로 구분한 모듈명들을 따옴표로 묶은 목록이다.

 

--enable-v4-mapped : IPv6 소켓이 IPv4 연결을 처리할 수 있도록 한다.

--with-port=PORT : httpd가 기다릴 포트를 지정한다. 이 포트번호는 설정파일 httpd.conf를 만들때 쓰인다. (기본값 80)

--with-program-name : 다른 실행파일명을 지정한다. 기본값은 httpd

 

8. 추가 패키지 선택

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

 

   일반적인 문법을 사용

 

--with-PACKAGE[=ARG] : 추가 패키지 사용, ARG의 기본값은 yes

--without-PACKAGE : 패키지를 사용하지 않는다.  --with-PACKAGE=no와 같다.

 

   특정 패키지

 

--with-apr=DIR | FILE : httpd 소스 배포본에 포함된 Apache Portable Runtime(APR)은 자동으로 웹서버와 같이 컴파일된다.   만약 이미 설치된 APU를 대신 사용하고 싶다면 configure에게 apu-config 스크립트경로 를 알려 주어야 한다. APU가 설치된 절대경로, 파일명, 디렉토리명을 사용할 수 있으며 지정한 디렉토리나 그 디렉토리의 하위디렉토리 bin에 apu-config가 있어야 한다.

 

--with-ssl=DIR : 구성에 필요하다면 자동으로 configure는 설치된 zlib 라이브러리를 찾는다.  대신 이 옵션을 사용하여 SSL/TLS 도구의 디렉토리 경로를 알려줄 수 있다.

 

--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를 찾는다.

 

9. 지원 프로그램을 위한 옵션

--enable-static-support : 지원 프로그램을 정적으로 링크된 실행파일로 만든다. 즉, 필요한 라이브러리를 모두 포함하도록 실행파일을 컴파일 한다.   이 옵션을 사용하지 않으면 기본값으로 지원 프로그램을 동적으로 링크한다.

 

--enable-suexec : 웹 서버가 실행하는 프로세스의 uid와 gid를 설정하는 suexec를 사용하려면 이 옵션을 사용 suid 실행파일의 보안상 위험을 모두 알고나서 사용을 권장

 

   아래 옵션을 사용하여 지원 프로그램별 정적으로 링크된 실행파일을 만들 수 있다.

 

--enable-static-ab : ab를 정적으로 링크된 실행파일로 컴파일

--enable-static-checkgid : checkgid를 정적으로 링크된 실행파일로 컴파일

--enable-static-htdbm : htdbm을 정적으로 링크된 실행파일로 컴파일

--enable-static-htdigest : htdigest를 정적으로 링크된 실행파일로 컴파일

--enable-sttic-htpasswd : htpasswd를 정적으로 링크된 실행파일로 컴파일

--enable-static-logresolve : logresolve를 정적으로 링크된 실행파일로 컴파일

--enable-static-rotatelogs : rotatelogs를 정적으로 링크된 실행파일로 컴파일

 

   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가 접근할 수 있는(실행파일이 있는) 하위 디렉토리를 지정한다.   기본값은 public_html

 

--with-suexec-uidmin : suexec에서 지정가능한 최소 UID를 설정, 기본값은 100

--with-suexec-umask : suexec가 실행하는 프로세스의 umask를 지정, 기본값은 사용하는 시스템의 기본 설정과 동일

 

참조 https://httpd.apache.org/docs/2.4/ko/programs/configure.html

728x90
반응형

'Linux' 카테고리의 다른 글

[Docker] 도커 명령어  (0) 2021.11.18
Apache 디렉토리 리스팅 제거  (0) 2019.04.05
Ubuntu IP 고정할당  (0) 2019.04.01
Configure, make, make install  (0) 2019.04.01
LAMP 구성, AMP 컴파일설치(Apache)  (0) 2019.03.30

댓글