nginx 403 forbidden ...

Posted January 11, 2014 286.6k views
I used this article to setup virtual hosts on nginx but I'm getting a 403 forbidden error. The article tells us to do this to set permissions `You can replace the "www-data" below with the appropriate username. sudo chown -R www-data:www-data /var/www/ Additionally, it is important to make sure that everyone is able to read our new files. sudo chmod 755 /var/www` I therefore did this with my username sudo chown -R username:username /var/www/ but I'm still getting the 403 forbidden errror. Do you know anything I can try?
1 comment

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

12 answers
Do you have a file called index.html in /var/www/

The username used in the chown command should be the ones which nginx runs with - you can check that by running the command:
ps -ef | grep nginx (You are looking at the first column on any of the nginx worker processes

Once you chown with the good username you also need to restart nginx:
/etc/init.d/nginx restart
Thanks, this was the output of ps -ef | grep nginx

root 14130 1 0 16:06 ? 00:00:00 nginx: master process /usr/sbin/nginx
www-data 14132 14130 0 16:06 ? 00:00:00 nginx: worker process
www-data 14133 14130 0 16:06 ? 00:00:00 nginx: worker process
www-data 14134 14130 0 16:06 ? 00:00:00 nginx: worker process
www-data 14135 14130 0 16:06 ? 00:00:00 nginx: worker process
michael 14900 14326 0 17:35 pts/2 00:00:00 grep --color=auto nginx

Therefore, was I correct to do this?
sudo chown -R username:username /var/www/

This is what the tutorial says this

`You can replace the "www-data" below with the appropriate username.
sudo chown -R www-data:www-data /var/www/

right now I'm signed in as `michael` can I fix this problem
chown with www-data:www-data and restart nginx - that should fix the 403 error
@doper408: Simply replace index.html with your own index.html that you want to use and you should be fine. If it's a PHP app, replace index.html with your own index.php file and make sure the index directive is set to index.php index.html (e.g.: index index.php index.html;) in your nginx's virtual host config.
I did this but I'm still getting the error

sudo chown -R www-data:www-data /var/www/

sudo service nginx restart
* Restarting nginx nginx
@Kamal Nasser, I'm Having the same problem. If i keep the index.html file when i go to the domain I see this "Success: You Have Set Up a Virtual Host" if I remove it I get the "403 forbidden error" any solution to this. thanks in advance
@Kamal Nasser , thanks a lot that work great, but only for the main page when a visit a page for example, I get "500 Internal Server Error" any suggestion to fix this. thanks in advance
  • This is the step that I’ve done and it’s work:

    sudo chown -R www-data:www-data /usr/share/nginx/html/*
    sudo chmod -R 0755 /usr/share/nginx/html/*

    This step is done on Ubuntu 14.04

I Need Help To Download A MemoryHackers Download Sector Because I Can Not Download Because A 403 Forbidden nginx

Everything could be okay with your permissions. In my case, I got the same just because of wrong config. For example no or wrong php settings, no index.php as a root file or even wrong root folder.

Also your problem could be caused “sudo chmod 755 /var/www”, because it doesn’t contain -R flag. That’s important too.

I have resized a droplets and it gives me the following error:
403 Forbidden
nginx / 1.14.0 (Ubuntu)

is on Ubuntu server 18
I have performed the procedures in this post and the problem persists.
Can you help me with this?

If your file structure is outside the default location, you might need to add the “username” to the “www-data” group. Replace username with the appropriate one for your environment.

usermod -aG username www-data
Submit an Answer