Fornece automaticamente as permissões de gravação do Apache aos arquivos recém-adicionados do git clone (-R g + rw)

3

Estou com um problema ao permitir que o Apache tenha automaticamente acesso de gravação a um arquivo .htaccess sendo extraído de um repositório git.

Aqui está o meu processo:

Estou logado como um usuário recém-criado " webadmin ", que foi adicionado ao grupo " apache " (i Estou no CentOS, por isso é equivalente a www-data ) e criei um diretório vazio:

/var/www/html/test

Eu assegurei que neste diretório eu fiz o seguinte:

$ umask 002 
$ chown -R apache:apache /var/www/html/test
$ chmod -R g+rw /var/www/html/test 

Isso é para garantir que o diretório seja de propriedade do grupo " apache " e desde o meu usuário " webadmin " faz parte desse grupo, presumo que qualquer coisa que eu adicione com este usuário também será gravável pelo apache usuário (scripts php).

Ainda usando o usuário webadmin , eu executo

git clone myrepo.git .

Que puxa os arquivos do meu site WordPress para o diretório. Incluído neste é um arquivo .htaccess. Este arquivo precisa ser gravável pelo WordPress, para que possa modificar as regras. Todos os arquivos baixados pertencem a webadmin com o grupo apache .

Por alguma razão, o arquivo .htaccess não é por padrão gravável pelo apache até que eu seja executado novamente:

$ chmod -R g+rw /var/www/html/test 

Por que eu teria que executar esse comando novamente? Existe alguma maneira que eu possa fazer isso para que este arquivo pode, mas automaticamente escrito por apache quando é puxado para baixo sem ter que executar o comando -R g+rw ?

    
por Joe 11.07.2014 / 19:16

1 resposta

2

Sua necessidade é exatamente o oposto de esta postagem stackoverflow . Então, resumindo, você pode escolher:

  • Defina umask adequadamente (presumivelmente para 002, de acordo com sua postagem) antes de executar git
  • Adicione um script git hook para alterar a permissão do arquivo após a clonagem.

A primeira escolha é geralmente mais fácil de fazer.

    
por 11.07.2014 / 23:37