为http签出设置Subversion(使用TortoiseSVN)

为http签出设置Subversion(使用TortoiseSVN),svn,Svn,我是Subversion新手,我的项目要求我通过http访问我的存储库 我已经在我的托管服务器(bluehost,centos7)上创建了存储库,我正在尝试通过http从另一台计算机访问它 通过阅读一些教程(以及其他教程),我了解到我需要配置subversion.conf文件,该文件应该位于“/etc/httpd/conf.d/”上 当我查看那个位置时,我没有看到那个文件。 此外,本教程还指出,配置文件应该引用“mod_dav_svn.so”和“mod_authz_svn.so”模块 谈到支持,

我是Subversion新手,我的项目要求我通过http访问我的存储库

我已经在我的托管服务器(bluehost,centos7)上创建了存储库,我正在尝试通过http从另一台计算机访问它

通过阅读一些教程(以及其他教程),我了解到我需要配置subversion.conf文件,该文件应该位于“/etc/httpd/conf.d/”上

当我查看那个位置时,我没有看到那个文件。 此外,本教程还指出,配置文件应该引用“mod_dav_svn.so”和“mod_authz_svn.so”模块

谈到支持,我知道subversion不是用mod_dav_svn初始化的,所以我自己设置了它。但是,我没有在“/usr/local/apache/modules/”文件夹中找到“mod_dav_svn.so”和“mod_authz_svn.so”。相反,我在“/usr/lib64/httpd/modules/”文件夹中找到了它们

目前,当我尝试访问我的存储库(使用TortoiseSVN)时,我会遇到几种错误,具体取决于我尝试使用的url(末尾有/没有“trunk”,不确定我需要使用什么):

  • 检测到URL()的重定向周期
  • 意外的HTTP状态405“不允许使用方法”()
在服务器上本地签出回购时,我使用: svn公司file:///path/to/repos/RepoName/trunk

当我冲浪到:

我只看到存储库创建的文件夹(conf、db、hook、locks)。我看不到密码请求,也看不到“0版”或我自己的存储库项目

my“/etc/httpd/conf.d/subversion.conf”:

我完全迷路了。我现在需要做什么才能使用TortoiseSVN签出存储库

  • 如果基于http的SVN出现“检测到的重定向周期”,则表示(大多数情况下)位置配置错误:提供的DAV
    必须是纯虚拟的,并且不存在于web服务器树的真实文件系统上。在Apache的家中,似乎有
    /repos
    作为真实目录
  • 如果是
    SVNPath/path/to/repos/
    /path/to/repos/必须是指向真实存储库的路径,它直接存在于
    repos/
    目录中,但根据您的文本
  • 。。。我使用:svn公司file:///path/to/repos/RepoName/trunk


    您的存储库可能比
    repos/
    中的存储库更深???您必须找到存储库的位置,修复错误(通常,您不能同时拥有存储库
    /path/to/repos
    /path/to/repos/RepoName
    (存储库具有预定义的树,不能在文件系统级别包含另一个存储库),使用
    SVNPath/path/to/repos/
    ,在
    /path/to/repos/
    )中,您不能访问多个repo。

    最后,我设法通过TortoiseSVN从我的计算机连接到我的存储库,但它使用的是svn+shh(使用svnserve),而不是http

    我无法理解错误“检测到重定向周期”和“意外HTTP状态405”的原因,但是如果您正在阅读此内容,因为您正在尝试设置与存储库的连接,并且收到相同的错误,那么您可能希望检查以下参考,这对我有帮助:


    谢谢你的回答,但这不是适合我的解决方案。我最终通过使用svn+shh(使用svnserve而不是http)通过网络访问了存储库。这个错误可能与bluehost有关,但他们的支持并没有给我一个为什么会发生这种情况的答案。
    LoadModule dav_svn_module     /usr/lib64/httpd/modules/mod_dav_svn.so
    LoadModule authz_svn_module   /usr/lib64/httpd/modules/mod_authz_svn.so
    
    # Add the following to allow a basic authentication and point Apache to where the actual
    # repository resides.
    <Location /repos>
            DAV svn
            SVNPath /path/to/repos/
            AuthType Basic
            AuthName "Subversion repos"
            AuthUserFile /etc/svn-auth-conf
            Require valid-user
    </Location>
    
    [error] [client xxx.xxx.xxx.xxx] File does not exist: /path/to/repos/RepoName/trunk