If I recall correctly, you need 2 systems to get DNS to properly setup. One is the main DNS server and the other is the secondary DNS server. The secondary server basically holds a duplicate copy of the main DNS server's data. It automatically updates itself every once in a while (set in the software).
You can run a HTTP server either of the systems that are running DNS, but I would HIGHLY recommend using the secondary server to run the HTTP services on. DNS can get VERY network and CPU intensive, which would affect your HTTP services.