'configure'에 해당되는 글 3건

  1. 2009.08.12 apache 설치 및 세팅 및 연동 및 configure
  2. 2007.11.18 mysql configure
  3. 2007.11.18 apache configure (아파치 세팅시작)

apache 설치 및 연동 과정

apache (httpd)와 같은경우는 80포트를 listen하여 사용자에게 가장 기본적인 html문서를 보여주는 웹 서버이다.
하지만 어떤 바보 관리자도 html뿐만 아니라 php를 대표적으로 jsp, 각종 페이지들을 연동하여 사용한다.
어떤 관리자는 보안을 위해서 SSL을 적용을 한다거나...

물론 apache말고도 다른 웹서버도 있지만, 타 서버보다 월등이 앞서는 수치를 보여주고 있다.

.............잡설은 여기까지........(잡설쓰는것도 은근히 일이다)

apache URL http://httpd.apache.org
블로그에 글을 올리는 순간 httpd의 Version : 2.2.13
설치 및 테스트 버전 : 당연히 최신으로.

대충 미러서버를 선택해서 다운을 받자...나는 불친절하게도 다운받을수 있는곳까지 url은 적어주지 않겠다...

[root@kki apache]# ls -al
-rw-rw-r--  1 kki  kki  6897450 2009-08-12 08:09 httpd-2.2.13.tar.gz
tar zxvf httpd-2.2.13.tar.gz을 하면 tar.gz파일의 압축이 다 풀린다..

[root@kki httpd-2.2.13]# ls
ABOUT_APACHE    LICENSE           ROADMAP           configure.in  os
Apache.dsw      Makefile.in       VERSIONING        docs          server
BuildAll.dsp    Makefile.win      acinclude.m4      emacs-style   srclib
BuildBin.dsp    NOTICE            apachenw.mcp.zip  httpd.dsp     support
CHANGES         NWGNUmakefile     build             httpd.spec    test
INSTALL         README            buildconf         include
InstallBin.dsp  README-win32.txt  config.layout     libhttpd.dsp
LAYOUT          README.platforms  configure         modules
[root@kki httpd-2.2.13]#

일단 해야할 일...
vi INSTALL (install문서를 읽어본다....예전에 비해서 많이 불친절해진 INSTALL 문서 파일..ㄱ-)

초간단 설치 메뉴얼이다
./configure --prefix=경로명
make install

