无法以正确的路径访问 svn 存储库

无法以正确的路径访问 svn 存储库

我的存储库目录是/var/www/svn并且访问文件是 /var/www/svn-auth 我在 svn 目录中创建了存储库 project1

我的配置

svn.mydomain.com.conf

<VirtualHost 127.0.0.1:8080>
    ServerName svn.mydomain.com
    <Location />
        DAV svn
        SVNPath /var/www/svn/REPOSITORY_NAME
        AuthType Basic
        AuthName "Subversion repositories"
        AuthUserFile /var/www/svn-auth/passwd
        Require valid-user
    </Location>
</VirtualHost>

一些修改httpd配置文件

Listen 8080
DocumentRoot "/var/www/"
<Directory "/var/www">

nginxsvn.mydomain.com.conf

server {
    server_name svn.mydomain.com;       
    location / {            
        proxy_pass   http://127.0.0.1:8080;
    }   
}

我可以登录但无法访问文件它说找不到文件,像这样错误日志

[2013 年 2 月 1 日星期五 10:06:44] [错误] [客户端 115.87.26.145] (20014) 内部错误:无法打开文件“/var/www/svn/REPOSITORY_NAME/format”:没有此文件或目录
[2013 年 2 月 1 日星期五 10:06:44] [错误] [客户端 115.87.26.145] 无法获取资源信息。[500,#0]
[2013 年 2 月 1 日星期五 10:06:44] [错误] [客户端 115.87.26.145] 无法打开请求的 SVN 文件系统 [500,#2]
[2013 年 2 月 1 日星期五 10:06:44] [错误] [客户端 115.87.26.145] 无法打开请求的 SVN 文件系统 [500,#2]
[2013 年 2 月 1 日星期五 10:06:45] [错误] [客户端 115.87.26.145] 文件不存在:/var/www/favicon.ico

然后我尝试更改SVNPath /var/www/svn/REPOSITORY_NAMESVNPath /var/www/svn并访问 svn.mydomain.com/project1 和错误日志仍然显示我的错误路径

[2013 年 2 月 1 日星期五 10:23:28] [错误] [客户端 127.0.0.1] (20014) 内部错误:无法打开文件“/var/www/svn/format”:没有此文件或目录
[2013 年 2 月 1 日星期五 10:23:28] [错误] [客户端 127.0.0.1] 无法获取资源信息。[500,#0]
[2013 年 2 月 1 日星期五 10:23:28] [错误] [客户端 127.0.0.1] 无法打开请求的 SVN 文件系统 [500,#2]
[2013 年 2 月 1 日星期五 10:23:28] [错误] [客户端 127.0.0.1] 无法打开请求的 SVN 文件系统 [500,#2]

正确的道路/var/www/svn/project1
不应该是/var/www/svn//var/www/svn/REPOSITORY_NAME

我尝试使用SVNPath /var/www/svn/project1并且这个工作我可以访问 project1但如果我这样配置无法访问其他项目

请帮忙!非常感谢。

答案1

好的,简短地批评一下你的 Apache 配置

您的 ServerName + Location + SVNPath 现在意味着:

对于 URLhttp://svn.mydomain.com/打开存储库,创建于/var/www/svn/REPOSITORY_NAME

如果你还没有/var/www/svn/REPOSITORY_NAME目录或者此路径下的存储库,您将收到“无法打开文件”+“无法打开请求的 SVN 文件系统”错误

如果您想要访问公共基路径 ( svn.mydomain.com/repository1svn.mydomain.com/repository2...) 下的多个存储库并将所有存储库放置为子目录,则/var/www/svn/必须:

  • 重新阅读 SVN 书,基本 Apache 配置章节
  • 将 SVNPath 替换为 SVNParentPath 并修复相应的选项
  • (可选)添加SVNListParentPath on- 参见“列出存储库”“存储库浏览”部分

相关内容