MediaWikiからDokuWikiに変更
2008年6月19日(木) 02:06 JST

セーフモードでは、画像や添付をする際にクリエイトするパーミッション(オーナー)がapacheになってしまう為、
CGIモードで実行するか、定期的にXREAのツール(apacheオーナーのファイルを自分のに変更してくれるもの)
をcronなりで実行してやる必要があります。
(なんとも対症療法的なツールですが、これが無いと何も操作できないゴミファイルが増えていくことに・・・)
apacheオーナで作られたファイルは削除できないため、アップロードファイルはもちろん、
サムネイル作成ファイルやセッションのための一時ファイルまでもが削除できずにエラーとなってしまいます。
XREAではCGIモードで動作させるための手順(.htaccessに、AddHandlerを追記する)を案内していますので、
これを使うとIEだとうまくいきました!IEオンリーの環境なら問題ないでしょう。
ところが、FireFoxだと私の場合は2回に1回以上、500 Internal Server Errorとなります・・・
どうもこれは、CGIモード時のPHPが、Content-Typeを強制的に書き換え(text/html)てしまうために
引き起こされているようなのですが、具体的にどのリクエストで引っかかるのか、突き止められませんでした。
仮に突き止められたとして、MediaWikiはすべてindex.phpを経由してるようで、アップロードや削除時だけ
CGIモードを使うというようなことをするには・・・、
FilesMatchはリクエストパラメータ部までマッチできる?・・・というかできなかった・・・ので、
ApacheのRewriteを用いてパラメータ部をURLにRewrite・・・したうえで、
FilesMatchすればうまくいくのかしら・・・削除するときは?action=deleteとかでPOSTしてるっぽいし・・・
無理ぽ
ほかに、書き換え抑止としてはPHPの-qオプションが使えるそうなので、
#!/usr/local/bin/php -q
といういつものおまじない(この場合XREAは拡張子をcgiに修正する必要がある)でやってみましたが、
もうすっかりやる気をなくさせるCGIエラーがでたところでもう断念しました・・・。
気になっていたDokuWikiを使ってみることにします。
↑インストールに10分かからなかった・・・ACL、添付もOK、URL Rewrite標準対応・・・最初からこれにすればよかった。
