Setting Up a Local Nameserver on Mac OS X 10.4.x
23 10 2006Instructions for setting up a local Nameserver in Mac OS X 10.4.x For Local Website Development
Introduction
Mac OS X Tiger comes with lots of traditional UNIX goodies, one of these is the BIND name server.
These guidelines are intended as a quick reference for setting up bind to resolve arbitrary
domain names so that in turn you can set up virtual hosts in apache.
I prefer this method to mucking about with NetInfo Manager and please feel free to point out
gotchas and caveats with this approach.
References
DNS & BIND By Paul Albitz
- Set up the BIND Configuration files
-
- Open up a terminal and become root
mkdir /System/Library/StartupItems/BINDcd /System/Library/StartupItems/BINDtouch BINDtouch StartupParameters.plist
Edit the
./BINDfile in your favourite editor and insert the following:#!/bin/sh . /etc/rc.common if [ "${DNSSERVER}" = "-YES-" ]; then ConsoleMessage "Starting BIND DNS Server" /usr/sbin/named fiMake the BIND file executable with a
chmod +x BINDEdit the
./StartupParameters.plist{ Description = "Local Caching DNS Server"; Provides = ("DNS Server"); OrderPreference = "None"; Messages = { start = "Starting BIND DNS Server"; stop = "Stopping BIND DNS Server"; }; } - Set up the rndc utility
-
- Create the rndc.conf file:
rndc-confgen > /etc/rndc.conf - Copy the key from rndc.conf into a new rndc.key file:
head -n 6 /etc/rndc.conf > /etc/rndc.key
Edit the rndc.conf file and change the line that reads:
options { ..... default-port 953; };To:
options { ..... default-port 54; }; - Create the rndc.conf file:
- Create a new Zone File
-
cd /var/namedtouch my.site(renamemy.siteto your name of choice such as powerbook.site or something. Try to avoid ‘real’ tlds such as .com or .net etc…)
Edit the new zone file to read something like this:
$TTL 86400 @ IN SOA localhost. root.localhost. ( 2003072405 7200 7200 1209600 172800 ) ; Primary Name Server IN NS localhost. ; which subdomains map to which address... my.site. IN A 127.0.0.1 *.my.site. IN A 127.0.0.1Add the zone file to the end of the master named configuration file in /etc/named.conf
zone "my.site" IN { type master; file "my.site"; allow-update { none; }; };
All done!
Startup named by issuing as root # /System/Library/StartupItems/BIND/BIND
Now all you have to do to add a new domain name to your configuration is create a new zone file
as for my.site earlier, add the zone to the named configuration file in /etc/named.conf
and issue a rndc reload as root have your new “Domain Name” resolve to your local
machine.
Add as many virtual hosts in Apache as you like and off you go…
Categories : Apple





