После миграции с Ubuntu 12.04 LTS на Ubuntu 14.04 LTS мое поведение Apache SVN (mod dav_svn) изменилось.
Я начал получать Не авторизован для открытия корневого каталога операции редактирования при обновлении с сервера на уже проверенных проектах.
У меня есть несколько репозиториев с независимыми файлами AuthzSVNAccessFile, некоторые из которых используют один и тот же файл AuthUserFile.
Ранее, в 12.04 LTS, все запросы от браузера к корню репо (например, / Example1) предлагали пользователю войти в систему.
Я видел предложения добавить * = r
в AuthzSVNAccessFile, что невозможно, поскольку все пользователи должны быть авторизованы, то есть для всех репозиториев требуется аутентификация.
Я хочу исправить сообщение об ошибке «Не авторизован для открытия корневого каталога операции редактирования» при обновлении.
Примеры записей в /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 «поймали» или выявили мою ошибку.