Im a beginner with domains understanding and DNS configs I already install BIND DNS server on my local centos machine and configure a domain whatever.com and set the virtual-host for apache and it works very wellnow my question can i do the same on my dedicated production server and assign any non parked domain without buying it from name registrars  and it will propagated to outside DNS servers ? or what is the idea exactly ?thanks in advance.
create a domain without buying it
dns;dns servers
No, you can't. It will not propagate until is't properly registered (domain purchased, and NS configured).