我的虚拟主机配置:
<VirtualHost *:443>
ServerName test1.site.com
DocumentRoot /var/www/test1.site.com
<Location /svn>
DAV svn
SVNListParentPath on
SVNParentPath /opt/svn
</Location>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/server.pem
SSLCertificateKeyFile /etc/apache2/ssl/server.key
我已经使用命令创建了 repos:
svnadmin create /opt/svn/reponame
当我将浏览器指向https://site.com/svn它显示了我的所有项目和文件,没问题。
结帐时出错:
$ svn checkout https://test1.site.com/svn/ ./
svn: Repository moved temporarily to 'https://test1.site.com/svn/'; please relocate
$ svn checkout https://test1.site.com/svn/projectname ./
svn: Repository moved temporarily to 'https://test1.site.com/svn/projectname/'; please relocate
$ tail -2 /var/log/apache2/other_vhosts_access.log
test1.site.com:443 93.12.33.100 - - "OPTIONS /svn HTTP/1.1" 302 274 "-" "SVN/1.6.6 (r40053) neon/0.29.0"
test1.site.com:443 93.12.33.100 - - "OPTIONS /svn/projectname HTTP/1.1" 302 277 "-" "SVN/1.6.6 (r40053) neon/0.29.0"
/etc/apache2/mods_enabled/dav_svn.conf 中没有配置选项,Apache2 中没有其他 VirtualHosts。
我已经花了大约 10 个小时,但没有结果 :( 我尝试创建新的 repos,设置错误 404 默认值,还是一样!
答案1
怎么样svn checkout https://test1.site.com/svn/projectname/
?
您收到的第一个错误很正常 - 由于您使用了 SVNListParentPath 指令,访问 /svn URI 将为您提供可浏览的存储库列表。但是,您需要提供实际存储库的 URL 才能签出。
第二个错误很奇怪 - 它应该做正确的事情,但严格来说 URL 应该以 / 结尾。
您使用哪个版本的 apache 和 subversion?