How to change Document Root for Apache2 in Mac OS X
The default location of Document root as per httpd.conf is /Library/WebServer/Documents
. I want this location to be /webcontent
. So to do that, I created a webcontent folder in root(/).
Then in the httpd.conf:
- Changed the Document root line to DocumentRoot
/webcontent
- Changed the Directory tag to
<Directory "/webcontent">
;
After restarting the Apache I'm getting the following page:
Forbidden
You don't have permission to access / on this server.
Could anyone please tell me whether I need to change any permissions anywhere else to change the document root?
The httpd.conf
file provided with OS X has a default deny that locks down every directory from every client. It then allows access to the DocumentRoot
directory — that would be the default of /Library/WebServer/Documents
. Page down some in that file and you'll see:
<Directory "/Library/WebServer/Documents">
# [...]
Options Indexes FollowSymLinks MultiViews
# [...]
AllowOverride None
# [...]
Order allow,deny
Allow from all
</Directory>
Change the "/Library/WebServer/Documents"
bit to "/webcontent"
and you're good.
To follow on from @Bred Ackerman answer if your using apache vhost you will need to add: private/etc/apache2/extra/httpd-vhosts.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "/Users/fred/Sites"
ServerName 127.0.0.1
ServerAlias localhost
ErrorLog "/private/var/log/apache2/localhost-error_log"
CustomLog "/private/var/log/apache2/localhost-access_log" common
</VirtualHost>