Apache 2.2 监听 2 个端口:一个用于公共服务,刚刚添加了第二个用于维护目的。现在,以下是有效的:
<VirtualHost *>
ServerName some.public.domain
DocumentRoot /var/www
<Location /svn>
DAV svn
SVNPath /var/svn
</Location>
</VirtualHost>
但事实并非如此:
<VirtualHost 127.0.0.1:40>
ServerName localhost
DocumentRoot /var/www_tmp
<Location /svn>
DAV svn
SVNPath /var/svn/concrete_repo
</Location>
</VirtualHost>
访问http://本地主机:40/svn结果是
File does not exist: /var/www_tmp/svn
记录在 apache 错误日志中。有什么想法吗?
短暂性脑缺血。
答案1
文档根目录应该存在,Dav 映射仅在位置部分进行。
换句话说,apache(没有 Dav)必须知道它的文档根目录,然后 mod_dav 可以做到这一点并创建一个“虚拟”DOCUMENT_ROOT/svn
答案2
VirtualHost 之前有这个指令吗?
NameVirtualHost *
答案3
你有
DocumentRoot /var/www_tmp
和
SVNPath /var/www/svn
可能是打字错误...修复它并看看会发生什么
答案4
好的,以下是结果:
<Location /svn>
DAV svn
SVNParentPath /var/svn
SVNListParentPath on
</Location>