59

I'm in Linux, Elementary OS, and installed lampp in opt.

My CSS and JS won't load. When I inspect my page through browser. The console says Failed to load resource: the server responded with a status of 403 (Forbidden) I'm really sure that my directories are correct.This is my workspace

This is the error enter image description here

enter image description here

Mark Vizcarra
  • 1,165
  • 1
  • 11
  • 15
  • My first assumption is permission settings... – Paul Dessert Sep 10 '13 at 16:54
  • Permission as root? I tried running chromium as root, but no luck. – Mark Vizcarra Sep 10 '13 at 16:56
  • 2
    Open a terminal, `cd` to the **bootstrap_practice/bootstrap/css** folder, type `ls -la` and add the result to your question so we can see who owns those files. If the localhost web server is Apache but the files are owned by **root**, Apache won't be able to open them. – Jeremy Harris Sep 10 '13 at 16:58

3 Answers3

65

You need to change permissions on the folder bootstrap/css. Your super user may be able to access it but it doesn't mean apache or nginx have access to it, that's why you still need to change the permissions.

Tip: I usually make the apache/nginx's user group owner of that kind of folders and give 775 permission to it.

Edson Horacio Junior
  • 3,033
  • 2
  • 29
  • 50
17

Find out the web server user

open up terminal and type lsof -i tcp:80

This will show you the user of the web server process Here is an example from a raspberry pi running debian:

COMMAND   PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
apache2  7478 www-data    3u  IPv4 450666      0t0  TCP *:http (LISTEN)
apache2  7664 www-data    3u  IPv4 450666      0t0  TCP *:http (LISTEN)
apache2  7794 www-data    3u  IPv4 450666      0t0  TCP *:http (LISTEN)

The user is www-data

If you give ownership of the web files to the web server:

chown www-data:www-data -R /opt/lamp/htdocs

And chmod 755 for good measure:

chmod 755 -R /opt/lamp/htdocs

Let me know how you go, maybe you need to use 'sudo' before the command, i.e. sudo chown www-data:www-data -R /opt/lamp/htdocs

if it doesn't work, please give us the output of: ls -al /opt/lamp/htdocs

Joeme
  • 505
  • 1
  • 5
  • 12
1

A fast solution can be change permissions with:

sudo chmod -R 755

If you are managing a production server be careful and dont add a permission that you dont need.

gopeca
  • 1,601
  • 12
  • 12