Print
카테고리: [ Apache HTTP Server ]
조회수: 3684

1. 설치

#!/bin/bash
 
## Common Variable
 
export SVC_DIR=/svc1
export LOG_DIR=/log1
export DAT_DIR=/dat1
export REP_DIR=/Downloads
export HTTP_USER=httpuser
export HTTP_VER=2.2.26
export JAVA_HOME=/usr/java7_51
 
if [ -e /etc/centos-release ]; then
  export INSTALLER=yum
elif  [ -e /etc/lsb-release ]; then
  export INSTALLER=apt-get
else
  export INSTALLER=yum
fi
 
## Create Directory
 
mkdir -p ${SVC_DIR}/http
mkdir -p ${LOG_DIR}/http
mkdir -p ${DAT_DIR}/http
 
## Install Package
 
${INSTALLER} -y install ant
${INSTALLER} -y install gcc
${INSTALLER} -y install apr-util-devel
${INSTALLER} -y install openssl-devel
 
## Set Variable
 
HTTP_SVC_DIR=${SVC_DIR}/http
HTTP_LOG_DIR=${LOG_DIR}/http
FILE_NAME=httpd-2.2.26
 
## Download HTTP Server
 
mkdir ${REP_DIR}/http
cd ${REP_DIR}/http
wget http://mirror.apache-kr.org//httpd/${FILE_NAME}.tar.gz
gzip -d ${FILE_NAME}.tar.gz
tar -xvf ${FILE_NAME}.tar
 
## Compile HTTP Server
 
cd ${FILE_NAME}
./configure \
  --prefix=${HTTP_SVC_DIR}/${HTTP_VER} \
  --enable-modules=all \
  --enable-mods-shared=most \
  --with-mpm=worker \
  --enable-proxy \
  --enable-proxy-http \
  --enable-proxy-connect \
  --enable-cache \
  --enable-mem-cache \
  --enable-disk-cache \
  --enable-deflate \
  --enable-ssl \
  --with-ssl=/usr/include/openssl
make
make install
 
## Post Work
 
mkdir -p ${HTTP_SVC_DIR}/${HTTP_VER}/servers
mkdir -p ${HTTP_LOG_DIR}/${HTTP_VER}/servers
chown -R ${HTTP_USER}:${HTTP_USER} ${HTTP_SVC_DIR}/${HTTP_VER}
chown -R ${HTTP_USER}:${HTTP_USER} ${HTTP_LOG_DIR}/${HTTP_VER}

2. 주요 빌드 옵션

Apache HTTP Server 빌드 옵션 중 몇 가지만 언급합니다.

DSO (Dynamic Shared Object) 설정 및 대부분의 so 파일을 설치한다. 참고로 DSO 방식과 Static Object 방식이 있으며, Static Object 방식은 특정 모듈을 추가하고자 하는 경우 다시 설치해야 하지만, DSO 방식은 모듈만 추가하면 된다.

MPM(Multi Processing Module)을 선택하는 것으로 prefork, worker가 있으며 default는 prefork입니다. httpd_mpm.conf에 대해서는 조만간 따로 한번 이야기를 해봐야겠지요.


3. 필요 패키지 

다음은 configure 수행 시 발생하는 각 오류 상황에서 설치할 패키지입니다.

checking whether the C compiler works... no
configure: error: in `/Downloads/http/httpd-2.2.26':
configure: error: C compiler cannot create executables

 -> gcc 설치

checking for zlib location... not found
checking whether to enable mod_deflate... configure: error: mod_deflate has been requested but can not be built due to prerequisite failures

 -> zlib-devel

no SSL-C headers found
configure: error: ...No recognized SSL/TLS toolkit detected

 -> openssl-devel