我的存储库目录是/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_NAME
为SVNPath /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/repository1
,svn.mydomain.com/repository2
...) 下的多个存储库并将所有存储库放置为子目录,则/var/www/svn/
必须:
- 重新阅读 SVN 书,基本 Apache 配置章节
- 将 SVNPath 替换为 SVNParentPath 并修复相应的选项
- (可选)添加
SVNListParentPath on
- 参见“列出存储库”“存储库浏览”部分