I helped a user fix his web server problem on a Snow Leopard server. Since I do not have much experience with OS X server administration, it took me a while to fix the problem. The user has a server which hosts a wiki site. The wiki site stopped working around the time the server got upgraded from Leopard to Snow Leopard. The error message was:
You don’t have permission to access the requested object. It is either read-protected or not readable by the server.
If you think this is a server error, please contact the webmaster.
I first thought it was related to the upgrade from Leopard to Snow Leopard. However, this was not the case and it was irrelevant. I then checked the error log file and tried to identify the source of the error. There were several entries of this error:
Symbolic link not allowed or link target not accessible: /Library/WebServer/Documents/wiki
The wiki directory is a symbolic link, so I checked the httpd.conf file and made sure the FollowSymLink option was turned on. That option was already turned on, so that was not the cause. My next step was to check the directory and make sure world (other) had read and execute permissions. I found the permissions were also set up correctly on that directory. At this point, the wiki site was still not working and I was clueless as what to try next. I finally found that, in order for the web server to serve a directory, not only does the directory need to read and execute permissions for world (other) but all the parent directories would also need the correct permissions set. For example, if the directory is at:
You will have to check the wiki directory and all the parent directories of wiki:
/Volumes /Volumes/Web /Volumes/Web/level1
and make sure they all have read and execute permissions for world. After I checked all the parent directories of wiki and made sure they had proper permissions, the wiki site was working again.