Yes there is a private server but it works horribly: you can only run around and use skills. Attributes are fixed at 0. Mob AI is gone. Mobs are gone. Item drops are very weird and so on. In fact: Its not really a game that way more like a Benchmark ...
The cause of this as I read it somewhere is that Some parts of the game are ONLY on the server not on the Client: Mob AI and Item Drops etc...
As you have to constantly remain online while playing as there is no offline singleplayer + you also play on a server even if you play solo means that it will be quite hard if not even almost impossible to hack it + make a private server.
Because you would need one of Blizzards guys to leak Server Files. Without them you have no Mobs or anything.
and I think this is quite different from games with Realtime Online-Authentication (because here all info is on client and you can play singleplayer) but different from MMOs as well, because I guess on normal MMOs the dropped items calculation as well as Mob AI is on the client as well.
This is just a theory I read somewhere and I find it quite logical. I am by no way an expert at this so if I should be wrong feel free to correct me.
So my prediction: Server files either get leaked or it will take quite some time till private servers arrive.
But nonetheless here is a hint: Just buy the game. Honestly its totally worth it. Even if there are private servers its too much of a hassle and who knows the server maybe shuts down one day... whereas if you buy it you can be sure that you will at least be able to play i online for the next 10-20 years. And since you only pay once for the game its totally worth it!
Oh and a small sidenote btw: You can sell in-game items to other players via a Real Money Auction House. No one can predict how the market will be but most likely over the course of a year you will probably be able to AT LEAST get the retail price in profit. So you had 100% fun and paid 0 bucks for it (and even get some profit) in comparison to private servers where you had 70% fun, 50% frustration and 0 bucks.