Apache2.4.4をソースから導入するときのメモ
Apache2.4.4をソースから入れる機会があって色々と躓いたのでメモ。
作業の大まかな流れとしては
- Apacheのソースコードのダウンロード
- APRのダウンロード・インストール
- pcreのダウンロード・インストール
- Apacheのソースコードのコンパイル
- httpd.confの編集
- ポートの開放
- 表示確認
という感じでおこなった。
まずは以下の場所からソースコードをダウンロードし展開する。
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!」という表示が見ることができた。