おうち 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 使わずにウェブから設定。