trac to lighttpd with auth

0.9の時と違って、このままではゲスト扱いで何もすることができないようなので、tracにユーザー認証を追加する。
tracはhttpサーバーの認証にユーザー認証を依存しているので、lighttpdに認証を追加する必要がある。
このへんが他に機能を依存しているtracのめんどくさいところだ。
trac.confに設定を追記する。

server.modules   += ( "mod_fastcgi",
                      "mod_auth"
                    )

auth.backend               = "htpasswd"

$HTTP["url"] =~ "^/trac/" {
  auth.backend.htpasswd.userfile = "/etc/lighttpd/htpasswd.htaccess"
}

auth.require = ("/trac/login" =>
                ("method"  => "basic",
                 "realm"   => "kinneko project",
                 "require" => "valid-user"
                )
               )

fastcgi.server = ("/trac" =>
                   ("trac" =>
                     ("socket" => "/tmp/trac-fastcgi.sock",
                      "bin-path" => "/var/www/trac/trac.fcgi",
                      "check-local" => "disable",
                      "bin-environment" =>
                        ("TRAC_ENV" => "/var/trac/kinneko")
                     )
                   )
                 )

lighttpdを再起動。
あら、失敗。
どうやら順番が重要らしい。

server.modules   += ( "mod_auth",
                      "mod_fastcgi"
                    )

これで、ログインダイアログが出るようになった。


htpasswdコマンドは、lighttpdは持っていないらしい。
apache2-utilsを入れる。

# apt-get install apache2-utils
# htpasswd -c /etc/lighttpd/htpasswd.htaccess kinneko
New password:
Re-type new password:
Adding password for user kinneko

というわけで、ログインできるようになった。