2009年7月2日木曜日

CentOSでApacheをビルドする

準備
Apacheのモジュール開発を簡単にしてくれるapxs(perl script)をインストールする。
# yum install httpd-devel


コンパイル
モジュール名をmod_XXXとすると、mod_XXX.cを作成した後、
# apxs -c mod_XXX.c
とするだけでコンパイルが完了する。ここで、複数のソースに分けている場合は全てのソースをmod_XXX.cに続けて指定しなければならない。指定しなかった場合、指定しなかったソースで定義されている関数が見つからないということでApacheを起動できない。
# apachectl -t
httpd: Syntax error on line 176 of /etc/httpd/conf/httpd.conf:
Cannot load /etc/httpd/modules/mod_dav_fmt.so into server:
/etc/httpd/modules/mod_XXX.so: undefined symbol: 関数名


インストール
apxsはモジュールのインストールも行ってくれる。
# apxs -i -n XXX mod_XXX.la
-iはインストールを指定するオプションであり、-n XXXはモジュールの名前を明示的に指定するオプション。
-aを指定すると、httpd.confにインストールしたモジュールをロードする設定(LoadModule...)を挿入してくれる。
-Aを指定すると、コメントアウトしたロード設定(#LoadModule...)を挿入してくれる。

0 件のコメント: