我正在尝试使用APACHE设置SVN,以便每个存储库都有自己的.access和.passwd文件集。
基本上让我们拿这个网址:http://svn.thissite.com/repo1是其中一个存储库的地址
我在/ var / www / svn /中有一个文件夹,其中包含大约20个不同的存储库和一组.access和.passwd文件
对于repo1存储库,将有3条路径相关:
/var/www/svn/repo1 (SVN repository itself)
/var/www/svn/repo1.access (Contains svn access info)
/var/www/svn/repo1.passwd (Contains SVN user and password for that specific repo)
我有大约20个存储库+相关的.access和.passwd文件
所以我的问题是: 我需要在APACHE2配置文件中写什么,以便它使用存储库名称来访问正确的.access和.passwd文件?如果可能的话,我想要一种简单的方法,而不是APACHE中20块标签的简单复制粘贴。
谢谢!
编辑: repo1.access的内容(所有20个回购以[/]开头):
[/]
Name1 = rw
Name2 = rw
Name3 = rw
repo1.passwd的内容(密码实际隐藏):
Name1:XXXXXXXXXX
Name2:XXXXXXXXXX
Name3:XXXXXXXXXX
答案 0 :(得分:0)
我的SVN在我的家庭服务器上运行,有多个存储库。我将每个存储库设置为虚拟主机,然后允许您通过配置文件中的AuthUserFile
和AuthzSVNAcces
参数指定唯一的auth和acl文件。
我的SVN安装的示例虚拟主机:
<VirtualHost 192.168.1.42:80>
ServerName svn.eidola.its
DocumentRoot /Istas/Library/WebRoot/
<Location "/">
DAV svn
SVNPath /Istas/Library/Subversion/eidola.its
SVNPathAuthz off
AuthType Basic
AuthName "Eidola Repository"
AuthUserFile /Istas/Library/Config/Subversion/users.basic
AuthzSVNAccessFile /Istas/Library/Config/Subversion/eidola.acl
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
Include /Istas/Library/Config/Apache2/svn_rewrite.conf
</VirtualHost>
svn_rewrite.conf文件用于允许我直接在ServerName访问存储库,或通过WebSVN在重写的URL访问存储库。显然,这条线与你的情况无关。 :)