tracとSVNのユーザアカウントを一元管理する

同じhtpasswdを見させる、という方法でもいいんだが、管理対象が増えると面倒なのでmod_auth_pamとmod_auth_sys_groupでサーバ上のアカウントを使ってやってみる。
まずSVN用ユーザグループ(リポジトリごとに分けるとなお便利)を作り、SVNにはsvn+sshでアクセスする。
ちなみにMacSVNクライアントの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認証ならモアベター