tracとSVNのユーザアカウントを一元管理する
同じhtpasswdを見させる、という方法でもいいんだが、管理対象が増えると面倒なのでmod_auth_pamとmod_auth_sys_groupでサーバ上のアカウントを使ってやってみる。
まずSVN用ユーザグループ(リポジトリごとに分けるとなお便利)を作り、SVNにはsvn+sshでアクセスする。
ちなみにMac用SVNクライアントのSCPluginはdsaでパス無しログインできるようにしておくとsvn+sshを使える。
次に、mod_auth_pamとmod_auth_sys_groupでtracのログインページに同じくSVN用グループを許可する認証をかける。
認証モジュールはロード順に適用されるので、最初にauth_basicをロードしておき、「AuthBasicAuthoritative off」で認証失敗時は次の認証モジュールへ移るよう設定しておけばhtpasswdも同時に使える。(ユーザ多い環境でhtpsswdが安全かはさておき)
ただし、mod_auth_sys_groupは/etc/groupへの読み込み権限を要求するので、apacheの実行ユーザをgroupグループあたりに追加する必要がある。
mod_auth_pamはすでに開発が停止しており(たぶん)、サーバのアカウントを使うならMod_Authnz_Externalをpwauth使うべきだがubuntuにはpwauthが入っていないっぽい。mod_authnz_ldapもあるので、何ならこっちを使うのがいいか。
どの方法にしてもユーザアカウント情報を使うのであればSSLかけるべき。オレオレ証明書でも平文よりはマシ。Digest認証ならモアベター。