What you're asking as it stands can't be done. At the very least, you will have to buy a domain name otherwise no one will find you, and that's a recurring cost. Furthermore, even if you run it from your own computer (which is possible), you'll still need to pay an ISP for Internet access. Then you've got the power costs of running a computer 24/7. You could try one of the advertised free hosting providers, but I'll guarantee you'll pay for it somewhere and you certainly wouldn't have any control over who sees it. Nothing is free! Restricting access is pretty much impossible except by using password authentication. And that rather defeats the purpose of a website.
Yes, you can stop complete countries IP address blocks at your firewall, but all anyone has to do, is visit via a proxy based in a different country.
It's not going to happen. You need to rethink the whole concept and do some research on how the www works and understand it. It's not something anyone here can teach you in a few words that is a post. It's hours of reading and more importantly, understanding.