Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am baffled.

I don't see where /usr/htdocs is specified as the DocumentRoot for apache2 on Mac OS X Lion.

It is the default DocumentRoot on a new OSX Lion install.

Can someone point me to where this is specified?

I looked in the entire /etc/apache2 directory and could not find that rule.

share|improve this question
nothing in the /etc/apache2/available-sites/* configs? – ragnq Nov 18 '11 at 16:28
The default OSX setup does not use the available-sites or enabled-sites structure. – vinhboy Nov 18 '11 at 16:33
It's not. A new OS X Lion installation uses /Library/WebServer/Documents, just like the major releases before Lion, which is also where the button Open Computer Website Folder… in System Preferences » Sharing » Web Sharing points to. Did you install a package manager like Homebrew, Fink, or MacPorts; XAMPP or a similar Apache solution? What is the output of which httpd and ps aux | grep httpd in Terminal? – Daniel Beck Nov 18 '11 at 17:31
I did not install any of those package managers. But thanks, I will look down that path. I do see the /Library/WebServer/Documents directive in the httpd.conf file. However, it is obviously being overwritten somewhere else. I tried following all the references to other .conf file, but no luck yet. – vinhboy Nov 18 '11 at 17:38
Why not grep for /usr/htdocs on your machine and see where it's overwritten? — (/cc @dan, you didn't get a reply for this) – slhck Nov 18 '11 at 17:41
up vote 14 down vote accepted

When "Web Sharing" is NOT enabled it takes /usr/htdocs as the root. When you enable "Web Sharing" it will take the config file at /etc/apache2/httpd.conf. The directory will be the one specified near the following section on the file.

# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
DocumentRoot "/Library/WebServer/Documents"

Also you con use your "Sites" directory at /Users/USERNAME/Sites accessing with localhost/~USERNAME.

share|improve this answer
Spot on. Note also the line ServerRoot "/usr" - with Web Sharing OFF and no alternate DocumentRoot specified, it seems the Apache default is to look for htdocs within the defined Server Root. – rymo Oct 24 '13 at 22:13
Is that true that some <IfDefine WEBSERVICE > should be commented since its a WEBSERVICE ? – Gucho Ca May 26 at 12:18

Enable your Web Sharing first, Go to the system preferences -> Sharing then enable web sharing. I wrote a post on it.

share|improve this answer
Could you add more detail? Your post contains more information than what you said here. – Simon Sheehan Nov 27 '11 at 19:09
so he wrote a post, go and read it and congifigure your web sharing in lion ))) I did this too, earlier now I have folder "Sites" in my home dir and everything works. – holms Nov 27 '11 at 19:17

This Q helped me solve identical problem on SnowLeopard today. Beware: it was the httpd.conf in /private/etc/apache2 not in /etc/apache2 (which also exists) that got read and pointed to /Library/WebServer/Documents in my case.

I hope this helps (others too).

share|improve this answer
The entire /etc folder is a link to /private/etc so the two are one and the same. – Fireandlight27 Dec 5 '13 at 1:39
@Fireandlight27 I don't think it was on SL, as I would'n write otherwise. I'm glad they are linked in your case; which OS version? – P Marecki Dec 7 '13 at 5:59

Your Answer


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.