Permissões no .git para que o apache (frontend do PHP) tenha permissão para se comprometer

1

Eu tenho um sistema wiki baseado em git, que tem um front-end web PHP usando um servidor web Apache2 local. De dentro do PHP, eu corro git commit ... , que deveria ter permissão para confirmar as alterações feitas nos arquivos wiki. No entanto, eu tenho que puxar e empurrar usando o meu usuário padrão por causa da identidade do usuário (meu arquivo de chave SSH privada). Quais permissões devo usar para a pasta .git e seu conteúdo? Se eu usar as permissões padrão, o apache não poderá bloquear o índice e, assim, falhar em confirmar as alterações.

    
por leemes 02.12.2012 / 13:00

1 resposta

1

Em vez de executar comandos shell a partir do seu aplicativo PHP, sugiro que você comece a escrever seu aplicativo da web para usar o Git programaticamente usando uma biblioteca de ligação do PHP-Git. Por exemplo, php-git .

Isso tem muitas vantagens, como não ter que analisar a saída da linha de comando, o que pode mudar em uma versão futura do Git.

Sobre as permissões do sistema de arquivos, basta efetuar login no servidor no qual o servidor de aplicativos PHP está em execução (por exemplo, su -l www-data -s /bin/bash em sistemas baseados no Debian) e criar um par de chaves pública / privada para esse usuário. Mantenha toda a propriedade do arquivo para o usuário da web para esse clone do repositório.

    
por 02.12.2012 / 19:02