... você já tentou um <Location /svn/>
- com slah final! lá: link
as pessoas parecem ter resolvido o problema para o 'caso não raiz-dir'.
... então, pelo menos, você sabe onde procurar mais (mod-rewrite ...?).
Eu tenho um svn configurado em svn.example.com
Eu tenho o SVNParentPath configurado para listar todos os repositórios em um diretório.
Quando eu habilito meu AuthzSVNAccessFile, a página de listagem retorna um 403 enquanto eu posso acessar corretamente o repos diretamente no svn.example.com/repo name.
<VirtualHost *:80>
ServerName svn.example.com
DocumentRoot /var/www/svn
<Location />
DAV svn
AuthType Basic
AuthName "svn.example.com"
AuthUserFile /etc/apache2/svn/users.passwd
AuthzSVNAccessFile /etc/apache2/svn/authz
SVNParentPath /var/svn
SVNListParentPath on
Require valid-user
</Location>
</VirtualHost>
[groups]
admin = user1. user2, user3
[/]
@admin = rw
The URI does not contain the name of a repository. [403, #190001]
Could not fetch resource information. [500, #0]
Could not open the requested SVN filesystem [500, #2]
Could not open the requested SVN filesystem [500, #2]
svn.example.com:80 *myIP* - user1 [18/Nov/2010:13:56:53 +0000] "GET / HTTP/1.1" 403 274 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7"
... você já tentou um <Location /svn/>
- com slah final! lá: link
as pessoas parecem ter resolvido o problema para o 'caso não raiz-dir'.
... então, pelo menos, você sabe onde procurar mais (mod-rewrite ...?).
Em uma revisão mais aprofundada, eu respondo pela segunda vez. Consegui remover o problema com o SVN 1.6.13 adicionando uma barra final e um apelido sem a barra como o artigo sugere.
Resposta anterior:
Encontrei uma resposta para isso no StackOverflow, em link , e afirma para adicionar:
SVNListParentPath On
Isso corresponde ao que está no link , onde ele afirma:
SVNListParentPath On|Off
When set to On, allows a GET of SVNParentPath, which results in a listing of all repositories under that path. The default setting is Off.
Isso deve corrigir o problema 403.
AuthzSVNAnonymous On
AuthzSVNNoAuthWhenAnonymousAllowed On
Satisfy Any
Primeiramente você precisa da diretiva Satisfy Any
, e também precisará das linhas Anônimas se estiver executando um repositório open / auth combinado (por exemplo, algumas áreas que contêm código-fonte aberto, alguma fonte fechada).
Como escrevi aqui na atualização: link
Verifique se o caminho SVNParentPath / var / svn existe em / var / svn e é acessível e gravável pelo uso do apache. É possível que você tenha a propriedade root: root chown -R apache:apache /var/svn
Estou tendo o mesmo problema, hospedando o Subversion em seu próprio subdomínio. Parece que precisa haver uma configuração como [], mas isso parece apenas causar um erro silencioso, tornando o arquivo totalmente ignorado. Aqui está o resumo de uma solução que não consigo trabalhar, mas posso dar algumas ideias:
<location />
e renomeie a primeira para <location /index/>
section Passei alguns minutos tentando, mas não tive muita sorte. Vou atualizar essa resposta se encontrar uma maneira de fazer esse trabalho ou uma solução melhor.
Eu tive o mesmo problema e encontrei a seguinte solução alternativa. A idéia principal é não aplicar "AuthzSVNAccessFile" à raiz, mas aplicar para o resto. Funciona para mim no apache2.2 (Ubuntu Server 12.04).
<VirtualHost *:80>
...
<Location />
...
</Location>
<Location /.+>
AuthzSVNAccessFile /path/to/the/access/file
</Location>
</VirtualHost>
Atualizar (configuração completa):
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName svn.company.lan
<Location />
# Enable Subversion
DAV svn
# Directory containing all repository for this path
SVNListParentPath on
SVNParentPath /opt/subversion
# LDAP Authentication & Authorization is final; do not check other databases
AuthzLDAPAuthoritative on
AuthBasicProvider ldap
# Do basic password authentication in the clear
AuthType Basic
# The name of the protected area or "realm"
AuthName "Subversion Repository"
# The LDAP query URL
# Format: scheme://host:port/basedn?attribute?scope?filter
# The URL below will search for all objects recursively below the basedn
# and validate against the sAMAccountName attribute
AuthLDAPURL "ldap://dc1.company.com/dc=serv,dc=company,dc=com?sAMAccountName?sub"
AuthLDAPBindDN "CN=svn1user,OU=ou1,DC=company,DC=com"
AuthLDAPBindPassword "PASS"
# Require authentication for this Location
Require valid-user
</Location>
# <LocationMatch /.+> is a really dirty trick to make listing of repositories work (http://d.hatena.ne.jp/shimonoakio/20080130/1201686016)
<LocationMatch /.+>
AuthzSVNAccessFile /opt/subversion/subversion.perm
</LocationMatch>
</VirtualHost>
Tags svn apache-2.2