To understand running recipes, a good starting point is to understand the concept of bootstrapping. Chef operates on a pull-bases, rather than a push basis, so the node needs to have a client installed that then connects to the server, retrieves the recipes and runs them. Of course you can manually install the client, the configuration file (/etc/chef/client.rb) and the certificates that authenticate the client with the server, or you can do almost all of that with a single command on your workstation, knife bootstrap.
The second part of the puzzle is to install the chef server (you actually have to do that before bootstrapping nodes). You need a dedicated server for that (nothing else should run on it). It can be made to work on a non-dedicated server, but for learning purposes, you want everything to be as simple and as little error-prone as possible, no port conflicts or the like. You simply install the chef server from an RPM and then run the command "chef-server-ctl reconfigure" to set it up.
Next, you have to create users, connect your workstation (so you can upload cookbooks to the server), and then bootstrap the nodes. It's best to look those up in the documentation.
Whom the IT Pros Call
Our values: Privacy, Liberty, Justice