Well, heres my two cents worth with an explanation up front.
ADSL2+ with Dynamic IP Address coming into a Billion 7800N Wireless ADSL2+ Modem / Router
Mac Pro , 2 iMac's, MacBook, 2 x windows laptops ( school supplied for kids!), 1 Ubuntu laptop, 2 iPads, 3 Ipod Touches, 3 iPhones and other ancillary stuff!
1 Ethernet Bridge
1 Powerline Bridge
1 Netgear Wireless Router providing wireless lan
1 TimeCapsule providing wireless lan
1 Netgear NAS
2 x Powerware 5110 UPS
Mac Pro runs
OS X Server with 3 public domains running Mail / Web / Wiki / DNS / Address Book / Calendar / OD / Profile Manager and two Minecraft Servers for my son ( !)
Web sites served on OS X
1st domain - OSSEC ( via webapp and directory alias) , Webmail ( via webapp and directory alias) , Wiki,
2nd domain - Drupal CMS, SugarCRM CE, Drupal Dev site.
3rd domain - HTML site
1st Domain also has webapps that point to the Ubuntu VM and redirect mycomain.com/OpenNMS etc as well as an R Server (RStudio) on one of the iMac's and the Netgear NAS.
Ubuntu Server running under a VM on the OS X Server with separate tcp address
1. Runs NetworkUPSTools for UPS Monitoring and auto shutdown of all equipment (problem with the NUT USB driver for OS X, but works perfectly under Ubuntu) Has a html / CGI interface for graphical monitoring
2. Runs OPENNMS and Cacti - also both addressable via http.
DNS has 3 Zones with 1 nameserver and MX record per zone pointing to the OS X server + machine records for the iMacs and the Netgear NAS.
Each Zone has an alias for any web site served by Web Sites in OS X Server
OS X Server DNS serves all client requests in the house so that I dont need different setups for the 3G iPads and iPhones outside of the house. (i.e. mail server address is a fqdn of the server) VNC apps work inside or outside the house with the same host address etc.
Multiple webapps for apache redirects within the network for the above
Here's an example of one of the webapps for proxy requests to a different machine ( actually the Ubuntu VM).
It puts a dinky little Webapp selector within the Server.app Website tabs.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>com.mydomain.moria.proxy</string>
<key>displayName</key>
<string>MoriaProxy</string>
<key>proxies</key>
<dict>
<key>/moria</key>
<dict>
<key>path</key>
<string>/moria</string>
<key>urls</key>
<array>
<string>http://10.0.0.89</string>
</array>
</dict>
</dict>
<key>installationIndicatorFilePath</key>
<string>/var/moriaproxy.flag</string>
<key>requiredModuleNames</key>
<array>
<string>proxy_module</string>
</array>
<key>requiredWebAppNames</key>
<array/>
<key>sslPolicy</key>
<integer>0</integer>
</dict>
</plist>
Hope that helps.