You'll need: a) CAD software, such as Visio, AutoCAD, TurboCAD, etc., b) CNC controller software, c) CAM software, d) Driver/Controller board & Power supply for the servo/stepper motors, e) the machine itself, and of course, f) a PC to run the software that controls the CNC machine...
You start by creating a drawing of the part to machine with CAD software, then save it as a DXF file. Then you use the CAM application software to create a JOB file that contains G-Code. The CNC application software uses the G-Code contained in the JOB file to control the machine.
CNC application software sends the commands to the the stepper/servo drive controller board that should be sized for your servo or stepper motors. Driver/controller will need a high current DC power supply as well, typically 24-48VDC: higher if you're running servos. Usually you can acquire the PS and driver/controller as a package. Be sure to size the steppers/servos to your machine. Cheat, see what similar machines use and plagiarize.
For CNC Software, Mach3 is the most popular CNC control sofware - It uses the PC's parallel printer port or USB to drive the servo/stepper driver control board. There are other packages such as Flashcut, TurboCNC, etc. I pretty sure Doug uses Mach3, as do I.
The CAM software I use SheetCAM; Doug uses CAMBam: Either works well. The CAM application software usually imports DXF format drawings and converts the shapes you select and want to cut/mill/drill into G code. G code is a language format that you run in the Mach3 or Flashcut environment to control the steppers/servos of the CNC machine. Also in the CAM application setup you define the cutting tools (diameter, length, type; e.g. mill, drill, etc..), the CNC machine physical parameters (X,Y&Z travel, table size, etc..) and then you build JOB files. You select what the job(s) is/are, e.g. milling, drilling, contour cutting, tool feed and plunge rates, tool cut depth, material size, etc.. You can have more than one machining operation in the job file.
The most tedious part of all this is calibrating the CNC software to the physical machine. The ball screw pitch and stepper/servo resolution are factors in the calibration and if you have any gear/belt reduction, then those ratios also need to be factored. If you buy a packaged CNC calibration usually done for you already.
Cutting Tool feed and plunge rates will also need to be mastered: These are based on material type, tool size & type, number of tool cutting faces, rotational speed, depth of cut, machine and tool loading, etc.
some useful links...
http://www.automationtechnologiesinc.com/http://www.flashcutcnc.com/http://probotix.com/http://www.sheetcam.com/http://www.machsupport.com/--pete