Apache & SVN no Ubuntu - O gancho Post-commit falha silenciosamente, gancho de pré-consolidação “Permission Denied”

2

Eu tenho lutado nos últimos dois dias para receber notificações por e-mail pós-commits trabalhando no meu servidor SVN (rodando via HTTP com o Apache2 no Ubuntu 9.10). O SVN confirma o trabalho bem, mas por alguma razão os ganchos não estão sendo executados corretamente.

Aqui estão as configurações: - Usuários acessam o repositório via HTTP com o módulo apache dav_svn (eu criei usuários / senhas via htpasswd em um arquivo dav_svn.passwd).

dav_svn.conf:

 <Location /svn/repos>
  DAV svn
  SVNPath /home/svn/repos

  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /etc/apache2/dav_svn.passwd

  Require valid-user
  </Location>
  • Eu criei um arquivo de gancho post-commit que grava uma mensagem simples em um arquivo na raiz do repositório:

/ home / svn / repos / hooks / pós-commit:

#!/bin/sh

REPOS="$1"
REV="$2"

/bin/echo 'worked' > ${REPOS}/postcommit.log

Eu configurei todo o repositório como propriedade de www-data (o usuário do apache) e atribuí as permissões 755 ao script de pós-commit

quando eu testo o script post-commit usando o usuário www-data em um ambiente vazio, ele funciona:

sudo -u www-data env - /home/svn/repos/hooks/post-commit /home/svn/repos 7

Mas quando eu me comprometo em uma máquina cliente, o commit é bem sucedido, mas o script post-commit não parece ser executado.

Eu também tentei executar um script simples para o gancho pre-commit, e recebo um erro, mesmo com um script de pré-commit vazio:

"Confirmação falhada (detalhes a seguir): Não é possível criar stdout nulo para hook '/ home / svn / repos / hooks / pre-commit': permissão negada "

Eu fiz algumas pesquisas no Google por esse erro e presumo que isso seja um problema com o usuário do apache (www-data) não ter permissões adequadas, especificamente para executar o / dev / null. Eu também li que a razão de post-commit falhar silenciosamente é porque isso não é reportado com stdout.

De qualquer forma, também tentei dar ao usuário apache (www-data) a propriedade de todo o repositório e editei o virtualhost do apache para permitir operações na raiz do servidor, e ainda estou recebendo permissão negada

/etc/apache2/sites-available/primarydomain.conf

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
</Directory>

Qualquer ideia / sugestão será muito apreciada! Obrigado

    
por user41397 24.04.2010 / 17:42

1 resposta

2

Então, depois de discutir esse problema com um administrador de sistemas muito útil no melhor provedor de hospedagem de todos os tempos, o RailsPlayground, eles conseguiram corrigir o problema definindo as permissões em / dev / null para

crw-rw-rw- 1 root   root    1,   3

e agora, todos os ganchos SVN funcionam como esperado.

    
por 25.04.2010 / 18:56