This last week I setup a DNS server for a project at work. I have done it before but there were a couple nuances to where the zone file should be stored and how to have forwarders set by resolvconf on Hardy (8.04).
First, where to put the zone files. The default install of 8.04 has apparmor installed which restricts where the named process can write to. In the comments of /etc/apparmor.d/usr.sbin/named it notes that /var/lib/bind as the location for dynamically updated zone files. That is simple to do but is not well documented.
Lastly, using resolvconf to set the forwarders option dynamically based on the DNS servers received via DHCP. Getting this set is important as having the DNS server perform the recursive lookups on the root servers can take a long time. Being able to forward saves quite a bit of time in resolving many addresses. The first thing to do is to install resolvconf if not already installed. Once it is installed then the only thing left is to change /etc/bind/named.conf to include /var/run/bind/named.options instead of including /etc/bind/named.conf.options. The options file in /var/run/bind is actually derived from the /etc/bin/named.conf.options. That means that any options you wish to add should be placed in the /etc/bind/named.conf.options file and not in the /var/run/bin/named.options file.
This is pretty basic but documentation is very lacking. I hope in the future that better documentation is made available.