suexec com falha de scriptalias sem logs

1

Estou tentando instalar o gitolite 3 em um servidor apache2. Portanto, preciso executar um script CGI de propriedade de git:git . Minha configuração para alcançar isso (com base principalmente em isso ) é:

<VirtualHost myserver.com>
  ServerName myserver.com
  ServerAlias git
  SuexecUserGroup git git
  ScriptAliasMatch "(?x)^/(.*/(HEAD | info/refs | objects/(info/[^/]+ | [0-9a-f]{2}/[0-9a-f]{38} | pack/pack-[0-9a-f]{40}\.(pack|idx)) | git-(upload|receive)-pack))$" \
  /srv/www/gitolite_suexec_wrapper.sh/$1
</VirtualHost>

O problema que tenho é sempre que uma consulta corresponde ao meu regexp de alias stript, o cliente recebe um 403 e meus logs de erros do apache (definidos para o nível de depuração) me dizem o seguinte:

client denied by server configuration: /srv/www/gitolite_suexec_wrapper.sh

Meu servidor apache2 tem o usuário wwwrun e o grupo www. O módulo suexec está rodando, então testo que tudo está bem assim:

su -c "/usr/sbin/suexec2 true" wwwrun
suexec policy violation: see suexec log for more details

Então este usuário pode iniciar o suexec. Anteriormente, eu tinha permissões erradas no meu /srv/www/gitolite_suexec_wrapper.sh e tinha linhas registradas em /var/log/apache2/suexec.log , agora não tenho nada, então acho que meus direitos estão configurados corretamente com relação ao suexec e ao script de quebra automática.

E ainda não tenho certeza se esse script deve ser de propriedade de wwwrun:www ou git:git do proprietário do script que eu preciso que o apache2 execute. Eu acho que da ajuda do suexec que deveria ser wwwrun:www , de qualquer forma eu tentei os dois e os dois não funcionaram .

su -c "/srv/www/gitolite_suexec_wrapper.sh" wwwrun

Dá uma saída, então acho que minhas permissões estão definidas corretamente neste script.

O que devo verificar também? O que eu fiz errado?

Agradecemos antecipadamente por sua ajuda!

    
por jolivier 10.08.2012 / 17:40

1 resposta

0

Ok achei a solução, tive que conceder acesso ao arquivo de script assim (no mesmo virtualhost):

<Directory "/srv/www">
  <Files "gitolite_suexec_wrapper.sh">
    Order allow,deny
    Allow from all
  </Files>
</Directory>

E então é bom.

    
por 10.08.2012 / 18:12