8

I just tried to change my Laravel project to run on Nginx instead of Apache and can't get the right permissions. Don't really know what to try next. Currently here they are: enter image description here

I even gave the 777 permission to the storage folder, but nothing works. I have an admin panel on a blog which always keeps throwing

ErrorException in File.php line 190: chmod(): Operation not permitted 

Would really appreciate any help.

I am using Nginx, PHP 7.0, MySQL. The website is written using the Laravel framework.

7
  • how about sub-folder's permission of storage ? Commented Jun 6, 2016 at 3:50
  • which file is this ErrorException in File.php line 190 ? Commented Jun 6, 2016 at 14:00
  • Sorry I didn't have time to review your answers I will do so today in evening :) Commented Jun 8, 2016 at 9:12
  • Unfortunately none of the answers helped, I still get "chmod(): Operation not permitted" if I try to access the admin panel. It maybe connected to the fact that I use Auth there. Commented Jun 9, 2016 at 16:53
  • Permissions in sub-folders are same as their parent folders. Commented Jun 9, 2016 at 17:04

4 Answers 4

22

This will work, as777 is a security risk

 sudo chmod -R o+w storage/ sudo chmod -R 775 storage/ 
Sign up to request clarification or add additional context in comments.

Comments

12

First, check the user assigned in Nginx www conf file /etc/php/7.0/php-fpm.d/www.conf
User may be www-data or _www or any other.

Then change the ownership of the project folder as

sudo chown $USER:www-data -R ~/Laravel/PBlog/

Then Change the file permissions as

sudo chmod u=+srwX,g=+srX,o=rX -R ~/Laravel/PBlog/

s flag means, any file/folder added/created inside the folder will take same permission.

3 Comments

I am having user = nobody group = nobody what should be chown command for me?
4

The shortest way I found to fix it:

sudo chown -R $USER:www-data storage bootstrap/cache 

Comments

3

Depending on how you bootstrapped your project, there is already a 775 flag on the storage folder usually, another easy fix, is to add your web server user to your group using usermod with the -aG options : usermod -aG $USER www-data

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.