Apache2.4系のソースビルド

webサーバ(Apache)を立てるときは、いつもソースからビルドしているのですが、
Apache2.4系のインストールコマンドをいつも忘れるので、備忘録がわりに残しておきます。

え、yumでhttpd入れるやつ、いねぇよな??

yumで入れるのは便利だけど、環境やユーザごとにモジュール変えれんかったり、
どこかのライブラリーアップデートした瞬間に依存性崩れたりして、
まぁ、不便なので、必ずソースからコンパイルして入れるようにしています。

今回は、linuxサーバにApache2.4.33をインストールする前提です。

○環境構築
mkdir ~/pkg ~/pkg/install ~/pkg/src

○ウェブサーバ構築
・expatインストール
https://github.com/libexpat/libexpat/releases
./configure --prefix=<インストール先パス>/expat
make
make install

・apr
./configure --prefix=<インストール先パス>/apr
make
make install

・apr-util
./configure --prefix=<インストール先パス>/apr-util --with-apr=<インストール先パス>/apr --with-expat=<インストール先パス>/expat
make
make install

・pcreインストール
./configure --prefix=<インストール先パス>/pcre
make
make install

・apacheインストール
"./configure" \
"--with-apr=<インストール先パス>/apr" \
"--with-apr-util=<インストール先パス>/apr-util" \
"--enable-mods-shared=all" \
"--enable-proxy" \
"--enable-proxy-ajp" \
"--enable-dav" \
"--enable-dav-fs" \
"--with-pcre=<インストール先パス>/pcre" \
"--prefix=<インストール先パス>/apache/" 


結果
configure: summary of build options:

    Server Version: 2.4.33
    Install prefix: <インストール先パス>/apache/
    C compiler:     gcc
    CFLAGS:          -g -O2 -pthread  
    CPPFLAGS:        -DLINUX -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE  
    LDFLAGS:          -L<インストール先パス>/expat/lib  
    LIBS:             
    C preprocessor: gcc -E

make
make install

コツとしては、apr→apr-util→pcre→httpdの順に、入れながらライブラリーのパスを指定していくことですね。

コメント

タイトルとURLをコピーしました