http経由でアクセスするApache dav-svnモジュールを備えたUbuntuサーバーでSVNサーバーを実行しています。
複数のクライアントのプロジェクトがあるため、/var/svn にツリー構造を作成しました
/var/svn/client_1
/var/svn/client_1/project_1
/var/svn/client_1/project_2
...
/var/svn/client_2
/var/svn/client_2/project_1
/var/svn/client_2/project_2
各プロジェクトは新しいリポジトリです。新しいプロジェクトを作成する必要がある場合は、次のようにします
クライアントフォルダーに新しいリポジトリを作成します
svnadmin create /var/svn/client_X/project_Y
dav_svn_conf に新しいエントリを作成します
<Location /client_X>
DAV svn
SVNParentPath /var/svn/client_X
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
AuthzSVNAccessFile /etc/apache2/svn-acl.txt
</Location>
したがって、現時点では、 https ://my_svn_server.com/client_x/project_y からアクセスできます。
/etc/apache2/svn-acl.txt ファイルで、すべてのリポジトリを完全に制御できます
[/]
my_user=rw
クライアントが所有するプロジェクトへのアクセス権をクライアントに付与したいのですが、それができません。リポジトリ名を使用すると、他のクライアントのすべてのリポジトリにアクセスできます
[project_1:/]
client_user=rw
彼は client_1/project_1 と client_2/project_1 にアクセスできます
私は次のことをしたいと思います:
[client_1:/]
client_user=rw
どうすればいいですか?リポジトリの作成方法を変更する必要がありますか?
答えてくれてありがとう。