我正在使用带有 subversion 1.8.8 的 Ubuntu 14.04.2 LTS,并尝试使用 mod_dav_svn 通过 apache2 设置远程 svn 访问 - 这是从运行 apache2 的 Windows 服务器迁移到 Linux。
我遇到的问题是任何<location>
名称中带有空格的都不起作用,下面的示例将起作用:
<Location "/svn/Test_Repository" >
DAV svn
SVNParentPath "/media/windowsshare/TortoiseSVN-Repo-Store/Test Repository"
SVNListParentPath On
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/subversion/passwd
Require valid-user
SVNIndexXSLT "/repos-web/view/repos.xsl"
</Location>
但是,当我用空格替换该位置中的下划线时,<Location "/svn/Test Repository" >
我收到 403 禁止错误,错误日志中包含以下内容:
[Tue Apr 21 14:46:34.991584 2015] [dav:error] [pid 30873] [client 192.168.20.5:63935] Could not fetch resource information. [403, #0], referer: http://192.168.20.12/svn/
[Tue Apr 21 14:46:34.991597 2015] [dav:error] [pid 30873] [client 192.168.20.5:63935] The URI does not contain the name of a repository. [403, #190001], referer: http://192.168.20.12/svn/
该目录/media/windowsshare/TortoiseSVN-Repo-Store/
挂载有具有用户和组所有权的 www-data。
可能是什么原因造成的?我该如何解决它?我花了六个小时的大部分时间进行搜索和实验,但没有成功。
答案1
这是一个已报告的错误,您可以在此处看到: Ubuntu 错误启动板
正如您在 Bug-Track-Comment 中看到的,该 Bug 已针对 apache2 修复,但尚未添加到 Ubuntu 存储库中:
John Pye (jdpipe) 在 2014 年 9 月 4 日写道:#9 通过修改新的 14.04 服务器来安装 apache2 软件包,解决了此错误 https://launchpad.net/~ondrej/+archive/ubuntu/php5, IE
sudo apt-add-repository ppa:ondrej/php5 sudo apt-get 更新 sudo apt-get dist-upgrade
为我工作...新的 Apache2 软件包应该紧急包含在 Ubuntu 14.04 LTS 中,因为升级 Subversion 服务器的用户将不可避免地遇到可怕的问题。
注意:我还无法证明这一点!可以用 Ubuntu 12 检查一下