はじめまして、開発本部の不破です。
タイトルの通りなのですが、業務でたまたまApache2.4を自分でコンパイルする機会があったのでブログでも共有させていただきます。
前提
- rootアカウントでの作業
- OSはAmazon Linux1
- 本ドキュメントで使用した仮想マシンはVirtualBox+Vagrantで用意した。
コンパイラ等一式インストール
まずはgroupinstallでコンパイラなどをインストールする。
1 2 |
yum groupinstall development |
更に追加で必要なライブラリ等をインストールする。
1 2 |
yum install expat-devel openssl-devel libxml2-devel postgresql94-devel libcurl-devel libpng-devel libjpeg-turbo-devel libmcrypt-devel libpng-devel |
Apache2.4と関連パッケージのソースの準備
まずはソースをダウンロード。
1 2 |
wget http://ftp.kddilabs.jp/infosystems/apache//httpd/httpd-2.4.39.tar.gz |
1 2 |
tar zxvf httpd-2.4.39.tar.gz |
次に関連パッケージ(APR, PCRE)をダウンロードする。
APR
1 2 |
wget http://ftp.jaist.ac.jp/pub/apache/apr/apr-1.6.5.tar.gz |
1 2 |
cd apr-1.6.5 |
1 2 |
./configure --prefix=/usr/local/apache2 |
1 2 |
make && make install |
APR-Util
1 2 |
wget http://ftp.riken.jp/net/apache/apr/apr-util-1.6.1.tar.gz |
1 2 |
tar zxvf apr-util-1.6.1.tar.gz |
1 2 |
./configure --with-apr=/usr/local/apr |
1 2 |
make && make install |
もし「rm: cannot remove ‘libtoolT’: No such file or directory」が出たら
configure中に
1 2 |
rm: cannot remove 'libtoolT': No such file or directory |
というエラーが出たら、次の操作を行う。
1 2 |
vim configure |
30993行目の
1 2 |
$RM "$cfgfile" |
を
1 2 |
$RM -f "$cfgfile" |
にする。ここでもう一度configureする。
1 2 |
make |
1 2 |
make install |
PECL
1 2 |
yum install pcre-devel |
libiconv
1 2 |
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.10.tar.gz |
1 2 |
wget http://www2d.biglobe.ne.jp/~msyk/software/libiconv/libiconv-1.10-ja-1.patch.gz |
1 2 |
tar xzf libiconv-1.10.tar.gz |
1 2 |
cd libiconv-1.10 |
1 2 |
gzip -dc ../libiconv-1.10-ja-1.patch.gz | patch -p1 |
1 2 |
./configure |
1 2 |
make |
1 2 |
make install |
Apache2.4
ようやくApache2.4のコンパイルに入る。
1 2 |
cd ../httpd-2.4.39 |
1 2 |
./configute --enable-modules=all --enable-mods-shared=all --with-mpm=worker --enable-mpms-shared='prefork worker event' --enable-proxy-ajp --enable-cache --enable-file-cache --enable-disk-cache --enable-mem-cache --enable-proxy --enable-ssl --enable-authn-alias |
1 2 |
make |
1 2 |
make install |
サービス登録
OS起動時に自動起動させたいので、サービス化する。
/usr/local/apache2/bin/apachectl
の39行目に次のコードを追記する。
1 2 3 |
# chkconfig:345 91 91 #description:Apache Boot |
1 2 |
ln -s /usr/local/apache2/bin/apachectl /etc/init.d/httpd |
1 2 |
chkconfig --add httpd |
1 2 |
chkconig httpd on |
lynxインストール
このままだとApache2.4が動かないため、lynxをインストールする。
1 2 |
yum install lynx |
Apache起動
1 2 |
service httpd start |