Erro SVN com Apache 2.2: “Proibido Você não tem permissão para acessar/repos neste servidor”

Erro SVN com Apache 2.2: “Proibido Você não tem permissão para acessar/repos neste servidor”

eu tenho acompanhadoeste guia de instalação do svne quando tento acessar meu repositório de teste acessando http://localhost/repos, autentico com sucesso, mas recebo o seguinte:

"Forbidden You don't have permission to access /repos on this server"

Aqui está meu arquivo subversion.conf:

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so


<Location /repos>
   DAV svn
   SVNParentPath /var/www/svn/repos
#
#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
      AuthType Basic
      AuthName "Subversion repos"
      AuthUserFile /etc/svn-auth-conf
      Require valid-user
#   </LimitExcept>
</Location>

Meu caminho é /var/www/svn/repos e aqui estão minhas permissões

[root@localhost svn]# ls -la repos/
total 32
drwxr-xr-x. 6 apache apache 4096 Aug 24 11:42 .
drwxr-xr-x. 3 root   root   4096 Aug 24 11:42 ..
drwxr-xr-x. 2 apache apache 4096 Aug 24 13:50 conf
drwxr-sr-x. 6 apache apache 4096 Aug 24 11:42 db
-rwxr-xr-x. 1 apache apache    2 Aug 24 11:42 format
drwxr-xr-x. 2 apache apache 4096 Aug 24 11:42 hooks
drwxr-xr-x. 2 apache apache 4096 Aug 24 11:42 locks
-rwxr-xr-x. 1 apache apache  229 Aug 24 11:42 README.txt

Se eu for para localhost/repos/README.TXT recebo esta mensagem.

<D:error><C:error/><m:human-readable errcode="20">
Could not open the requested SVN filesystem
</m:human-readable></D:error>

Qualquer outro nome de arquivo é fornecido errcode ="2" .

selinux está definido como permissivo, posso ver o arquivo localhost/index.html localizado em var/www/html/index.html perfeitamente.

Eu li algumas postagens no fórum com problemas semelhantes, sem sucesso.

Qualquer idéia seria apreciada!

EDITAR 1:

Editei meu arquivo subversion.conf para mudar SVNParentPath /var/www/svn/repos, SVNParentPath /var/www/svnmas parece não ter efeito.

EDITAR 2:

brain99 acertou em cheio. Mudando para Location />resolver o problema e agora estou recebendo umrepos - Revision 0: /

Powered by Subversion version 1.6.11 (r934486).

Responder1

Parece que você está confundindo as diretivas SVNPath e SVNParentPath.

Pelo que você postou, parece que /var/www/svn/reposcontém um único repositório. Neste caso, use

SVNPath /var/www/svn/repos

Somente se você tiver vários repositórios, deverá usar SVNParentPath. Cada repositório individual deve então estar localizado em uma subpasta do diretório que você configura aqui.

Portanto, configure-o para o diretório pai:

SVNParentPath /var/www/svn

Ou deixe a configuração como está e mova seu repositório atual para um subdiretório, por exemplo, /var/www/svn/repos/myRepo

Para mais informações sobre o uso do mod_dav_svn, verifique oSeção do livro SVN em mod_dav_svn

Responder2

Primeiramente, verifique se o diretório SVNParentPath /var/www/svn/repos existe. a seguir, existem subdiretórios? deve haver diretórios de repositórios com seus próprios bancos de dados. Se o diretório estiver vazio ou não tiver subdiretórios, crie qualquer repositório usando o comando svnadmin (chamada manual). após a criação o problema ainda existe? em seguida, comente todas as diretivas AUTH* e exija e reinicie o apache. O acesso será anônimo, mas você verificará se a autorização é ou não problema. quando o acesso é possível, a autorização é um problema. você deve configurar isso. você deve ler apache man e aprender como gerenciar AuthUserFile /etc/svn-auth-conf para autorização básica. quando o problema (com autenticação comentada) ainda existe, o problema está nos direitos de acesso ao arquivo. configure o acesso de leitura/gravação ao nome de usuário usado pelo servidor Apache. ps auxww informa qual é esse usuário. número do grupo que você obterá do arquivo /etc/passwd. nome do grupo que você obterá do arquivo /etc/group. depois disso, quando você puder fazer checkout/atualizar e confirmar, poderá resolver problemas com autorização. há muitas receitas. Coloquei a pergunta "svn create my first repository" no google e recebi muitas respostas. O primeiro é por exemplo: http://queens.db.toronto.edu/~nilesh/linux/subversion-howto/ tente este :)

por falar nisso. centos é uma distribuição Linux semelhante ao redhat. você pode reiniciar o Apache por /etc/init.d/httpd start/stop . veja o que está sendo gravado nos arquivos /etc/apache ou /etc/httpd (depende da distribuição do Linux e da configuração padrão do Apache).

Responder3

tente estas opções: SVNListParentPath on

informação relacionada