Check out Miningcore as well. It works on Windows and is decent enough for small/private usage. I haven't found any blocks with my measly hashpower, so can't offer any insight there, but it seems to be doing the job. I occasionally rent from MRR and it handles the increase in transactions well enough.
I do have problems with certain miners being unable to connect to Miningcore. My clients all work locally, but sometimes can't get stable connections from MiningRigRentals unless I switch over to NOMP/UNOMP. I have a few boxes setup with daemons and stratum servers, so I usually just swap ports on my router and continue along.
Problem I have is that I would like a variety of coins in one server, and none of them seem to support all algorithms. I think many of the multipool setups have been tweaked/coded to allow more flexibility. It's been some time since I coded in any CS or JS, so that's not even an option for me any more.
I must say though that I setup an Ubuntu workstation solely for the purpose of creating a mining pool, and do enjoy working in the file system once again (I still remember the good ol' DOS days). A lot of stuff is written to work in Linux and ported to Windows, so it might be easier and more compatible in the end. You could probably even setup a VM with Ubuntu if you have enough RAM and the processor is good enough.
Regardless, check out Miningcore:
https://github.com/coinfoundry/miningcore