【问题标题】:Let apache follow the SVN authentication让apache跟随SVN认证
【发布时间】:2014-08-27 12:34:09
【问题描述】:

我目前正在使用 svnserve 运行三个存储库,它们都在 /var/svn 中,当然都使用不同的 passwd 文件(由 subversion 使用,因此 /var/svn/the-repo/conf/passwd)。我也在使用带有 DAV SVN 模块的 apache,如下所示:

<VirtualHost 127.0.0.1:8080>
        ServerName svn.my-server.com
        ErrorLog /var/log/virtualmin/svn.my-server.com/error_log
        CustomLog /var/log/virtualmin/svn.my-server.com/access_log combined
        <Location />
                DAV svn
                SVNParentPath /var/svn/
                SVNListParentPath On
        </Location>
</VirtualHost>

这是完美的工作。但是,当我浏览到 http://svn.myserver.com/repo-1 时,不会要求我进行身份验证:我无需提供凭据即可查看所有内容。

我知道如何让 apache 使用 HTTP 身份验证向我询问凭据。但我想要的是让 apache 使用与 svnserve 相同的身份验证。这可能吗?

稍后,我可能会添加新的存储库。我希望我不必再次配置 apache。


我想它不会改变任何东西,但我使用 nginx 作为 apache 的代理。

【问题讨论】:

    标签: apache http svn authentication webdav


    【解决方案1】:

    我知道如何让 apache 使用 HTTP 向我询问凭据 验证。但我想要的是让 apache 使用相同的 验证为 svnserve。这可能吗?

    不,不是。您必须在 Apache 中单独配置身份验证。见SVNBook | httpd, the Apache HTTP Server | Authentication Options

    稍后,我可能会将其他存储库添加到同一目录 /var/svn。 我希望我不必再次配置 apache。

    既然你说你将来会添加 repos,你可以继续使用SVNParentPath,但你必须为你的所有 repos 只使用一个 htpasswd 文件。

    【讨论】:

    • 我很抱歉不清楚,但我说的不同的passwd文件是subversion使用的passwd文件,在-repo/conf/passwd中,不是 htpasswd 文件可供 apache 的基本身份验证使用。
    • @CamilStaps 啊,我的错。我误解了这部分。那么答案就是“不,你不能”。
    • @CamilStaps 同时通过 svnserve 和 httpd 公开您的存储库的用例是什么?
    • 在这种情况下,您可以删除 svnserve 并让客户端也使用 http。
    • ,我不知道网络界面的存在,也没有想到这一点。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-06
    相关资源
    最近更新 更多