おうち trac が認証を一切せずに、誰でも wiki の書き換えができたり、ticket の発行ができたり、という状態だったので、それはまずかろうってことで認証かけることにした。
「trac を lighttpd + FastCGI で動かす」 で触れたとおり、trac は lighttpd 上で動いているので、認証は lighttpd で設定します。やりかたは lighttpd のサイトにある 「Using Authentication Module: mod_auth」 の通りなので、あまり難しいことはないのですが、とりあえずやったことをメモ。
うちの Linux サーバ上で動いているサービスは、ほとんどが LDAP で認証しているので、lighttpd も LDAP で認証するようにします。
まず、lighty のデフォルト configure オプションでは、auth_ldap が disable になってるので、以下の様にして再インストール。
$ ./configure --with-ldap $ make $ sudo make install
でもって、/usr/local/etc/lighttpd.conf を書き換え。関連する部分だけ抜き出すとこんな感じ。
server.modules = (
"mod_auth",
"mod_fastcgi",
)
auth.backend = "ldap"
auth.backend.ldap.hostname = "kenny"
auth.backend.ldap.base-dn = "ou=people,o=southpark"
auth.backend.ldap.filter = "(uid=$)"
auth.require = ( "/public/login" =>
(
"method" => "basic",
"realm" => "trac admin area",
"require" => "user=xxx"
)
)
これで lighty を再起動すれば OK。あとは「Trac Permissions」 を参照しながら trac-admin コマンドでパーミッション設定。Web Admin Plugin を導入している場合は trac-admin 使わずにウェブから設定。