Seu cliente do Subversion credenciais em cache ?
Estou tendo problemas para configurar a autenticação no Apache2 para um repositório SVN que está sendo servido usando o mod_dav_svn.
Aqui está minha configuração do Apache para o diretório:
<Location /svn>
DAV svn
SVNParentPath /var/svn/repos
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dev.passwd
Require valid-user
</Location>
Eu posso usar svn
com os projetos em /var/svn/repos
, então eu sei que o DAV está funcionando, mas quando eu faço svn updates ou commits (ou qualquer coisa), o Apache não pede nenhuma autenticação ... Ele faz exatamente a mesma coisa se as diretivas Auth estão lá ou não.
As permissões no diretório do repositório (e em todos os subdiretórios / arquivos) apenas dão permissão para www-data (o usuário / grupo do Apache2).
Eu também assegurei que todos os módulos relevantes estão habilitados (em particular o mod_auth está habilitado, assim como todos os módulos mod_dav *).
Alguma idéia de por que os comandos svn
não estão sendo autenticados?
Obrigado antecipadamente.
Seu cliente do Subversion credenciais em cache ?
Já tentou criar um não-dav_svn (basicamente um diretório web regular) e verificar se as permissões estão funcionando?
Por exemplo, você pode tentar algo assim:
<Location /test_auth>
AuthType Basic
AuthName "TEST TEST TEST"
AuthUserFile /etc/apache2/dev.passwd
Require valid-user
</Location>
Leia isto se ainda não o fez.
Se isso não funcionar ...
Você tem certeza de que não há nenhum arquivo .htaccess. Os arquivos .htpasswd não estão sobrescrevendo a rotina de autenticação no httpd.conf?
O Apache tem um modelo de herança abrangente para permissões que é muito difícil de se acostumar. Se suas permissões estiverem definidas corretamente, elas podem ser bloqueadas por uma configuração inferior na hierarquia ou sobrescrita por algo maior na hierarquia.
Eu gostaria de poder lhe dar uma resposta mais específica, mas minhas incursões no Apache geralmente envolvem eu bater a cabeça contra a parede por alguns dias para acertar.
Algumas ideias, em ordem de consequências:
Parece que você provavelmente tem algum tipo de configuração sobreposta que está impedindo o SVN de funcionar como esperado.
O que acontece quando você navega em subdiretórios diferentes no repositório com um web browser? Ele sempre pede um nome de usuário / senha? Tente usar o wget ou curl para navegar pelos repositórios a partir da linha de comando. Esses utilitários de linha de comando não mantêm as informações da sessão, para que você possa disparar rapidamente as solicitações para URLs diferentes, usar rapidamente nomes de usuários e senhas diferentes, etc.
Ative o mod_info . mod_info criará uma página (no link por padrão), que combinará toda a sua configuração em detalhes. Isso permite que você veja se arquivos de configuração sobrepostos (por exemplo, os que estão abaixo de /etc/apache2/conf/
e /etc/apache2/conf.d
) estão causando problemas.
O modelo de herança do Apache pode ser difícil de entender às vezes. Eu acho que mod_info
pode me ajudar a ver as coisas um pouco mais claramente. A diretiva Satisfy pode ser a culpada.
Certifique-se de restringir mod_info para permitir apenas o acesso do seu endereço IP / rede.
Outra sugestão, crie um segundo repositório com um caminho de acesso diferente e certifique-se de que essas coisas estejam competentemente fora do namespace do seu primeiro repositório. Isso ajudará a eliminar anomalias sob o repo existente do SVN.
Algo parecido com isto:
<Location /svntest>
DAV svn
SVNParentPath /tmp/test/repos
AuthType Basic
AuthName "TEST"
AuthUserFile /tmp/test/test.passwd
Require valid-user
</Location>
O problema ainda acontece? Em caso afirmativo, seu problema é devido a uma estranheza de configuração no Apache. Se o problema não acontecer, então o problema é devido a um problema de configuração com os repositórios do subversion sob / var / svn / repos.