이것으로써 아파치 설치를 끝낸다...............
라고 말하면 아마도 (이 변태는 뭔가?)라는 생각이 들테지.
configure 옵션

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

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
  -q, --quiet, --silent   do not print `checking...' messages
      --cache-file=FILE   cache test results in FILE [disabled]
  -C, --config-cache      alias for `--cache-file=config.cache'
  -n, --no-create         do not create output files
      --srcdir=DIR        find the sources in DIR [configure dir or `..']

Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX

By default, `make install' will install all the files in
`/usr/local/apache2/bin', `/usr/local/apache2/lib' etc.  You can specify
an installation prefix other than `/usr/local/apache2' using `--prefix',
for instance `--prefix=$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
  --bindir=DIR            user executables [EPREFIX/bin]
  --sbindir=DIR           system admin executables [EPREFIX/sbin]
  --libexecdir=DIR        program executables [EPREFIX/libexec]
  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
  --libdir=DIR            object code libraries [EPREFIX/lib]
  --includedir=DIR        C header files [PREFIX/include]
  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
  --infodir=DIR           info documentation [DATAROOTDIR/info]
  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
  --mandir=DIR            man documentation [DATAROOTDIR/man]
  --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
  --htmldir=DIR           html documentation [DOCDIR]
  --dvidir=DIR            dvi documentation [DOCDIR]
  --pdfdir=DIR            pdf documentation [DOCDIR]
  --psdir=DIR             ps documentation [DOCDIR]

System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
  --target=TARGET   configure for building compilers for TARGET [HOST]

Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --enable-v4-mapped      Allow IPv6 sockets to handle IPv4 connections
  --enable-exception-hook Enable fatal exception hook
                          Turn on debugging and compile time warnings
  --enable-pie            Build httpd as a Position Independent Executable
                          Space-separated list of modules to enable | "all" |
                          Space-separated list of shared modules to enable |
                          "all" | "most"
  --disable-authn-file    file-based authentication control
  --enable-authn-dbm      DBM-based authentication control
  --enable-authn-anon     anonymous user authentication control
  --enable-authn-dbd      SQL-based authentication control
  --disable-authn-default authentication backstopper
  --enable-authn-alias    auth provider alias
  --disable-authz-host    host-based authorization control
                          'require group' authorization control
  --disable-authz-user    'require user' authorization control
  --enable-authz-dbm      DBM-based authorization control
  --enable-authz-owner    'require file-owner' authorization control
  --enable-authnz-ldap    LDAP based authentication
  --disable-authz-default authorization control backstopper
  --disable-auth-basic    basic authentication
  --enable-auth-digest    RFC2617 Digest authentication
  --enable-isapi          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            Apache DBD Framework
  --enable-bucketeer      buckets manipulation filter
  --enable-dumpio         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       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 caching and connection pooling services
  --disable-log-config    logging configuration
  --enable-log-forensic   forensic logging
  --enable-logio          input and output logging
  --disable-env           clearing/setting of ENV vars
  --enable-mime-magic     automagically determining MIME type
  --enable-cern-meta      CERN-type meta files
  --enable-expires        Expires header control
  --enable-headers        HTTP header control
  --enable-ident          RFC 1413 identity check
  --enable-usertrack      user-session tracking
  --enable-unique-id      per-request unique ids
  --disable-setenvif      basing ENV vars on headers
  --disable-version       determining httpd version in config files
  --enable-proxy          Apache proxy module
  --enable-proxy-connect  Apache proxy CONNECT module
  --enable-proxy-ftp      Apache proxy FTP module
  --enable-proxy-http     Apache proxy HTTP module
  --enable-proxy-ajp      Apache proxy AJP module
  --enable-proxy-balancer Apache proxy BALANCER module
  --enable-ssl            SSL/TLS support (mod_ssl)
  --enable-distcache      Select distcache support in mod_ssl
                          example optional hook exporter
                          example optional hook importer
                          example optional function importer
                          example optional function exporter
  --enable-static-support Build a statically linked version of the support
                          Build a statically linked version of htpasswd
                          Build a statically linked version of htdigest
                          Build a statically linked version of rotatelogs
                          Build a statically linked version of logresolve
  --enable-static-htdbm   Build a statically linked version of htdbm
  --enable-static-ab      Build a statically linked version of ab
                          Build a statically linked version of checkgid
                          Build a statically linked version of htcacheclean
                          Build a statically linked version of httxt2dbm
  --enable-http           HTTP protocol handling
  --disable-mime          mapping of file-extension to MIME
  --enable-dav            WebDAV protocol handling
  --disable-status        process/thread monitoring
  --disable-autoindex     directory listing
  --disable-asis          as-is filetypes
  --enable-info           server information
  --enable-suexec         set uid and gid for spawned processes
  --disable-cgid          CGI scripts
  --enable-cgi            CGI scripts
  --disable-cgi           CGI scripts
  --enable-cgid           CGI scripts
  --enable-dav-fs         DAV provider for the filesystem
  --enable-dav-lock       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        correct common URL misspellings
  --disable-userdir       mapping of requests to user-specific directories
  --disable-alias         mapping of requests to different filesystem parts
  --enable-rewrite        rule based URL manipulation
  --enable-so             DSO capability

Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --with-included-apr     Use bundled copies of APR/APR-Util
  --with-apr=PATH         prefix for installed APR or the full path to
  --with-apr-util=PATH    prefix for installed APU or the full path to
  --with-pcre=PATH        Use external PCRE library
  --with-port=PORT        Port on which to listen (default is 80)
  --with-sslport=SSLPORT  Port on which to securelisten (default is 443)
  --with-z=DIR            use a specific zlib library
  --with-sslc=DIR         RSA SSL-C SSL/TLS toolkit
  --with-ssl=DIR          OpenSSL SSL/TLS toolkit
  --with-mpm=MPM          Choose the process model for Apache to use.
                          Enable module-file in the modules/<module-type>
  --with-program-name     alternate executable name
  --with-suexec-bin       Path to suexec binary
  --with-suexec-caller    User allowed to call SuExec
  --with-suexec-userdir   User subdirectory
  --with-suexec-docroot   SuExec root directory
  --with-suexec-uidmin    Minimal allowed UID
  --with-suexec-gidmin    Minimal allowed GID
  --with-suexec-logfile   Set the logfile
  --with-suexec-safepath  Set the safepath
  --with-suexec-umask     umask for suexec'd process

Some influential environment variables:
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
              nonstandard directory <lib dir>
  LIBS        libraries to pass to the linker, e.g. -l<library>
  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
              you have headers in a nonstandard directory <include dir>
  CPP         C preprocessor

급 두통이 오기 시작하는 configure option;;;;;
중요한것과 그렇지 않은것을 빼놓고 확인을 해야하지만 일반적으로 많이 설치하는 APM (apache + php+mysql)을 연동하는것으로 시작을 해야 할 것 같다...

다음글에서 apache configure부분을 살펴보도록.......하겠다.
Posted by 신머루군

거의 2페이지가 넘어가는 분량의 내용을 클릭 실수로 날려먹었습니다 털썩..ㅠㅠ 미치겠군요.

속성으로 써 내려가겠습니다. 중요한것들은 안빼먹고 쓰도록 노력 해봐야겠습니다..-_-;

     shell> groupadd mysql
     shell> useradd -g mysql mysql
     shell> tar zxvf mysql-VERSION.tar.gz
     shell> cd mysql-VERSION
     shell> ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-client-ldflags=-all-static --enable-assembler --with-mysqld-ldflags=-all-static --with-charset=euckr --disable-debug

     shell> make && make install
     shell> cp support-files/my-medium.cnf /etc/my.cnf
     shell> cd /usr/local/mysql
     shell> bin/mysql_install_db --user=mysql
     shell> chown -R root  .
     shell> chown -R mysql var
     shell> chgrp -R mysql .
     shell> bin/mysqld_safe --user=mysql &

mysql 설치가이드에 나오는 퀵 가이드 입니다..-ㅠ-;;;

configure 옵션에 관해서 써 내려가보도록 하겠습니다


설치가 될 폴더를 뜻합니다.


data 저장될 주소입니다. 디폴트 설정시 `/usr/local/var' 입니다.

소켓관련된 패스를 재설정 하는 부분입니다.

--with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static
정적으로 mysql을 컴파일 합니다.

CC=gcc CXX=gcc ./configure

'libg++' or `libstdc++' 없이 gcc만으로 컴파일을 합니다.

--prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static
좀더 최적화된 바이너리코드를 생성해냅니다.

./configure --with-charset=CHARSET
국가 언어설정입니다. 3.x대에는 euc_kr 옵션을 그 이상은 euckr옵션을 써줍니다.

./configure --with-collation=COLLATION
sort에 관련된 옵션입니다 기본은 라틴으로 설정되어있습니다.

컴파일시 버그가 있을때 체크를 해두는 옵션입니다. 컴파일 퍼포먼스에 영향을 줍니다.

--disable-debug (without일지도 모릅니다..덜덜)

일반적으로 디버그 모드를 사용하지 않는 관계로 이 옵션을 많이 줍니다. (db튜닝시에는 디버그 옵션이 있어야 하는것으로 알고 있습니다.)


쓰레드 관련 어플리케이션이 있을시에 사용합니다.


커다란 테이블에 사용되는 옵션입니다. mysql 5.0.4부터 지원된다고 하는군요

그래서 새롭게 세팅될 configure는 아래와 같습니다

./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-client-ldflags=-all-static --enable-assembler --with-mysqld-ldflags=-all-static --with-charset=euckr --disable-debug

그리고 서포트 폴더에 보시면 몇몇가지 파일이 있는데 이는 자신의 컴퓨터 메모리와 관련되어져 사용되는 옵션입니다. 자신의 메모리를 확인후 (물리적 메모리) 자기에게 맞는 파일을 cp하시면 됩니다.

아아 대충 중요한 부분은 정리가 끝난듯 싶습니다..-_-; 일하면서 하는거라 순간적으로 화가나더군요.. 어흑 좌절스럽습니다

실질적으로 운영에 필요한것들이 더 많습니다. 이건 아직 초보자 단계이죠..-_-; 튜닝까지는 DBA쪽에서 대부분 하기때문에 기본적인 운영방법만 알고 있으시면 그다지 문제가 될것 같지는 않습니다. 추후 운영에 관련된 포스팅을 더 하도록 하겠습니다.

mysql설치를 대충 마친후에 oracle에 관련된 세팅 방법을 포스팅 해보도록 하겠습니다.


강제로 MIT_pthreads를 실행할 때
./configure --with-mit-threads

'02 .administration > iv. mysql' 카테고리의 다른 글

mysql(4) - tip? mysqladmin  (0) 2008.08.19
mysql(3) - 패스워드 복구  (0) 2008.08.19
mysql(2) - db테이블 생성  (0) 2008.08.19
mysql(1) 사용자 생성 패스워드변경//시작하기  (0) 2008.08.19
mysql 세팅  (0) 2007.11.18
mysql configure  (0) 2007.11.18
Posted by 신머루군

자자 속성으로 갑니다..이번엔 apache설치를 해보겠습니다

현재 나와있는 버전 apache-2.2.0을 기준으로 하겠습니다.

MS windows에는 IIS가 있고 리눅스에는 apache가 있죠..하지만 대세는 apache입니다..최근 웹 서버 추의를 보면 apache가 앞서나가고 있는것을 쉽게 볼수 있습니다. 그만큼 인증 받았다고 말할수 있는 웹 서버이겠죠? 요즘은 windows에서도 apm을 설치하여 사용하시는 분들을 많이 보았습니다.

http://apache.org 사이트를 방문하시면 다운로드에 한국 사이트가 미러링이 되어있습니다.

미러링 사이트는 폴더처럼 보이는데 httpd폴더에 보시면 됩니당

일단 압축을 다운받은 파일을 압축을 풀어야겠죠?

tar zxvf httpd-2.2.0.tar.gz

아파치는 일반 형식과 DSO형식으로 세팅이 되어지는데요 DSO방식은 퍼포먼스에서 일반방식보다 조금은 떨어지는것을 발견할수 있습니다. 하지만 DSO방식을 많이 사용하는것이 현실입니다. 추후 모듈관리나 이것저것 한다면 DSO방식을 추천해드리고 싶습니다.

Quick Install Guide

shell>./configure --prefix=/usr/local/apache

shell>make && make install

-_-간단합니다 아무것도 안올리고 저대로만 실행해도 apache가 구동된것을 알수가 있습니다. 하지만 php모듈에 rewrite모듈 zend모듈 이것저것 올리고 mysql이나 db2등등을 연동할려면 저것만으로는 수월하게 작업할수 없을것입니다. 그러기 위해서 configure의 옵션을 한번쯤 살펴봐야 합니다

configure options

--prefix=PREFIX 설치되어질 폴더를 세팅합니다

--exec-prefix=EPREFIX exec에 관한 폴더세팅입니다. (exec에 의존해하는것입니다)

그리고 몇몇 가지 세팅파일이라던지에 관련된 config옵션이 있습니다만 이하것들은 configure --help로 확인하셔도 충분할듯 싶어 여기에는 안쓰겠습니다.



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

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

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

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

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

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


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

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

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

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

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

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

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

디버깅 모드와 컴파일시 경고를 작동한다.
동적공유모듈로 컴파일할 모듈 목록을 지정한다. 즉, 이 모듈들은 LoadModule 지시어를 사용하여 동적으로 읽어들여야 한다.

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

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

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


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

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

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

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

패키지 PACKAGE를 사용한다. ARG의 기본값은 yes이다.
패키지 PACKAGE를 사용하지 않는다. --with-PACKAGE=no와 같다. autoconf에 이 옵션이 있지만 아파치 웹서버와는 관계가 없다.
특정 패키지
httpd 소스 배포본에 포함된 Apache Portable Runtime (APR)은 자동으로 웹서버와 같이 컴파일된다. 만약 이미 설치된 APR을 대신 사용하고 싶다면 configure에게 apr-config 스크립트의 경로를 알려주어야 한다. APR가 설치된 절대경로, 파일명, 디렉토리명을 사용할 수 있다. 지정한 디렉토리나 그 디렉토리의 하위디렉토리 bin에 apr-config가 있어야 한다.
httpd 소스 배포본에 포함된 Apache Portable Runtime Utilities (APU)는 자동으로 웹서버와 같이 컴파일된다. 만약 이미 설치된 APU을 대신 사용하고 싶다면 configure에게 apu-config 스크립트의 경로를 알려주어야 한다. APU가 설치된 절대경로, 파일명, 디렉토리명을 사용할 수 있다. 지정한 디렉토리나 그 디렉토리의 하위디렉토리 bin에 apu-config가 있어야 한다.
mod_ssl을 사용하는 경우 configure는 설치된 OpenSSL을 찾는다. 대신 이 옵션을 사용하여 SSL/TLS 도구의 디렉토리경로를 알려줄 수 있다.
(mod_deflate를 사용하는 경우와 같이) 구성에 필요하다면 자동으로 configure는 설치된 zlib 라이브러리를 찾는다. 대신 이 옵션을 사용하여 압축 라이브러리의 디렉토리경로를 알려줄 수 있다.
mod_authn_dbm과 mod_rewrite의 DBM RewriteMap 같은 아파치 웹서버의 일부 기능은 정보를 빨리 찾기위해 간단한 키/값 데이터베이스를 사용한다. APU에 SDBM이 들어있어서 언제나 최소한 이 데이터베이스는 사용할 수 있다. 다른 종류의 데이터베이스를 사용하고 싶다면 아래 옵션을 사용한다:

path를 지정하지 않으면, configure는 일반적인 검색경로에서 설치된 GNU DBM 헤더파일과 라이브러리를 찾는다. 직접 path를 지정하면 configure는 path/lib과 path/include에서 필요한 파일을 찾는다. 마지막으로 path에 헤더파일 경로와 라이브러리 경로를 콜론을 사이에 두고 같이 적을 수 있다.
--with-gdbm과 같지만 설치된 New DBM을 찾는다.
--with-gdbm과 같지만 설치된 Berkeley DB를 찾는다.
DBM 옵션은 APU가 제공하며 APU 구성스크립트로 직접 전달된다. 그래서 --with-apr-util을 사용하여 이미 설치된 APU를 사용한다면 DBM 옵션은 소용이 없다.

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

지원 프로그램을 위한 옵션
지원 프로그램을 정적으로 링크된 실행파일로 만든다. 즉, 필요한 라이브러리를 모두 포함하도록 실행파일을 컴파일한다. 이 옵션을 사용하지 않으면 기본값으로 지원 프로그램을 동적으로 링크한다.
웹서버가 실행하는 프로세스의 uid와 gid를 설정하는 suexec를 사용하려면 이 옵션을 사용한다. suid 실행파일의 보안상 위험을 모두 알지 못한다면 이 옵션을 사용하지 마라. suexec를 구성하는 옵션은 아래에서 설명한다.
다음 옵션을 사용하여 지원 프로그램별로 정적으로 링크된 실행파일을 만들 수 있다:

ab를 정적으로 링크된 실행파일로 컴파일한다.
checkgid를 정적으로 링크된 실행파일로 컴파일한다.
htdbm을 정적으로 링크된 실행파일로 컴파일한다.
htdigest를 정적으로 링크된 실행파일로 컴파일한다.
htpasswd를 정적으로 링크된 실행파일로 컴파일한다.
logresolve를 정적으로 링크된 실행파일로 컴파일한다.
rotatelogs를 정적으로 링크된 실행파일로 컴파일한다.
suexec 설정 옵션
아래 옵션은 suexec를 자세히 설정한다. 더 자세한 정보는 suEXEC 구성과 설치를 참고하라.

suexec 실행파일의 경로를 지정한다. 기본값은 --sbindir이다 (설치 디렉토리의 자세한 조정 참고).
suexec를 실행할 사용자를 지정한다. 이 사용자는 보통 httpd를 실행하는 사용자와 같아야 한다.
suexec는 이 옵션으로 지정한 디렉토리 아래에 있는 실행파일만을 실행할 수 있다. 기본값은 --datadir/htdocs다.
suexec에서 지정가능한 최소 GID를 설정한다. 기본값은 100이다.
suexec 로그파일명을 지정한다. 로그파일명의 기본값은 suexec_log이고, --logfiledir에 위치한다.
suexec가 시작하는 프로세스의 PATH 환경변수값을 지정한다. 기본값은 /usr/local/bin:/usr/bin:/bin이다.
사용자 디렉토리에서 suexec가 접근할 수 있는 (실행파일이 있는) 하위디렉토리를 지정한다. 이 설정은 suexec와 (mod_userdir이 제공하는) 사용자별 디렉토리를 같이 사용할때 필요하다. 기본값은 public_html이다.
suexec에서 지정가능한 최소 UID를 설정한다. 기본값은 100이다.
suexec가 실행하는 프로세스의 umask를 지정한다. 기본값은 사용하는 시스템의 기본 설정과 같다.

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

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


본문의 자료는 한국 아파치 사이트에서 발취한 내용이 포함되어있으니 참조하시길 바라겠습니다.


후...-_- 정말 깁니다...일일히 필요한 옵션을 다 넣을려다가 검색의 생활화가 생각나 검색해보니 아파치 그룹에서 설명해놓은것을 찾을수 있었습니다...(감사합니다)

./configure --prefix=/usr/local/apache --enable-MODULE=shared --enable-MODULE=static --enable-auth-ldap --enable-ldap --enable-mime-magic --enable-isapi --enable-rewrite --enable-ssl --with-ssl=DIR --enable-so

그래서 완성된 configure입니다. 많이 깁니다..-ㅠ-; DSO방식으로 컴파일하는것이고, 퍼포먼스가 떨어지는데 왜 DSO방식으로 하느냐? 라고 물어보시는분이 있을겁니다. DSO방식이 아니면 모듈 처리가 난감해집니다.. 그래서 대부분은 DSO방식을 채택하는것으로 알고 있습니다. 그리고 아직 글은 안올렸지만 php+zend+jsp까지 설치할려면 모듈을 올려야 하기때문에...더구나 gd lib나 ssl라이브러리역시 그렇구요 libpng/jpeg 등등등등~ 너무 많습니다..-_-; 올려야 할건 많고 아직 갈길은 험합니다. 그래도 열심히 가봅시다..-_-; 그래서 배워야지요.

httpd.conf파일에 관한 설명은 php+zend설치가 끝난후 하겠습니다. 모듈추가를 해야하고 중간에 라이블러리도 설치해야하는 과정이 남아있어서요...ㅡ 이렇게 보니 apm세팅하는 방법이 되어버렸군요..참고로 제 개인적은 세팅방법입니다. 다른분들은 입맛에 맞게 세팅하심이 좋을듯 싶습니다.

Posted by 신머루군