当前设置

当前设置

当前设置

  • Fedora 13 32位

  • Apache 2.2.16

  • Subversion 存储库设置在/var/www/svn

我在这个目录下有两个不同的存储库,因此我/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
   SVNListParentPath on
   SVNParentPath /var/www/svn

   <LimitExcept GET PROPFIND OPTIONS REPORT>
      AuthType Basic
      AuthName "Subversion Repository"
      AuthUserFile /etc/httpd/.htpasswd
      Require valid-user
   </LimitExcept>
</Location>

复制我的存储库并使用后;

  • chmod 755 -R /var/www/svn

  • chcon -R -t httpd_sys_content_t /var/www/svn

  • chown apache:apache -R /var/www/svn

我可以通过浏览器浏览我的仓库,并且可以更新我的所有工作副本,但是当我尝试从任何地方签入时,我都会收到相同的错误

Can't open file '/var/www/svn/repo/db/txn-current-lock':Permission denied

我已经研究这个问题一段时间了,但似乎找不到解决方案。知道这个仓库之前存在于另一台服务器上可能会有所帮助,现在它已移至这台新服务器。

我读到的所有内容似乎都表明 apache 的权限不正确,但是 apache 设置为以用户 apache 和组 apache 身份运行。所以据我所知,我的设置是正确的。但行为却不正确。

有任何想法吗?

解决方案

我能够让它工作的唯一方法是禁用 SELinux,也可以通过使用 SELinux 设置适当的布尔值来实现setsetboolgetsebool因为这只是一个家庭服务器,所以我决定禁用 SELinux 并且现在正在获得好处。

答案1

不要让 拥有目录apache:apache,而是使用apache:subversion。也就是说,

chown apache:subversion -R /var/www/svn

安德鲁

答案2

使 SVN 通过 webdav 写入工作的 SELINUX 布尔值是:

setsebool -P httpd_unified=1

我的朋友在一年多前就遇到过这个问题并且找到了解决办法。

http://www.melange.co.jp/blog/?s=setsebool&submit=Search (日文)

他的名字叫伊藤,是一名清酒爱好者,住在日本东京南部。

我正在为他发布此内容。

相关内容