mac:mac_os_x_v10.6でsubversionリポジトリのパスベース認証を行う

文書の過去の版を表示しています。


Mac OS X v10.6でSubversionリポジトリのパスベース認証を行う

Snow Leopardからmod_dav_svnが標準で入っているようで、WebDAVを用いたSubversion環境を作りやすくなったっぽいので挑戦してみたメモ。

  • Mac OS X v10.6.6(試した環境)
  • Subversion 1.6.5(システム標準)
  • Apache 2.2.15(システム標準)
  • プロジェクトごとにリポジトリを作り、プロジェクトごとにアクセス制御出来るようにする。
  • リポジトリ置き場:/doko/soko/svn/repos/

/etc/apache2/httpd.conf のLoadModuleの最後に以下を追加。

$ sudo emacs /etc/apache2/httpd.conf
LoadModule dav_svn_module libexec/apache2/mod_dav_svn.so
LoadModule authz_svn_module libexec/apache2/mod_authz_svn.so

viを使えないヘタレ野郎です。すいません。

/etc/apache2/other/subversion.conf でmod_dav_svnの設定をする。拡張子が.confならファイル名は何でもおk。

<IfModule dav_svn_module>

<Location /svn-repos>
    DAV svn
    SVNListParentPath on
    SVNParentPath /doko/soko/svn/repos
</Location>

</IfModule>
$ sudo chown -R _www:_www /doko/soko/svn/repos

敢えて変な設定をしてなければ、パーミッションは特に弄る必要なし。設定するなら755とかその辺で。

ここまでで問題なく設定出来ていれば、apacheを再起動後、チェックアウトやブラウザからリポジトリの表示が出来るようになっているはず。

現段階では、Subversionサーバにアクセス出来る人なら誰でも、無制限でリポジトリを操作出来るので要注意。

subversion.confを再度開き、認証に必要なの設定を追加する。

<IfModule dav_svn_module>

<Location /svn-repos>
    DAV svn
    SVNListParentPath on
    SVNParentPath /doko/soko/svn/repos
    Satisfy Any                                # 匿名ユーザーを許可
    Require valid-user                         # それでダメなら正規ユーザーを要求
    AuthType Basic                             # ベーシック認証を使う
    AuthUserFile /doko/soko/svn/htpasswd       # ベーシック認証のユーザーとパスワード情報
    AuthzSVNAccessFile /doko/soko/svn/authz    # リポジトリのアクセス制御情報
</Location>

</IfModule>

<ilcode>AuthUserFile</ilcode>で指定したファイルにベーシック認証ユーザーを追加する。

$ sudo htpasswd -c /doko/soko/svn/htpasswd Decomo
New password: 
Re-type new password: 
Adding password for user Decomo

2人目以降、つまりhtpasswdが既にある場合は-cオプションは付けない。さもないと上書きされる。

<ilcode>AuthzSVNAccessFile</ilcode>で指定したファイルにアクセス制御情報を書く。

[groups]
admins = Decomo

[/]
* = r

[Project1:/]
@admins = rw

[Project2:/]
@admins = rw

[secret:/]
Decomo = rw
* =
コメントを入力. Wiki文法が有効です:
 
  • mac/mac_os_x_v10.6でsubversionリポジトリのパスベース認証を行う.1298133058.txt.gz
  • 最終更新: 2011-02-20 01:30
  • by Decomo