Apache 配置中的位置中忽略了 SVNPath

Apache 配置中的位置中忽略了 SVNPath

同一目录下托管着许多 SVN 存储库。我想将其中一个存储库 ( extra) 公开给具有不同凭据的人员。

为什么以下 apache 配置对 不起作用,http://example.net/svn/extra但对所有其他 SVN 存储库却起作用,例如http://example.net/svn/proj1

我尝试结帐时收到的错误http://example.net/svn/extra是:

[error] [client x.x.x.x] (20014)Internal error: Can't open file '/home/trac/svn/svn/format': No such file or directory
[error] [client x.x.x.x] Could not fetch resource information.  [500, #0]
[error] [client x.x.x.x] Could not open the requested SVN filesystem  [500, #2]
[error] [client x.x.x.x] Could not open the requested SVN filesystem  [500, #2]

请注意,颠覆试图访问/home/trac/svn/svn/formatsvn/svn路从何处来?

这是配置:

    <Location /svn/extra>
            DAV svn
            SVNPath /home/trac/svn/extra
            AuthType Digest
            AuthName "DevsExtra"
            AuthUserFile /home/trac/devs-extra.digest
            Require valid-user
    </Location>

    <Location /svn>
            DAV svn
            SVNParentPath /home/trac/svn/
            AuthType Digest
            AuthName "Devs"
            AuthUserFile /home/trac/devs.digest
            Require valid-user
    </Location>

答案1

我建议不要使用多个 Apache 位置来处理身份验证,而是查看mod_authz_svnApache,因为它是为基于每个路径的访问控制而设计的。这样,您可以执行类似以下操作,让一部分开发人员访问该文件夹:

[groups]
devs-extra = bob, bill, jim, sally

[svn:/extra]
@devs-extra = rw

http://svnbook.red-bean.com/en/1.5/svn.serverconfig.pathbasedauthz.html

相关内容