A permissão de gravação do Apache em public_html?

2

Eu tenho uma conta em um servidor hospedado, onde tenho acesso SSH.

Os arquivos colocados em /home/sandra/public_html estão on-line.

O DokuWiki recomenda que o diretório data e conf não esteja em Document Root , então eu os movi para /home/sandra/data/ e /home/sandra/conf .

O problema é que apache não pode gravar nesses diretórios.

Propriedade de /home/sandra/ é sandra.sandra .

Pergunta

Existem outras soluções para este problema do que

chmod 777 /home/sandra

O usuário root pode me ajudar?

    
por Sandra 01.09.2012 / 17:53

2 respostas

2

Como o Hex já escreveu, o diretório deve ser gravável para o usuário sob o qual o Apache é executado. Você pode conseguir isso alterando o grupo para o grupo primário do usuário do Apache (www-data no Ubuntu) e dar permissão de gravação ao grupo.

chgrp -R www-data /home/sandra/data /home/sandra/conf
chmod -R g+rwX /home/sandra/data /home/sandra/conf

O usuário também deve poder cd nesses diretórios, por isso precisa de execute permissões no diretório pai.

chmod o+X /home/sandra

Outra opção seria adicionar as respectivas ACLs para o usuário do Apache, se o sistema de arquivos as suportar.

setfacl -m default:u:www-data:rwx /home/sandra/data /home/sandra/conf
setfacl -m u:www-data:x /home/sandra

Eu não recomendaria alterar o proprietário.

    
por 01.09.2012 / 19:29
1

Você pode tentar

chown -R apache /home/sandra/conf 

Este comando fará do apache o proprietário desses arquivos. Você pode então dar acesso total ao apache para o folderby fazendo

chmod 770 /home/sandra/conf

Ambos os comandos devem ser executados em ambas as pastas, respectivamente.

    
por 01.09.2012 / 19:07