- 追加された行はこの色です。
- 削除された行はこの色です。
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
**複数のリポジトリを公開したい [#q672784a]
サーバ上に
/opt/svnroot1
/opt/svnroot2
というSVNのリポジトリ((つまりたとえば svnadmin create /opt/svnroot1 とかしたってこと))があるとします。
<Location "/svn">
DAV svn
SVNParentPath /opt
</Location>
とhttpd.confに書いておくことで、
http://[サーバ名]/svn/svnroot1/
http://[サーバ名]/svn/svnroot2/
というURLでそれぞれのリポジトリにアクセス可能です。
**ディレクトリごとにアクセス制御する [#xcfc021e]
あるサーバ内で複数のリポジトリやtrunk,branches,tagsなど複数のディレクトリをあつかっているときの、ディレクトリごとのアクセス制御方法です。
httpd.confで
<Location "/svn">
DAV svn
SVNParentPath /opt
AuthzSVNAccessFile /opt/hogehoge/dav_svn.authz
AuthName "Subversion repository"
AuthType Basic
Require valid-user
AuthUserFile /opt/hogehoge/.htpasswd
</Location>
などと書いておき、dav_svn.authz で
[groups]
developer = dev1
[/trunk]
@developer=r
としておきます。
そうすると
http://[サーバ名]/svn/svnroot/trunk/ :dev1で読み可能
http://[サーバ名]/svn/svnroot/branches/ :読み書き不可
http://[サーバ名]/svn/svnroot/tags/ :読み書き不可
となります。
[/trunk] はリポジトリ名指定もできます。
[svnroot1:/trunk]
@developer=r
などと書けば
http://[サーバ名]/svn/svnroot1/trunk/ :dev1で読み可能
http://[サーバ名]/svn/svnroot1/branches/ :読み書き不可
http://[サーバ名]/svn/svnroot1/tags/ :読み書き不可
http://[サーバ名]/svn/svnroot2/trunk/ :読み書き不可
http://[サーバ名]/svn/svnroot2/branches/ :読み書き不可
http://[サーバ名]/svn/svnroot2/tags/ :読み書き不可
となります。
たとえば
-全てのユーザはtrunk,branches,tagsを読み可能
-admin1は何でもできる
-dev1はtrunk,branchesに書き込みも可能(tagsにはコミットできない)
-tester1,tester2はコミット不可能
などとしたい場合は以下のようにしておきます。
[groups]
admin = admin1
developer = dev1
tester = tester1,tester2
#基本的に誰でも読みは可能
#adminは読み書き可能
[/]
* = r
@admin = rw
#さらにdeveloperはtrunkを読み書き可能
[/trunk]
@developer = rw
#さらにdeveloperはbranchesを読み書き可能
[/branches]
@developer = rw
-[[ディレクトリごとのアクセス制御>http://subversion.bluegate.org/doc/ch06s04.html#svn.serverconfig.httpd.authz.perdir]]
----
この記事は
#vote(おもしろかった,そうでもない)
- SVNParentPath /opt としないで SVNPath /opt/svnrootなどとしてる場合も動きます。もちろん。 -- [[きの]] &new{2007-06-11 (月) 01:54:26};
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}