【问题标题】:apache web dav svn multiple repositories, one ACL fileapache web dav svn 多个存储库,一个 ACL 文件
【发布时间】:2013-05-30 18:11:33
【问题描述】:

我很难解决我在使用 web dav 和身份验证的一些 apache 配置时遇到的问题。 我有几个存储库,我想使用一个单一权限 (ACL) 文件。这甚至可能吗?我目前的设置被禁止。这里是: 我的回购: /var/svn/repos/project_1

/var/svn/repos/project_2

/var/svn/repos/project_3

我的 apache 配置:

< VirtualHost *:80>

    ServerName svn.mydomain.tld

    Redirect / https://svn.mydomain.tld/    

< /VirtualHost >

`LoadModule dav_module modules/mod_dav.so

LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_svn_module     modules/mod_dav_svn.so

LoadModule authz_svn_module   modules/mod_authz_svn.so

< VirtualHost *:443 >

ServerName svn.mydomain.tld

DocumentRoot "/var/www/svn"
    <Directory />
    Options Includes FollowSymLinks MultiViews
    </Directory>
SSLEngine on
SSLCertificateFile /path/to/the/cert
SSLCertificateKeyFile /path/to/the/key
SSLCACertificateFile  /path/to/the/cacert

<Location /project_1>
    DAV svn
    SVNPath /var/svn/repos/project_1
    SVNIndexXSLT "/repos-web/view/repos.xsl"
    SVNPathAuthz on
    AuthzSVNAccessFile /srv/svn/conf/svnaccess
    AuthType Basic
    AuthName "My SVN Repository"
    AuthUserFile /srv/svn/conf/svnusers
    Require valid-user
</Location>

<Location /project_2>
    DAV svn
    SVNPath /var/svn/repos/project_2
    SVNIndexXSLT "/repos-web/view/repos.xsl"
    SVNPathAuthz on
    AuthzSVNAccessFile /srv/svn/conf/svnaccess
    AuthType Basic
    AuthName "My SVN Repository"
    AuthUserFile /srv/svn/conf/svnusers
    Require valid-user
</Location>

<Location /project_3>
    DAV svn
    SVNPath /var/svn/repos/project_3
    SVNIndexXSLT "/repos-web/view/repos.xsl"
    SVNPathAuthz on
    AuthzSVNAccessFile /srv/svn/conf/svnaccess
    AuthType Basic
    AuthName "My SVN Repository"
    AuthUserFile /srv/svn/conf/svnusers
    Require valid-user
</Location>
</VirtualHost>

我的 ACL 文件“/srv/svn/conf/svnaccess”如下所示:

[groups]
gods = admin

[/]
@gods = rw
* = r

[project_1/]
joe = rw
* =

[project_2/]
ana = rw
* =

【问题讨论】:

  • 这绝对是可能的。你能通过只做基本的apache auth来排除AuthzSVNAccessFile吗?还要检查您的 apache 日志并验证您的 AuthUserFile 是否正确定义了用户。
  • AuthUserFile 很好,我敢肯定。但是,我做了一个小测试并从配置中删除了“AuthzSVNAccessFile”,重新加载了 apache,我注意到它可以工作,没有 ACL 文件。很奇怪。我也尝试只使用 [/] * = r 但这不起作用,我仍然会得到“禁止”。 :(
  • 我终于通过使用“SVNParentPath”而不是“SVNPath”解决了这个问题,还在“Location”项目名称/中添加了一个斜杠,最后我不得不使用“[project_x:/]”格式进入我的 ACL 文件以使其正常工作。

标签: apache svn webdav


【解决方案1】:

我终于通过使用“SVNParentPath”而不是“SVNPath”解决了这个问题,还在“Location”project_name/ 中添加了一个斜杠,最后我不得不在我的 ACL 文件中使用“[project_x:/]”格式为了使它工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-20
    • 1970-01-01
    • 2010-10-09
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 2011-07-09
    • 2012-04-15
    相关资源
    最近更新 更多