Existem muitas perguntas e respostas sobre este problema:
"storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied
A solução, corretamente, é definir as permissões corretas para proprietários e grupos corretos. Então eu fiz:
O grupo Nginx é nginx
como nginx -V
a saída diz:
nginx version: nginx/1.12.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: ... --user=nginx --group=nginx ...
O grupo dos meus arquivos e diretórios está definido como nginx
:
sudo chown -R $USER:nginx /path/to/project
Defino 755 para diretórios e 644 para arquivos:
sudo find /path/to/project -type f -exec chmod 664 {} \;
sudo find /path/to/project -type d -exec chmod 775 {} \;
Então eu configurei 775 para storage
:
sudo chmod -R 775 storage
Portanto, confirmo que as storage/logs/laravel.log
permissões são 775
ou -rwxrwxr-x
.
Mas ainda estou recebendo erro de permissão negada neste arquivo. Tentei mudar o proprietário nginx
também, sem sorte, e também desativei selinux
completamente.
Alguma sugestão?
(Ou deveria ter postado em stackoverflow.com?)
Responder1
Eu conserto o meu com esta linha:
chown -R www-data:www-data storage
Espero que ajude