2012.04.09
【サーバー】Apache 2.4.1 のインストール
2.2から2.4はだいぶ内容が変更されているので注意。
・yumより必要なライブラリのインストール
# yum install pcre-devel
これが必要らしいのでインストールします。
・Apache Portable Runtime (APR)のインストール
Apacheコンパイル時に必要といわれたので入れます。
Link:Welcome! - The Apache Portable Runtime Project
aprのインストール $ ./configure --prefix=(aprインストール先) $ make # make install apr-utilのインストール $ ./configure --prefix=(apr-utilインストール先) --with-apr=(aprインストール先) $ make # make install
$ ./configure --prefix=(apacheインストール先) --enable-modules=all --enable-so --with-ssl --enable-rewrite --enable-mods-shared=all --with-expat=builtin --enable-dav --enable-proxy --with-apr=(aprインストール先) --with-apr-util=(apr-utilインストール先) $ make # make install
Apahce2.2で使っていたコンパイルオプションをそのまま使ってみたが
動作的には問題ないようです。
# (apacheインストール先)/bin/apachectl start
デフォルトのhttpd.confを修正しないと動きませんでした。
mod_slotmem_shm.soがコメントアウトされているので有効にすることで動きました。
# cp (apacheコンパイル先)/build/rpm/httpd.init /etc/init.d/httpd # chkconfig --add httpd # chkconfig httpd on
基礎ファイルとしては/build/rpm/httpd.initを使うとよい。
httpd.initは調整が必要。
パスが標準のものになっているので変更する。
修正はこれくらい。
httpd=${HTTPD-(apacheインストール先)/bin/httpd} pidfile=${PIDFILE-(apacheインストール先)/logs/${prog}.pid} CONFFILE=(apacheインストール先)/conf/httpd.conf
Apache2.4から相当な変更が行われているので
そのままコピーするだけでは動かない。
変更としてはこんな感じ
Link:Upgrading to 2.4 from 2.2 - Apache HTTP Server
・アクセスコントロールが全変更
2.2ではOrder, Allow, Denyを使ってアクセスコントロールをしていたが、
2.4からはRequireを使います。
詳しくは上記リンクを見てもらうのがよいです。
・LoadModuleで使うファイルが結構違う
さっとは言えないけど相当変更されたようです。
自分がやった修正方法は2.4のLoadModuleを一度コピーして必要なものを
再度見直すという感じにしました。
躓いたところとしてはmod_cgi.soがないというところです。
公式にもかいてありますが、mod_cgiとmod_cgidは同じものなのらしい。
Link:mod_cgi - Apache HTTP サーバ
なのである方をロードすることでcgi処理が使えるようになります。
という感じに2.4はだいぶ内容が違います。
だけど変更点だけ知っていれば2.4でも問題なく動くので
新しいApacheへ変更していくのもありなのかもしれません。
Apacheクックブック 第2版 ―Webサーバ管理者のためのレシピ集 Ken Coar Rich Bowen 笹井 崇司 オライリージャパン 2008-09-26 |
関連記事