15

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.

6
  • 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
  • 1
    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
14

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.

<IfDefine WEBSHARING_ON>
#
# 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.

2
  • 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 '16 at 12:18
0

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

2
  • Could you add more detail? Your post contains more information than what you said here. 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
0

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).

2
  • The entire /etc folder is a link to /private/etc so the two are one and the same. 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 clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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