在Fedora操作系统上,我有访问SVN Repo的问题,并通过HTTP提交。
这是我的configuration文件
/etc/httpd/conf.d/subversion.conf LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so LoadModule dontdothat_module modules/mod_dontdothat.so <Location /svn> DAV svn SVNParentPath /var/www/svn SVNListParentPath On SVNPathAuthz Off AuthType Basic AuthName "myRepos" AuthUserFile /etc/svn-pass AuthzSVNAccessFile /etc/svn-authz Require valid-user </Location>
错误:
共享项目失败。 svn:无法打开文件'/ var / www / svn / repo / db / txn-current-lock':Permission deniedsvn: '/ svn / repo /!svn / act / 4b515a33-4801-0010-8d84- bddd16ee6e1b“:500内部服务器错误( http://example.com:8080 )
这里是目录:
./repo/db: total 56K drwxr-sr-x. 6 apache apache 4.0K Sep 1 01:03 ./ drwxr-xr-x. 6 apache apache 4.0K Aug 30 23:20 ../ -rw-r--r--. 1 apache apache 2 Sep 1 01:03 current -r--r--r--. 1 apache apache 22 Aug 30 23:20 format -rw-r--r--. 1 apache apache 2.0K Aug 30 23:20 fsfs.conf -rw-r--r--. 1 apache apache 5 Aug 30 23:20 fs-type -rw-r--r--. 1 apache apache 2 Aug 30 23:20 min-unpacked-rev -rw-r--r--. 1 apache apache 4.0K Aug 30 23:24 rep-cache.db drwxr-sr-x. 3 apache apache 4.0K Aug 30 23:20 revprops/ drwxr-sr-x. 3 apache apache 4.0K Aug 30 23:20 revs/ drwxr-sr-x. 2 apache apache 4.0K Sep 1 01:03 transactions/ -rw-r--r--. 1 apache apache 2 Sep 1 01:03 txn-current -rw-r--r--. 1 apache apache 0 Aug 30 23:20 txn-current-lock drwxr-sr-x. 2 apache apache 4.0K Sep 1 01:03 txn-protorevs/ -rw-r--r--. 1 apache apache 37 Aug 30 23:20 uuid -rw-r--r--. 1 apache apache 0 Aug 30 23:20 write-lock
和
./repo/db:drwxr-sr-x。 apache apache unconfined_u:object_r:httpd_sys_content_t:s0 ./ drwxr-xr-x。 apache apache unconfined_u:object_r:httpd_sys_content_t:s0 ../ -rw-r – r–。 apache apache system_u:object_r:httpd_sys_content_t:s0 current -r – r – r–。 apache apache unconfined_u:object_r:httpd_sys_content_t:s0格式-rw-r – r–。 apache apache unconfined_u:object_r:httpd_sys_content_t:s0 fsfs.conf -rw-r – r–。 apache apache unconfined_u:object_r:httpd_sys_content_t:s0 fs -type -rw -r – r–。 apache apache unconfined_u:object_r:httpd_sys_content_t:s0 min-unpacked-rev -rw-r – r–。 apache apache unconfined_u:object_r:httpd_sys_content_t:s0 rep-cache.db drwxr-sr-x。 apache apache unconfined_u:object_r:httpd_sys_content_t:s0 revprops / drwxr-sr-x。 apache apache unconfined_u:object_r:httpd_sys_content_t:s0 revs / drwxr-sr-x。 apache apache unconfined_u:object_r:httpd_sys_content_t:s0 transactions / -rw-r – r–。 apache apache system_u:object_r:httpd_sys_content_t:s0 txn-current -rw-r – r–。 apache apache unconfined_u:object_r:httpd_sys_content_t:s0 txn-current-lock drwxr-sr-x。 apache apache unconfined_u:object_r:httpd_sys_content_t:s0 txn-protorevs / -rw-r – r–。 apache apache unconfined_u:object_r:httpd_sys_content_t:s0 uuid -rw -r – r–。 apache apache unconfined_u:object_r:httpd_sys_content_t:s0写入locking
SELinux problem again
这是权限问题。 但不是“经典”的apache用户的读写权限,而是selinux的一个。
Apache不能写入标记为httpd_sys_content_t的文件,只能由apache读取。
你有两种可能性:
将svn仓库文件标签为httpd_sys_content_rw_t:
1- chcon -R -t httpd_sys_content_rw_t /path/to/your/svn/repo
设置selinux boolean httpd_unified – > on
2 - setsebool -P httpd_unified=1
首选的第二种可能性。