I literally just went through this exercise this weekend - I couldn't find any pre-build VM's, so I instead just followed the guide from the MPOS website. It's actually well written, and I did get MPOS up and running, but it's not the actual pool software, it's management on top of it - and I couldn't get the python_stratum or whatever was listed in their example to work. But since I was looking for pool and not management, I took a look at Coinium - I compiled it on Windows but got some sort of error that I saw other people had, so didn't pursue it any further. I then compiled it on the Ubuntu VM I had made for MPOS, and got it running on there, but once I would connect more than 3 machines to it, it would crash. So from there moved on to p2pool - which was a bit funky to initially get going, but once I had it working (Linux again), it seemed to be relatively stable. Going through this whole exercise gives me new appreciation for people who run pools...
At the end of the day, the easiest way to get one up and running is to install a clean version of Ubuntu server in a VM, perform all the updates, then get p2pool and get it running. Then run the wallet of choice and configure p2pool to use it - then point your miners at your p2pool, and you're good to go. I personally ran my wallet on my Windows machine and the pool on Linux, but you could probably easily run them both on the same machine. Also you may need to use one of the forks of p2pool (I think the one I used was from Cryptovein) in order to support more altcoins. It's also worth pointing out that by default it takes a small fee from any mined coins, but really it's a small price to pay to help keep the development moving forward.
Hope that helps!