Meu erro foi usar Satisfy Any
em vez de Satisfy All
.
Não sei por que as coisas funcionaram com o Ubuntu 12.04 LTS, mas com o Ubuntu 14.04 LTS "pegou" ou trouxe meu erro à tona.
Após a migração do Ubuntu 12.04 LTS para o Ubuntu 14.04 LTS, meu comportamento do Apache SVN (mod dav_svn) mudou.
Comecei a receber Não autorizado a abrir a raiz da operação de edição ao atualizar do servidor em projetos já verificados.
Eu tenho vários repos com arquivos AuthzSVNAccessFile independentes, com alguns compartilhando o mesmo arquivo AuthUserFile.
Anteriormente, em 12.04 LTS, todas as solicitações de um navegador para a raiz de um repositório (por exemplo, / Example1) solicitariam que o usuário fizesse login.
Eu tenho visto sugestões para adicionar * = r
no AuthzSVNAccessFile, o que não é uma opção, já que todos os usuários devem estar logados, isto é, todos os repos precisam de autenticação.
Estou tentando corrigir a mensagem de erro 'Não autorizado a abrir a raiz da operação de edição' na atualização.
Entradas de exemplo em /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>
...
Exemplo de AuthzSVNAccessFile:
[/]
juser = rw
Versões do aplicativo:
$ 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
Clientes:
Versions v1.3.0 on OSX
svn command line v1.7.10 (r1485443) on OSX