debian lennyからsqueezeへの移行

 実験機でdebianの次期バージョンとなるsqueezeを使っていたが、特に不具合もないようなのでメインサーバーのlennyをsqueezeにアップグレードすることに。ひとつハマったのがmuninの出力結果が403 Forbiddenになって見れなくなってしまったこと。他のディレクトリは見えるのでパーミッションの指定の問題ではなさそうだ。muninの設定ファイル/etc/munin/munin.confを見てみると

 # htmldir /var/cache/munin/www

という記述があり、これが怪しい。oshikojiはlennyで使っていたときはhtmldir /var/www/muninに設定していたからである。しかしこれはあくまでmuninのプログラムが出力を/var/cache/munin/wwwに行うという意味であるから、apacheに関する設定はどこか別のところにあるはずだ、と思いついて/etc/apache2以下のファイルをgrep muninしてみたところ/etc/apache2/conf.d/muninというファイルが見つかった。このファイルで

Alias /munin /var/cache/munin/www

という記述がされており、これはhttp://ホスト名/munin/というアドレスを指定されたときに/var/cache/munin/www以下のディレクトリを参照するという意味だ。また、apache2のエラーメッセージ(/var/log/apache2/erroe.log)を見ても

[Thu Oct 28 19:41:41 2010] [error] [client ***.***.***.***] client denied by server configuration: /var/cache/munin/www/

という出力があるのでいつの間にかmuninの出力ディレクトリが/var/www/muninから/var/cache/munin/wwwに入れ替わってしまったことが原因と特定できた。

で、対策であるが、これまでの/var/www/muninを消去することで解決した。