開発版のベータ版のようなApache HTTP Server 2.5.0を試す

Apache HTTP Server 2.5.0はGithubでも開発されているようです。まだまだ開発版のベータ扱いのようなもので、ASFでも公開はされていないような代物だと思います。

多分、まだまだ2.4系とほとんど変わってないと思いますが、少し触ってみようと思ってCentOSにインストールしてみました。インストールが面倒なので、適当にインストールスクリプトを作りました。興味のある方はどうぞ。gistでも公開しています。Apacheのソースもまだ開発段階、インストールスクリプトも適当に作ったので、使う場合は自己責任でお願いします。

確認したApache2.5.0ソースのレポジトリが3日前のソースだったので、そのソースに固定しています。最新版の2.5に追随したい場合は、$REPOをgit://github.com/apache/httpd.gitに変更すると良いと思います。そうすると、時間がたつにつれ、インストールスクリプトの処理は色々いらなくなっていくと思います。

インストールスクリプト

普通に実行すると、カレントディレクトリにapache-workというディレクトリを作り、その中でmakeを行います。また、インストール先は/usr/local/apache250にしています。適当に変更して下さい。また、エラー処理はextiコードを行番号にしているので、問題があった場合は、echo $?とかすれば良いと思います。

#!/bin/sh

# error exit code is line number

INSTALLDIR='/usr/local/apache250'
WORK='./apache-work'
COPT="--prefix=$INSTALLDIR --with-apr=srclib/apr --with-apr-util=srclib/apr-util"
REPO='git://github.com/matsumoto-r/httpd.git'

echo "Start: Apache 2.5.0 install to $INSTALLDIR"
mkdir $WORK || exit $LINENO
cd $WORK || exit $LINENO

wget http://ftp.tsukuba.wide.ad.jp/software/apache//httpd/httpd-2.4.2.tar.gz || exit $LINENO
wget http://ftp.tsukuba.wide.ad.jp/software/apache//apr/apr-1.4.6.tar.gz || exit $LINENO
wget http://ftp.tsukuba.wide.ad.jp/software/apache//apr/apr-util-1.4.1.tar.gz || exit $LINENO
tar xvf httpd-2.4.2.tar.gz || exit $LINENO
tar xvf apr-1.4.6.tar.gz || exit $LINENO
tar xvf apr-util-1.4.1.tar.gz || exit $LINENO

git clone $REPO || exit $LINENO

cd httpd/ || exit $LINENO
cp ../httpd-2.4.2/configure . || exit $LINENO
cp ../httpd-2.4.2/build/config.sub build/. || exit $LINENO
cp ../httpd-2.4.2/build/config.guess build/. || exit $LINENO
cp ../httpd-2.4.2/include/ap_config_auto.h.in include/. || exit $LINENO
cp -r ../apr-1.4.6 srclib/apr || exit $LINENO
cp -r ../apr-util-1.4.1 srclib/apr-util || exit $LINENO

cd srclib/apr || exit $LINENO
./configure --prefix=`pwd` || exit $LINENO
make || exit $LINENO
make install || exit $LINENO
cd - || exit $LINENO

cd srclib/apr-util || exit $LINENO
./configure --prefix=`pwd` --with-apr=../apr || exit $LINENO
make || exit $LINENO
make install || exit $LINENO
cd - || exit $LINENO

./configure $COPT || exit $LINENO
make || exit $LINENO
sed -i "s/^install-suexec:.*$/install-suexec: install-suexec-binary/" Makefile || exit $LINENO
make install || exit $LINENO
echo "End: Apache 2.5.0 install to $INSTALLDIR"

実行完了後は、以下のコマンドで起動させて下さい。

/usr/local/apache250/bin/apachectl start

起動しました。

[Mon Jul 23 16:30:46.610198 2012] [mpm_event:notice] [pid 7128:tid 3086673664] AH00489: Apache/2.5.0-dev (Unix) configured -- resuming normal operations
[Mon Jul 23 16:30:46.610309 2012] [core:notice] [pid 7128:tid 3086673664] AH00094: Command line: '/usr/local/apache250/bin/httpd'

最後に

このApache2.5.0は、あくまでベータのベータでソースを公開しているだけのように見えますので、自己責任でbuildするようにして下さいね。プライベートの検証環境で遊んでみると良いと思います。