从Ubuntu 12.04 LTS迁移到Ubuntu 14.04 LTS后,我的Apache SVN(mod dav_svn)行为改变了。
从服务器上更新已经签出的项目时,我开始无权打开编辑操作的根目录 。
我有独立的AuthzSVNAccessFile文件的多个回购,有一些共享相同的AuthUserFile文件。
以前,在12.04 LTS上,从浏览器到回购站(例如/ Example1)根目录的所有请求都会提示用户login。
我见过的build议是在AuthzSVNAccessFile中添加* = r ,这不是一个选项,因为所有的用户都必须login,即所有的repos都需要authentication。
我正在修复更新时修复“未经授权打开编辑操作的根”错误消息。
/etc/apache2/mods-available/dav_svn.conf示例条目:
... <Location /Example1> DAV svn SVNPath /home/svn/Example1 AuthzSVNAccessFile /etc/subversion/svnauthz-Example1.conf Satisfy Any Require valid-user AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/subversion/svn-passwords </Location> <Location /Example2> DAV svn SVNPath /home/svn/Example2 AuthzSVNAccessFile /etc/subversion/svnauthz-Example2.conf Satisfy Any Require valid-user AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/subversion/svn-passwords </Location> ...
示例AuthzSVNAccessFile:
[/] juser = rw
应用程序版本
$ apt-show-versions apache2 apache2:i386/trusty-security 2.4.7-1ubuntu4.1 uptodate $ apt-show-versions libapache2-svn libapache2-svn:all/trusty-security 1.8.8-1ubuntu3.1 uptodate
客户:
Versions v1.3.0 on OSX svn command line v1.7.10 (r1485443) on OSX
我的错误是使用Satisfy Any而不是Satisfy All 。
不知道为什么事情与Ubuntu 12.04 LTS一起工作,但Ubuntu 14.04 LTS“抓到”或者把我的错误显示出来。