What steps need to be taken and where would I begin?
In general, if you have to ask where to start, running a pool it probably isn't for you.
However, for completeness, here's some help:
check out:
https://en.bitcoin.it/wiki/PoolserversThe easiest is to set up a p2pool node, google's your friend in setting that up. you can charge whatever fee you want, have miners mine to a specific address and reduce variance by pooling work with others. There is a soft-coded donation to the author of 1%, which you can increase and decrease. Some people make it 0%, but I'd strongly encourage you keeping it something reasonable to pay for the really nice tool someone wrote us.
If you want to run a private pool, the easiest would be to hack p2pool to not connect to any other nodes and use it for its web stats, ability to charge a fee, and ability to have miners anonymously mine to their own addresses.
if you're going to run a pool, you should be comfortable setting up and running your own server or AWS instance, and hacking/coding front ends to the available open source backends. I have limiting choices and saying something is a "must", but running your own pool server on linux is pretty much a must (don't try it windows 7 - it can be done but will most likely take a lot more time and headaches since the bitcoin pool tools were written on and intended for linux environments)