Problemas com o servidor svn do apache (403 Proibido)

2

Iv recentemente configurou um servidor SVN no meu servidor web papache. Eu instalei o link da USVN para ajudar a gerenciar os repositórios a partir de uma interface web.

Quando eu crio um repositório e tento importar código para ele do netbeans, recebo o seguinte erro: org.tigris.subversion.javahl.ClientException: RA layer request failed Server sent unexpected return value (403 Forbidden) in response to PROPFIND request for '/svn/python1'

Eu sei que tenho o nome de usuário e senha corretos (e eu tentei usuários diferentes) Eu fiz algumas pesquisas e parece que é mais provável que um erro svn do Apache. Abaixo está o arquivo de configuração para este virtualhost.

<VirtualHost *:80>
ServerName svn.domain.com
ServerAlias www.svn.domain.com
ServerAlias admin.svn.domain.com
DocumentRoot /home/mrlanrat/domains/svn.domain.com/usvn/public
ErrorLog /var/log/virtualmin/svn.domain.com_error_log
CustomLog /var/log/virtualmin/svn.domain.com_access_log combined

DirectoryIndex index.html index.htm index.php index.php4 index.php5

<Directory "/home/mrlanrat/domains/svn.domain.com/usvn">
    Options +SymLinksIfOwnerMatch
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

<Location /svn/>
 ErrorDocument 404 default
 DAV svn
 Require valid-user
 SVNParentPath /home/mrlanrat/domains/svn.domain.com/usvn/files/svn
 SVNListParentPath on
 AuthType Basic
 AuthName "USVN"
 AuthUserFile /home/mrlanrat/domains/svn.domain.com/usvn/files/htpasswd
 AuthzSVNAccessFile /home/mrlanrat/domains/svn.domain.com/usvn/files/authz
</Location>

</VirtualHost>

Alguém pode apontar o que eu posso ter feito de errado e como corrigi-lo? Eu testei com a alteração das permissões de arquivo e alterei a configuração sem sorte.

Obrigado antecipadamente!

ATUALIZAÇÃO: Aqui está o conteúdo de /home/mrlanrat/domains/svn.domain.com/usvn/files/authz

# This is an auto generated file! Edit at your own risk!
# You can edit this "/" section. Settings will be kept.
#
[/]
* = 

#
# Don't edit anything below! All manual changes will be overwritten. 
#

[groups]
python1 = mrlanrat, user


# Project python1
[python1:/]
@python1 = r

[python1:/branches]
@python1 = rw

[python1:/trunk]
@python1 = rw

E aqui está /home/mrlanrat/domains/svn.domain.com/usvn/files/htpasswd

mrlanrat:*****
user:*****

Este é o log de acesso: link e aqui está o log de erros: link

A parte de interesse está aqui:

[Wed Apr 21 12:13:25 2010] [error] [client 209.129.37.170] user  not found: /svn/test/trunk
[Wed Apr 21 12:13:25 2010] [error] [client 209.129.37.170] client denied by server configuration: /home/mrlanrat/domains/svn.domain.com/usvn/public/svn

Fazer o login através de um navegador da web parece funcionar, no entanto netbeans e outros clientes svn recebem 403 erros.

    
por lanrat 20.04.2010 / 04:48

3 respostas

0

Após um dia inteiro de pesquisando e encontrando todos os tipos de problemas que poderiam causar este erro 403, nenhum deles onde o meu. Eu finalmente encontrei meu problema!

Eu tinha o mod_evasive ativado no Apache. Aparentemente, o SVN / WED-DAV envia comandos tão rápido que fica bloqueado.

Então, voltemos à solução! Desativar mod_evasive! :)

Se alguém souber uma maneira de desativá-lo apenas para um host virtual, informe-nos. Eu ainda gostaria que fosse ativado para meus outros hosts virtuais.

Obrigado!

    
por 22.04.2010 / 05:15
1

Eu tive o mesmo problema e fiquei vermelho que não há possibilidade de desativar o mod_evasive para um host virtual definido.

A seguinte configuração "workaround" funciona para mim com svn.:

altere: /etc/apache2/mods-available/mod-evasive.load

O arquivo inteiro:

LoadModule evasive20_module /usr/lib/apache2/modules/mod_evasive20.so
< Se o módulo mod_evasive20.c >
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 15
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 600
< / IfModule >

Após a alteração, você deve reiniciar o Apache:
/etc/init.d/apache2 restart

Divirta-se

    
por 29.05.2010 / 23:14
0

Como é o seu arquivo /home/mrlanrat/domains/svn.domain.com/usvn/files/authz ?

O meu parece com isto:

[groups]
everyone = user1, user2, user3
repo1users = user1

[/]
@everyone = r

[repo1:/]
@repo1users = rw

nós tivemos problemas antes assim e é principalmente configurar mal o arquivo authz.

    
por 20.04.2010 / 13:59