Before playing with nameservers, I would advise you to make your tests by mapping name to IPs in your /etc/hosts file.
ie, you insert a line
18.104.22.168 www.kap4me.org www.drnozit.com www.giardiafaq.com
This will ensure you to have the correct name resolution. When you are sure the your apache virtual hosts are setup correctly, then you delete this line and use internet name servers to resolve names.
On the other hand, from what I can see from dig and www requests :
* drnozit does not resolve correctly (err, well, it does not resolve at all...) but the 2 other sites seem OK, provided 22.214.171.124 is indeed your IP of course...
* In a web page, when you want to make a link to another site, you have to use a full URL (not "www.kap4me.org", but "http://www.kap4me.org") or it will be considered as a link relative to the current page.
I don't think you have to install a bind server. I think your problem comes from your virtual host configuration.