Configurar un servidor DNS no es una cosa trivial. Sin embargo, puedes encontrar alguna ayuda accediendo a
http://es.tldp.org y buscando por BIND o named.
Para alojar varios sitios simplemente debes crear virtualhosts en tu configuración de apache. No es necesario que tengas tu mismo un servidor DNS. Si tu empresa de registro de dominios te proporciona DNS, simplemente diles que apunten el dominio a tu ip y configurar correctamente los virtualhosts de apache y todo irá a las mil maravillas.
Un saludo.