多个svn存储库权限
我在服务器上配置了两个存储库站点。第一个在多个svn存储库权限,svn,apache,authentication,version-control,virtualhost,Svn,Apache,Authentication,Version Control,Virtualhost,我在服务器上配置了两个存储库站点。第一个在/home/svn/repoA上,第二个在/home/svn/repoB上 我使用以下信息在Apache上构建了一个virtualhost: <Location /> DAV svn SVNParentPath /home/svn AuthType Basic AuthName "Servidor SVN" AuthUserFile /etc/apache2/dav_svn.passwd <
/home/svn/repoA
上,第二个在/home/svn/repoB
上
我使用以下信息在Apache上构建了一个virtualhost:
<Location />
DAV svn
SVNParentPath /home/svn
AuthType Basic
AuthName "Servidor SVN"
AuthUserFile /etc/apache2/dav_svn.passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
DAV svn
SVNParentPath/home/svn
AuthType Basic
AuthName“Servidor SVN”
AuthUserFile/etc/apache2/dav_svn.passwd
需要有效用户
现在这是URL,我可以通过http://svn.mydomain.com/repoA
和http://svn.mydomain.com/repoB
,但我想将repoB设置为私有,只允许使用先前在dav_svn.passwd上使用htpasswd创建的用户和密码进行访问
如果我取出
行,它是一个更接近的标记,它会询问我用户和密码,但在两个存储库中
有没有一种方法可以使一个存储库只对匿名用户可读,另一个存储库只对登录用户具有读/写权限?到目前为止,您使用了哪些资源?我知道有一本免费的Subversion书籍(含Subversion的版本控制)中有答案: Apache authn/authz:
基于路径的身份验证:我只需要两个位置块。RepoA应该在Apache位置块中为匿名只读访问启用“满足任何条件”,并具有允许匿名访问的相应身份验证文件。RepoB的身份验证文件应拒绝匿名访问 i、 e apacherepoaconf
<Location /repoA>
DAV svn
SVNPath /home/svn/repoA
AuthType Basic
Satisfy Any
AuthName "Servidor SVN"
AuthUserFile /etc/apache2/dav_svn.passwd
AuthzSVNAccessFile /path/to/authFileA
</Location>
apacherepobconf
<Location /repoB>
DAV svn
SVNPath /home/svn/repoB
AuthType Basic
AuthName "Servidor SVN"
AuthUserFile /etc/apache2/dav_svn.passwd
AuthzSVNAccessFile /path/to/authFileB
</Location>
好的,我已经做了,但现在它说:无效的命令'AuthSVNAccessFile',可能拼写错误或由服务器配置中未包含的模块定义。我不知道您是否需要有关服务器信息的信息,它是一个带有apache php5的Ubuntu服务器10.04 LTS,mysql和svn标准安装无效命令“AuthSVNAccessFile”可能可以通过使用“a2enmod authzu svn”安装模块来解决。嗨,Jeremy,我选择了基于路径的,我已经像上面的消息一样配置了文件,但它需要以下消息:无效命令“AuthSVNAccessFile”,可能拼写错误或由服务器配置中未包含的模块定义。我查看了加载模块的文件,它指向正确的文件夹,文件就在其中。你对那个错误有反应吗?谢谢你将mod_authz_svn模块加载到Apache中了吗?我已经在httpd.conf LoadModule dav_svn_module/usr/lib/apache2/modules/mod_dav_svn.so LoadModule authz_svn module/usr/lib/apache2/modules/modules_authz_svn.so上写了这个,但是得到的错误应该是AuthzSVNAccessFile,而不是authvnacessfile。对不起,我之前没看到这个。
<Location /repoB>
DAV svn
SVNPath /home/svn/repoB
AuthType Basic
AuthName "Servidor SVN"
AuthUserFile /etc/apache2/dav_svn.passwd
AuthzSVNAccessFile /path/to/authFileB
</Location>
[/]
* =
[/repoB]
* =
mark = rw
bill = rw