Permissões do usuário no diretório de upload

0

O upload de arquivos pelo meu site falha porque o apache não é reconhecido como tendo acesso de gravação. No entanto, minhas permissões mostram o contrário. Alguma idéia?

Ao fazer o upload via script, o script retorna

Error:  Directory is not writable

Diretório é /home/username/public_html/uploads
Permissões de diretório são drwxrwsr-x
Diretório é de propriedade de username:webadmins
O Apache é executado como www-data e é membro de grupos www-data webadmins

O que devo mudar para que o www-data (Apache) possa gravar neste diretório? Obrigado.

    
por csi 19.03.2013 / 17:57

1 resposta

0

Você pode tentar definir os direitos da pasta de uploads para o 777 (acesso de leitura e gravação para todos os usuários). Mas isso não é seguro. Você não deve usar isso em um sistema de produção ou em um sistema com vários usuários. De qualquer forma, isso funcionaria assim sudo chown -R 777 /home/username/public_html/uploads

O outro (e melhor) caminho seria usar o mod_ruid2 para o Apache. Você pode baixá-lo aqui link

Você tem que compilá-lo e depois disso você tem que habilitar o módulo sudo a2enmod ruid2

Com isso instalado e ativado, você pode editar o arquivo de configuração do módulo userdir sudo nano /etc/apache2/mods-enabled/userdir.conf

Adicione o follwowing

<IfModule mod_ruid2.c>
RMode stat
RUidGid username usergroup
RGroups username usergroup
</IfModule>

Depois disso, você precisa reiniciar o serviço Apache sudo service apache2 restart

Com essa configuração, você pode usar o diretório public_html com seu usuário e grupo de usuários.

Mas isso só funciona, se você tiver apenas um usuário com um userdir public_html Apache.

    
por TIIUNDER 19.03.2013 / 19:29