Apache2.4.4をソースから導入するときのメモ

Apache2.4.4をソースから入れる機会があって色々と躓いたのでメモ。

作業の大まかな流れとしては

という感じでおこなった。

まずは以下の場所からソースコードをダウンロードし展開する。

wget http://ftp.riken.jp/net/apache//httpd/httpd-2.4.4.tar.gz
tar xfvz httpd-2.4.4.tar.gz

次にMAKEFILEを生成するために

./configure

としたところ

apache2 apr not found

というエラーが出た。
そこで

cd httpd-2.4.4/srclib
wget http://ftp.riken.jp/net/apache//apr/apr-util-1.5.2.tar.gz
wget http://ftp.riken.jp/net/apache//apr/apr-1.4.6.tar.gz

としてダウンロード。

tar xfvz apr-1.4.6.tar.gz
tar xfvz apr-util-1.5.2.tar.gz 
mv apr-1.4.6 apr
mv apr-util-1.5.2 apr-util

としてそれを展開してそれぞれaprとapr-utilとリネーム。
その後ふたたびapacheのディレクトリに戻り

./configure

これでうまくいくかとおもいきや今度は

pcre-config for libpcre not found

というエラーが出るので

wget "http://sourceforge.jp/frs/g_redir.php?m=jaist&f=%2Fpcre%2Fpcre%2F8.32%2Fpcre-8.32.tar.gz"
tar xvzf pcre-8.32.tar.gz
cd pcre-8.32
./configure
make
make install

としてPCREを導入した。
ここで気をつけなくてはいけないのは""で囲むこと。そうじゃないとうまくDLされない...

その後apacheのディレクトリにはいり再び

./configure

とすると
うまく通ったので

make
make install

Apacheをインストールした。

次にapacheを起動するため

/usr/local/apache2/bin/apachectl start

すると

AH00558: httpd.exe: Could not reliably determine the server's fully qualified domain name, using fe80::1155:696f:bc0c:6ebd. Set the 'ServerName' directive globally to suppress this message

というエラーがでたので

vi /usr/local/apache2/conf/httpd.conf

ServerName <サーバのIPAdress>:80

という行を追加。
これでエラーはでなくなったが、リモートのブラウザからはアクセスできない。
そこできちんと動いているか確認するためサーバ側で

wget http://<サーバのIPAdress>

とするとindex.htmlが正常にダウンロードされる。
ここでしばらくなやんが、
色々と調べた結果80番のポートが開放されていないようなので

/etc/sysconfig/iptables

を見てみるとたしかに80番のポートが開放されていない。(逆に最初から開放されていても怖いが、いままでクライアントとして使ってなかったので全然意識してなかった)
そこで

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

という行を追記し、

/etc/init.d/iptables restart
/usr/local/apache2/bin/apachectl restart

によって再起動をかけてクライアントのブラウザからアクセスすると「It Works!」という表示が見ることができた。