如果是,怎么办?
这与问题 43805。如果 repo 已正确chmod
安装但位于文档根目录树之外,Apache 会抱怨它无法访问format
repo 根目录中的文件。如果 repo 位于文档根目录树中的某个位置,则一切正常。
答案1
这当然是可能的,我有一个与 David 类似的设置(我的是 Centos 的默认设置):
DocumentRoot /var/www/html/
我的文件中包含以下内容/etc/httpd/conf.d/subversion.conf
(减去注释):
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /var/www/svn
# Limit write permission to list of valid users.
<LimitExcept GET PROPFIND OPTIONS REPORT>
# Require SSL connection for password protection.
# SSLRequireSSL
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/svn-auth-file
Require valid-user
</LimitExcept>
</Location>
您是否在强制执行 SELinux?您可能需要正确设置 /var/www/svn 位置中文件的上下文。
该sestatus
命令将显示您是否处于强制模式。您可以(暂时)使用setenforce 0
从强制模式切换到宽容模式,然后重试以查看是否是该问题。
您希望格式文件的标签为system_u:object_r:httpd_sys_content_t:s0
(用于ls -Z
查看文件的 SELinux 标签)。您可以使用 来修复它restorecon -R /var/www/svn
。
有关 SELinux 的更多内容,请参阅Fedora SELinux 用户指南
答案2
这完全没问题。您可以使用 SVNPath 或 SVNParentPath 选项设置路径。您确实应该将这些选项放在文档根目录之外,因为它们不应该通过这种方式访问。
我们有:
DocumentRoot /var/www/svn/
<Location /svn>
SVNParentPath /var/svn
DAV svn
</Location>