Subversionの認証にMac ServerのOpen Directoryを使う
前の記事ではOpen Directoryの設定まで。次は実際にUserを追加してOpen Directory + Apache + Subversionを連携させる(誰がcommitしたのか分かるようにする)。
Mac OS X Server 10.6.6 Snow Leopard(Mac mini)
Userを追加するのは下記記事を参考にした。
Leopard ServerのPodcast Producer--WebサービスとXgridを設定しちゃおう
Workgroup Managerを起動して、右上の鍵MarkをClick。rootの権限でlogin。Userを追加するのは直感的に出来ると思う。
User or Groupを追加したら、Subversionの設定。基本的にOpenLDAPを使う場合と変わらない・・・と思って設定してたらハマった。
Open Directoryを使う場合はDigest認証というのを使うらしい。Server Admin → Web → Setting → Modulesから、auth_digest_apple_moduleを有効にして、apple_digest_moduleを無効にする。ここに一緒に使ってはダメと書いてあったので。
※apple_digest_moduleだけ有効でOK
Web → Sites → (siteを選択) → RealmsからWorkgroup Managerで追加したUser or Groupを選択。Permissionの設定をしておく。これでSave。
次はTerminalから直接apacheの設定を変更。下の例では「DeveloperGroup」がSubversionにAccess可能なUserGroup。
$ sudo less /etc/apache2/sites/0002_any_8080_.conf
subversionのために追記したDirectiveに次のように追加。
<Location "/svn">
DAV svn
SVNListParentPath On
SVNParentPath "/svnroot/Repository"
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require group DeveloperGroup
</LimitExcept>
</Location>
DAVの設定は、Server Adminで「保存」すると元に戻ってしまうので注意。
分かってしまえば簡単。ここまでの試行錯誤の道のりは長かった・・・。
ちなみにSubversionの設定は各Repositoryのconf folderで設定するみたい。svncreateしたUserの~/.subversion/configが/svnroot/Repository/hoge_project/conf/svnserve.confにcopyされる(と思う)。/etc/subversionがあるはずだ!と思ってしばらく探していた。
<Related Posts>