CentOS上的Apache可以在位于文档根目录树之外的Subversion版本库中使用吗?

如果是这样,怎么样?

这与问题43805有关 。 如果repo被正确地chmod但在文档根目录树之外,Apache抱怨它不能访问repo根目录下的format文件。 如果回购是在文档根目录树中的某处,一切正常。

这当然是可能的,我有一个类似的设置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用户指南

这很好。 您可以使用SVNPath或SVNParentPath选项设置path。 你真的应该在文档根目录之外,因为它们不能被这样访问。

我们有:

 DocumentRoot /var/www/svn/ <Location /svn> SVNParentPath /var/svn DAV svn </Location>