Apache suExec環境での不具合 mod_mime_magic: can’t read
Apacheをパッケージでインストールしている場合、suExecを有効にするドキュメントフォルダ、グループ権限、ユーザー権限などの指定が基本的にできない。
しかし、バイナリエディターで、無理やり設定を書き換えて対応することができる。
ただし、パッケージのバージョンアップ毎に書き換えの作業が発生するので、何らかのスクリプトを作成した方が運用が容易になる。
今回はそれとは別に、mod_mime_magic: can’t readエラーについて語る。
はじめに述べたように利用できるグループ権限・ユーザー権限を設定し終わり、スクリプトが正しい権限で実行されていることを確認できた。
一応ログも確認したところ、[error] mod_mime_magic: can’t read エラーがアクセス毎に大量に出力されているのだ。
スクリプトは正常に動作しているにもかかわらずエラーが出力されている。
よくよくログを見てみるとmod_mime_magicがMIME判定の為にアクセスした際に、権限が無いとエラーになっているのだった。
mod_mime_magicは、ファイルの中身を見てMIME判定するモジュールだ。
決まりきった誰でも知っている拡張子のMIME判定が信じられないのか?
俺達の制作物(システム開発、HTML制作)をもっと信じてくれ!
っと言ったところで何も解決しないので、サーバー管理に詳しいスタッフに相談したところ
mod_mime_magicは、別に無くても良いらしい・・・。
対応方法として
・パーミッションを与えてやるか
・mod_mime_magicモジュールを読み込まないか
がある。
mod_mime_magicが無いほうがパフォーマンスが上がるとのアドバイスを貰ったので、今回はmod_mime_magicをロードしない設定で対応することにした。
もちろんエラーもそれ以来出力されなくなった。
一石二鳥(エラーログ解決、パフォーマンスアップ)とはこのことだと、久しぶりに思った一日だった。
そして、しばらく様子をみて、本番へ移すことにしよう。