How to add Virtual hosts in Snow Leopard OSX

by 9:04 AM 6 comments
I wiped my Old(ish) Macbook and upgraded to Snow Leopard this gave my Core Duo 1.8ghz 2g ram macbook a lease of new life. I needed to re-setup my local dev enviroment and noticed a few people where unsure how to setup vhosts with apache default install with OSX 10.6/10.5/10.4 so here it is step by step.

Edit the hosts file to add a local DNS entry.


Add the domain name you wish to use 127.0.0.1 is the loopback IP do not change this IP.


Create the folders and files for the local website. I chose to place the log files for apache in the site folder and the website content under a sub folder www.


Edit httpd.conf I used path finder here to show the locations.


You can also use VI or any text editor


On line 465 uncomment: Include /private/etc/apache2/extra/httpd-vhosts.conf and save the file.


Edit: /etc/apache2/extra/httpd-vhosts.conf


Add in the details of the new virtual host and save:
( I'm running Railo on Tomcat locally so I have so additional parameters )

I also set my logging levels to log as much as possible.

Notice the location of the logs files matched the access.log and error.log files created earlier



Run: apachectl -t
to confirm there are no syntax errors.
I choose to leave the example sites, they cause a warning but it wont stop apache.
Then restart apache: sudo apachectl restart


Create a test file in the new folder for the virtual host ( /Users/Paul/Sites/paulsDev/www )


Confirm the new virtual host works:


If you'd like to watch the logs in a terminal you can use tail:
tail -f /the/Path/to/the/log/file


BTW Dave made a great How-to on setting up Tomcat and Railo on OSX which you can view here.

6 comments:

  1. uhm, excuse me. Wow

    ReplyDelete
  2. THanks so much! I have been wrestling with this for a few days. Do your .htacces files work under this setup? I still can't get mine to engage eventhough I now have the virtual hosts in place. Thanks again

    ReplyDelete
  3. Good question. Locally I am not using mod_rewrite but you will need to add this block when defining the vhost:

    %Directory /Users/Paul/Sites/paulsDev/www%
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Order allow,deny
    allow from all
    %/Directory%

    *note I swapped % for <

    ReplyDelete
  4. Hi there,

    I have no Include /private/etc/apache2/extra/httpd-vhosts.conf

    What do I do

    ReplyDelete
  5. Try this:

    sudo vi /etc/apache2/extra/httpd-vhosts.conf

    ReplyDelete