当我尝试通过http将项目导入到Subversion存储库时,出现以下错误:
无法创build目录“/usr/local/svn/myproj/db/transactions/0-1.txn”:权限被拒绝
我设置了httpd LogLevel进行debugging,并在输出结尾得到了这个:
[Wed Feb 17 23:56:33 2010] [error] [client 24.205.225.190]无法创build活动/ svn / myproj /!svn / act / 9c0a8481-8edd-4be0-be2d-164c700616ba。 [500,#0] [Wed Feb 17 23:56:33 2010] [error] [client 24.205.225.190] could not begin a transaction [500,#13] [Wed Feb 17 23:56:33 2010] [error] [client 24.205.225.190]无法创build目录'/usr/local/svn/myproj/db/transactions/0-1.txn':Permission denied [500 ,#13]
这里是我的httpd.conf文件的相关部分:
<Location /svn> DAV svn SVNParentPath /usr/local/svn AuthType Basic AuthName "Subversion Repositories" AuthUserFile /etc/svn-auth-conf Require valid-user </Location>
我正尝试使用URL http://myhostname/svn/myproj
从NetBeans导入项目。
我正在使用CentOS Linux。
我在网上find的这个问题的修复方法是将存储库(和附件文件夹)设置为属于apache用户并修改相同的权限。 我已经尝试了以下没有成功:
$ chown -R apache.apache / usr / local / svn $ chmod -R 755 / usr / local / svn $ service httpd restart
我无法弄清楚还有什么可以尝试的。 请帮忙!
我猜你已经开启了SELinux(对于CentOS的默认安装是正常的)。 我相信httpd的安全策略默认情况下禁止访问/var/www
之外的文件。 它当然不允许访问/usr/local
。 使用/var/www/svn
作为存储库位置将阻止SELinux拒绝访问。
您是否已经创build或将现有的资源库目录移动到此位置?
svnadmin创build/ usr / local / svn / insert_your_projectname
然后更新权限
chown -R httpd:httpd / usr / local / svn chmod -R 755 / usr / local / svn 服务httpd重启
你可以在SVNParentPath / usr / local / svn或任何你想要的path上设置SVN,但是你必须做一些事情。
按照这一步。
run command chcon -t httpd_sys_content_t /usr/local/svn
Ps, – chcon是命令的relabels文件。
- The httpd_sys_content_t type allows the httpd process to access that file.
我得到了以下更改,但我不确定是哪个问题。
我将svn目录移至/ var / www,并对httpd.conf文件进行了以下更改:
<Location / svn> DAV svn SVNParentPath / var / www / svn <LimitExcept GET PROPFIND OPTIONS REPORT> AuthType基本 AuthName“Subversion版本库” AuthUserFile / etc / svn-auth-conf 要求有效的用户 </ LimitExcept中> </位置>