我已经设置了一个Linux服务器,并在其上安装了Apache,SVN和dav_svn.现在,当我尝试https://x.x.x.x:x/svn/repo使用Tortoise SVN 上传时,我得到了
Can't open file '/server/svn/repo/db/txn-current-lock': Permission denied
Run Code Online (Sandbox Code Playgroud)
我已正确设置我的SSL(我可以结帐,没有问题,甚至由于端口转发而远程).
我猜这与存储库文件夹的Linux所有权有关,我该如何设置这个/什么是命令?
Joh*_*lla 67
这是一个常见问题.您几乎肯定会遇到权限问题.要解决此问题,请确保apache用户具有对整个存储库的读/写访问权限.为此chown -R apache:apache *,chmod -R 664 *为您的svn存储库下的所有内容.
"664"字符串是权限的八进制(基数8)表示.此处有三个数字,分别表示该文件或目录的所有者,组和其他所有人(有时称为"世界")的权限.
请注意,每个基数为8的数字可以用3位表示(000表示'0'到111表示'7').每一位都意味着:
例如,文件上的764意味着:
希望这能说明问题!
小智 13
这是许可问题.它不是apache用户的"经典"读/写权限,而是selinux的一个.
Apache无法写入标记为httpd_sys_content_t只能由apache读取的文件.
你有两种可能性:
将svn存储库文件标记为httpd_sys_content_rw_t:
chcon -R -t httpd_sys_content_rw_t /path/to/your/svn/repo
Run Code Online (Sandbox Code Playgroud)设置selinux布尔值 httpd_unified --> on
setsebool -P httpd_unified=1
Run Code Online (Sandbox Code Playgroud)我更喜欢第二种可能性 你也可以和其他连接的selinux布尔玩家一起玩httpd:
getsebool -a | grep httpd
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
109732 次 |
| 最近记录: |