suExecのオプションめんどくさい

レンタルサーバはsuExecでCGIが動いているので、自分のMacOSXのCGI作成環境も同様にsuExecで動作するようにした。

ユーザディレクトリでsuExecを有効にするには、コンパイル時にユーザディレクトリ内のWeb公開ディレクトリを指定する必要があり、この手のsuExec実行オプションはコンパイル時にしか設定できないらしい。suExecはダイナミックライブラリとして組み込むこともできないっぽい。なんて仕様だ。おかげでこのクソ暑い中3回もApacheをコンパイルしてしまったのだ。や、マニュアル読めよって話だけど…。

./configure --prefix=/usr/local/apache2.2 
--enable-dav 
--enable-ssl 
--enable-so 
--enable-rewrite 
--enable-suexec 
--with-suexec-caller=www 
--with-suexec-uidmin=500 
--with-suexec-gidmin=500 
--with-suexec-userdir=Sites

MacOSXでは、--with-suexec-userdirにSitesを指定する。何も指定しないとpublic_htmlディレクトリを指定したのと同じになってホゲる。uidminとかgidminというのは、ユーザID、グループIDが500以上のユーザをsuExecの対象にするというオプション。MacOSXの一般ユーザは500番から始まるので500を指定。callerはApacheの実行ユーザ。この辺のオプションを指定しておけば、とりあえず動くっぽい。他にもオプションがいっぱいあるがよくわからんsuExec。

ちなみにmod_rewriteだけstaticにしてるのは意味は無い、趣味。