Coolest Guides on the Planet

coolest guides on the planet

Coolest Guides On The Planet

  • Home
  • macOS
  • WebDev
  • All Posts
  • Contact

Host Multiple Web Sites on OS X Server 10.7 Lion

November 17, 2011 Leave a Comment

Serving Multiple Web Sites on OS X 10.7 Lion with the Server.app.

OS X server provides functionality to host and serve multiple virtual websites from the same host over a single (or multiple) IP address, it can run the same confgurations like a regular Linux webserver as it uses Apache under the hood, you can set this up using the command line or by using some server tools that Apple provide. This tutorial uses Server.app and Server Admin, Server app is a paid for tool downloadable at the Apple store, Server Admin is a free download, link below.

To get this running you need to have successfully configured your DNS with a fully qualified domain name for the host and have a successful output when you run the command below – this step is critical as a misconfigured DNS is really going to stuff things up:

sudo changeip -checkhostname

Starting The Webserver

To get the webserver going with the default website on the localhost

– Log into your server with Server.app.

– Enable the web server from the web service and if using php, turn it on here also

osx-server-web-sharing

 

Creating the Additional DNS Zones

To serve multiple websites first up is to configure the DNS of the additional zones on your local server, you can do this using the 10.7 Server Admin tools dns service.

– Create the zone – –   assign the local server as the new zones’ nameserver – in the example below the local server is server.example.com it is both the FQDN and nameserver of the local server and is also the nameserver for the newly added dns zone of seo-hub.net

– Create a record for the new zone – – assign it the same IP address as the local server in this example the record is the domain seo-hub.net

– Create a ‘www’ alias if required – so here we are resolving the ‘www‘ component so either using ‘www’ or not will resolve the domain to seo-hub.net

osx-server-add-a-zone
Add the Zone

 

osx-server-add-a-machine-record
Add the A record or Machine Record

 

osx-server-add-a-alias
Add the Alias (its on thr drop-down below ‘Add Record’)

 

Set up Additional WebSites

Go Back to Server.app to add the site and set the web root.

By default the web root in Lion Server is:

/Library/Server/Web/Data/Sites/

To host multiple sites create a new directory per site in the Sites folder. You set that in Server.app

osx-server-set-document-root.

When adding the domain name – you will get a green light if the domain has successfully been pointed to your local nameserver verifying that DNS is correct

Set the IP address, port number and web document root by going to the ‘Other’ and creating a new web root folder and lastly set the access privileges.

One odd quirk is that if you also want to serve the website with a ‘www’ prefix (which you probably would want covered) you need to add an additional domain name site with the ‘www’ prefix and point the site files folder to the same one as the domain without the ‘www’

osx-server-www-alias
Add a www domain and point the document root to the same domain without the ‘www’

Thats it – if you are serving the sites to the outside world don’t forget to delegate the added domains nameservers to your local server’s public IP address at the domain’s name registrar and then port forward http/https traffic from your router to your webservers internal IP address..

Also remember if using SSL that a unique IP address is required per SSL/TLS domain.

 

OS X Client Machine Without Server App

 

If the Server app is installed on your Mac  this method to serve virtual hosts is preferred, as appose to a OSX client without server app – on a machine without the server app – virtual hosting is still possible. You need to edit the Apache httpd.config to allow for it. Open the file:

/etc/apache2/httpd.conf

and uncomment the include line on vhosts:

#Include /private/etc/apache2/extra/httpd-vhosts.conf

Once that is done you can add in Apache directives on virtual hosts as described here in the configuration file in the above path.

 

Footnote

This set up has been completed without any altering of the httpd.conf file.

A number of uers have reported that they can only get virtual hosts to run by adding a file with an Apache directive in /etc/apache2/sites/
Named 00000_MoreTestingRequired.conf with the content:

NameVirtualHost *:80

Restart Apache via Server.app and it has all come good.

However I note what should happen is that in /etc/apache2/sites/ a generated file named virtual_host_global.conf should appear with the content:

 

# This file is auto-generated by the web configuration

# mechanism whenever settings are saved.

# The Listen and NameVirtualHost directives are generated

# based on the VirtualHost directive inside

# each site configuration file found in this directory.

#

Listen  *:443
NameVirtualHost *:443
Listen  *:80
NameVirtualHost *:80

So if you are not getting the latter result try the above fix to see if it solves.

Since this guide I have not really used the later Mountain Lion 10.8 server instead I use the regular client to serve virtual hosts from Apache.

 

Cats: macOS, WebRoot

Tags

3gs 10.6 apache backup baseband boot clean urls cpanel css curl custom database drupal el capitan git Google image instadmg ios iphone jailbreak keys lion mac macos mojave macos sierra menu mysql OSX panda php phpmyadmin private public redirect redsn0w remote rsa SEO shell ssh terminal unstoppables upgrade urls

Donate a Beer to the Coolest Guides

Get Beaver Builder Now!

Discuss

3gs 10.6 apache backup baseband boot clean urls cpanel css curl custom database drupal el capitan git Google image instadmg ios iphone jailbreak keys lion mac macos mojave macos sierra menu mysql OSX panda php phpmyadmin private public redirect redsn0w remote rsa SEO shell ssh terminal unstoppables upgrade urls
Get DesktopServer

Lynda

Lynda.com Online Training Videos

TreeHouse

smlinks

Learn WordPress
osx-modify-shell-path

How to Add to the Shell Path in macOS Big Sur and Catalina using Terminal

October 19, 2019

virtual-hosts osx 10.10 yosemite

Set up Virtual Hosts on macOS Catalina 10.15 in Apache

October 19, 2019

Installing Homebrew on macOS Catalina 10.15, Package Manager for Linux Apps

October 18, 2019

Where is the bash shell in macos Catalina?

October 12, 2019

Refine your search

  • All
  • Modules
  • Themes
  • Documentation
  • Forums & Issues
  • Groups

RSS ars technica

  • Trump threatens Apple with 25% tariff to force iPhone manufacturing into US
  • I helped a lost dog’s AirTag ping its owner: An ode to replaceable batteries
  • Apple legend Jony Ive takes control of OpenAI’s design future
  • Epic goes to court to force Fortnite back on US iOS
  • Google hits back after Apple exec says AI is hurting search

RSS mac surfer

  • Tot is new text editor for Mac, iPhone, and iPad focused on constraints and ease of use
  • TiPbITS: Google Drive Sorting Can Hide New Documents
  • How to take a screenshot on a MacBook Pro
  • How To Create Simple Animation With Mac Keynote
  • Last Week on My Mac: Virus pandemics

Donate

Copyright © 2025· Neil Gee - All Rights Reserved - Hosted by Runcloud

Copyright © 2025 · gee on Genesis Framework · WordPress · Log in