Apache_2.2.27

最終検証日

2014/05/30

コンパイル

注釈

基本的に管理者権限ユーザ(rootなど)で作業されることを前提としています

BASE=/opt/brew
export PATH=${BASE}/bin:${PATH}
export PYTHONPATH=${BASE}/seo
export LD_LIBRARY_PATH=${BASE}/lib
export LDFLAGS=-L${BASE}/lib
export LD_RUN_PATH=${BASE}/lib

# make base directory
rm -rf ${BASE}/{bin,lib}
mkdir -p ${BASE}/{bin,lib}

# ソースダウンロード先
comp_dir=/usr/local/src
# パッケージ名
pack_name=httpd
# バージョン
version=-2.2.27
# ソースのファイル形式
ext=.tar.bz2
# tar解凍時のオプション
ext_opt=j
# インストール先ディレクトリ
ins_dir=/opt/${pack_name}/${version##-}
# ダウンロード元パッケージ
dl_uri="http://ftp.tsukuba.wide.ad.jp/software/apache//httpd/httpd-2.2.27.tar.bz2"

cd ${comp_dir}
rm -rf ${pack_name}${version}
test -f ${pack_name}${version}${ext} \
    || wget ${dl_uri} -O ${pack_name}${version}${ext}
tar ${ext_opt}xf ${pack_name}${version}${ext}
cd ${pack_name}${version}
./configure \
    --prefix=${ins_dir} \
    --enable-mods-shared=all \
    --with-z=${BASE} \
    && make \
    && make install

Pathの設定

mkdir -p ${BASE}/{bin,lib,include}

for type in bin lib include
do
    for i in $(ls -1d ${ins_dir}/${type}/*)
    do
        echo "ln -fs ${i} ${BASE}/${type}/${i##*/}"
        ln -fs ${i} ${BASE}/${type}/${i##*/}
    done
done

export PATH=${ins_dir}/bin:${PATH}

主なconfigureオプション

--prefix=[DIR]
インストール先ディレクトリの指定
--enable-mods-shared=[module]
Apacheで利用できるモジュールをLoadModule(DSO)形式で取り込めるようにコンパイルする。
--with-z=[DIR]
zlibモジュールの指定

起動

/opt/brew/bin/httpd -k start

停止

/opt/brew/bin/httpd -k graceful-stop