The way I did it was to build a simulator on the bench first. I didn't want to spend a lot of time and money or start ripping machines apart unless I could understand it and prove it's reliability. I bought a stepper motor and drive from a company here in the UK called Arc Eurotrade. With the parts came diagrams to show how to wire up the motors, how to build a breakout board and a power supply.
As Hood says, mess around with the software and familiarise yourself with the basic functions before connecting the computer to anything. make up a temporary panel with some switches and terminal blocks on it. learn how to jog the stepper motor, then get a ball screw and nut rigged up on the bench and set up a dial indicator. If you can program or jog the motor to position the ballscrew repeatedly to a known position, you have the basic foundations for cnc control of a machine, the rest will follow.
Planning full automatic control of a machine tool can look quite daunting. The whole project can be quite complex but if you take it one step at a time and ask questions, each individual piece seems less complicated.
My advice would be to break things down into small sections. Understand how the axis motors work, then look at how to control the spindle (if required), learn some basic G code, with just a few simple codes you can get the axis moving around to known positions. Don't get too bogged down with things like automatic tool changers or other more advanced features. These things can follow as you gain more experience.
Whatever you require a cnc machine for, either business or hobby use, visualise what you will be able to do with the finished product and use that to drive you forward and don't get too disheartened when you can't get things to work properly. We've all been there.
The other advantage to using a simulator first is that as you gain more experience, your ideas will probably change and you can try out new things on the bench rather than having ripped apart and modified a machine tool and then wish you had done it differently.