SVN + Protocolo WebDav

Iniciado por naallavoej, 05 de Fevereiro de 2011, 17:00

tópico anterior - próximo tópico

naallavoej

Olá.
Antes de abrir este tópico fiquei em dúvida se esta é sessão certo para o assunto.

Sou um novo usuário de linux e esse é um dos meus primeiros tópicos no forum.

Estou tentando abilitar o protocolo WebDav para acessar meu repositório svn, que foi criado em minha própria máquina.

Para deixar bem claro meus passos iniciais vou posta-los abaixo.

        Após a instalação do apache
   - sudo apt-get install subversion libapache2-svn
   - mkdir .svn
   - cd .svn
   - mkdir projeto1
   - sudo svnadmin create projeto1/
   - sudo svn mkdir file:///www/.svn/projeto1/branches
   - sudo svn mkdir file:///www/.svn/projeto1/tags
   - sudo svn mkdir file:///www/.svn/projeto1/trunk
   - sudo chmod 777 -R www/.svn/projeto1/
   - para acessar o arquivo no netbeans ou terminal basta acionar file:///www/.svn/projeto1 ou file://localhost/www/.svn/projeto1

Até esta parte tudo correu bem, o sistema de versionamento tanto pelo netbeans quanto pelo terminal funcionam perfeitamente.

Agora tentei avançar mais um passo e configurar o protocolo WebDav para acesso via http

Basicamente meus passos foram o seguinte.

Editei o arquivo /etc/apache2/apache2.conf para configurar o 'local svn' acionando ao final do arquivo as seguintes linhas. Sendo que fiquei em dúvida se editaria o arquivo /etc/apache2/mods-available/dav_svn.conf.

<Location /svn>
  DAV svn
  SVNParentPath /www/.svn/projeto1
  AuthType Basic
  AuthName "O nome do seu repositório"
  AuthUserFile /etc/subversion/passwd
  <LimitExcept GET PROPFIND OPTIONS REPORT>
  Require valid-user
  </LimitExcept>
  </Location>

Feito isso configurei uma senha, através do comando:

htpasswd -c -m /etc/subversion/passwd usuario

Ao final utilizei o camando:

svn co http://localhost/svn

Porém o camando retorna um erro, tanto utilizando o terminal quanto utilizando o navegador ou o netbeans:

'svn: Server sent unexpected return value (403 Forbidden) in response to OPTIONS request for 'http://localhost/svn'

Sei que este erro provavelmente se enquadra nas permissões. Gostaria de saber se alguém poderia me dizer o que estou fazendo de errado. A única coisa que preciso é acessar meu repositório via http.

Agradeço desde já.

zekkerj

CitarEditei o arquivo /etc/apache2/apache2.conf para configurar o 'local svn' acionando ao final do arquivo as seguintes linhas. Sendo que fiquei em dúvida se editaria o arquivo /etc/apache2/mods-available/dav_svn.conf.

<Location /svn>
  DAV svn
  SVNParentPath /www/.svn/projeto1
  AuthType Basic
  AuthName "O nome do seu repositório"
  AuthUserFile /etc/subversion/passwd
  <LimitExcept GET PROPFIND OPTIONS REPORT>
  Require valid-user
  </LimitExcept>
  </Location>
Você poderia ter criado um arquivo "/etc/apache2/conf.d/svndav.conf" e colocado suas configurações. Assim não corre o risco de mexer em arquivos importantes e "quebrá-los".

Citaro final utilizei o camando:

svn co http://localhost/svn

Porém o camando retorna um erro, tanto utilizando o terminal quanto utilizando o navegador ou o netbeans:

'svn: Server sent unexpected return value (403 Forbidden) in response to OPTIONS request for 'http://localhost/svn'

Sei que este erro provavelmente se enquadra nas permissões. Gostaria de saber se alguém poderia me dizer o que estou fazendo de errado. A única coisa que preciso é acessar meu repositório via http.
Erro 403 é acesso negado por diretiva no servidor.
Imagino que vc viu essa configuração em algum artigo ou how-to. Reveja lá, ou tente conversar com o autor do artigo, talvez esteja faltando alguma coisa.

Tente também acompanhar o arquivo de log do apache (/var/log/apache2/error_log), lá vai dar mais pistas de pq  vc está recebendo esse erro 403.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

naallavoej

Obrigado pela resposta.

Desculpe pela pergunta, não entendi a parte de acompanhar o log do apache. Poderia me explicar melhor como eu acompanho este log?

naallavoej

Pessoal consegui configurar o protocolo WebDav porém não consegui configura-lo com senha.

Vou postar como ficou minha configuração, e assim que conseguir configurar a senha posto também.

   sudo gedit /etc/apache2/apache2.conf
   Adicionar ao arquivo as seguintes linhas:
      <Location /svn>
             DAV svn
             SVNPath 'local do path svn'
      </Location>   
   sudo /etc/init.d/apache2 restart
        sudo svn co http://localhost/svn
   Para acessar via browser, netbeans ou terminal: http://localhost/svn

Sobre acompanhar o log do apache ainda gostaria que me explicasse melhor como acompanha-lo. Fui mexer no arquivo referente mas não compreendi muito bem. Teria como na hora que executar uma ação envolvendo o apache passar algum parametro que retorne na tela o log?

zekkerj

Você nunca consultou o log de um sistema? Como conseguiu aprender a mexer no apache? :o
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D