如何为APACHE中的每个SVN存储库指定不同的访问和passwd文件

时间:2014-01-27 04:54:58

标签: apache svn

我正在尝试使用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

1 个答案:

答案 0 :(得分:0)

我的SVN在我的家庭服务器上运行,有多个存储库。我将每个存储库设置为虚拟主机,然后允许您通过配置文件中的AuthUserFileAuthzSVNAcces参数指定唯一的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访问存储库。显然,这条线与你的情况无关。 :)