Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

This is likely a stupid question, and it should be easy, but I'm clearly not seeing it.

My local Sites directory seems to have changed permissions since using it yesterday. It's been working fine for months and I can't for the life of me figure out what's changed.

  • The localhost works fine, but my home Sites folder gives a 403
  • my local Sites directory (~/Sites) is 755 permissions, as are the directories inside, and the files are mostly 644
  • Permissions on ~/Sites is drwxr-xr-x+, owned by my shortname & staff, which seems right
  • Checked apachectl configuration and got a "Syntax OK" response
  • Just to be clear, this was working. My /etc/apache2/httpd.conf allows for user-directories (uncommented) and it resolves the virtual hosts I've set, they all just have some mystical 403 blocking them.
  • Adding insult to injury, the Sites work in other user profiles on the machine, and they have the same permissions

So - stumped. What am I just not seeing?

share|improve this question
    
permissions further back may prevent access, have you ran a disk utility > check permissions? –  stuffe Aug 17 '11 at 14:36
add comment

3 Answers

up vote 2 down vote accepted

You have to reach that directory with the running user of the Apache process. You can check that by sudoing to it and try to go there from the / (root) directory.

The easiest way is to have the execute permission set for others on every directory from root to your user's Site directory.

To check:

ls -ld /Users ~/ ~/Site

And the fix:

chmod +x /Users ~/ ~/Site

(You may need to sudo to modify)

share|improve this answer
    
Yep - that was it. Somehow I removed the execution from the directory. Was staring at it and it just didn't register - thanks! –  Holland Aug 18 '11 at 9:35
    
Then you should accept one of the answers, please! –  KARASZI István Aug 18 '11 at 9:37
    
I thought I had, sorry. –  Holland Aug 19 '11 at 9:59
add comment

Take a look at other directories' permissions; for example, your home directory vs. the other home directories:

ls -le /Users/

It should look something like this:

drwxr-xr-x+ 13 user1   staff   442 12 Nov  2010 user1/
 0: group:everyone deny delete
drwxr-xr-x+ 63 user2   staff  2142  9 Aug 16:55 user2/
 0: group:everyone deny delete

There's a good chance that your home directory has somehow been set to different permissions (e.g. 700), and that's causing Apache to choke.

share|improve this answer
    
Thanks - that helped point me in the right direction. Execution permissions had been turned off somehow (hmm...) –  Holland Aug 18 '11 at 9:36
add comment

Right click, go to Get Info, and at the bottom you can change permissions.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.