Leopardにしたので

メインマシン(初代MacBook Pro)のOSをLeopardにしたので、環境をいじってみることにした。

とりあえず、Apacheが2.2.6になっていることに気づいたので、まずはmpmがどうなっているかを調べてみる。

% httpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c

そっかーpreforkなのねー。
正直workerの方が好みなので、それだけのためにソースビルドすることにする。
欲しいのはhttpdだけなんで、デフォルトモジュールを除外、mpmをworkerでコンパイルする。
一応レイアウトもDarwinにしておく*1
configureにするとこんな感じ。

% ./configure --with-mpm=worker --enable-module=so --disable-all \
--with-apr=/usr/bin/apr-1-config --with-apr-util=/usr/bin/apu-1-config \
--disable-authz-host --disable-authz-groupfile --disable-authz-user \
--disable-authz-default --disable-auth_basic --disable-include --disable-filter \
--disable-log-config --disable-env --disable-setenvif --disable-mime \
--disable-status --disable-autoindex --disable-asis --disable-cgid --disable-negotiation \
--disable-dir --disable-actions --disable-userdir --disable-alias --disable-authn-default \
--disable-authn-file --enable-layout=Darwin

で、ビルドが終わったら、ローカルディレクトリのhttpdを/usr/sbinにコピー(念のためオリジナルも保存)

% cp /usr/sbin/httpd /usr/sbin/httpd.bak
% cp ./httpd /usr/sbin

ところがここでlibphp5.soをアクティブにしてconfigtestを行うとエラーが。
内容は

[crit] Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP.

だそうで。
なので、一旦PHPはオフにして、後でインストールすることにする。
Leopardクリーンインストールだから、どのみち必要な*2mysqlもインストールし直さないといけないし。

*1:これで、make installした時のパスもデフォルト通りになる

*2:PHPコンパイル