Chef and Puppet each have a bit of a learning curve, and if you only need to provision a few servers, you might think the effort to learn either isn’t worth it. I’ve found translating manual provisioning steps to Ansible Playbooks to be easy and a great step towards automated provisioning.
On OS X, a few built-in terminal commands can be used to create a bootable flash drive from an ISO disk image (like a that of a Linux distro) instead of installing new software to get the job done.
I’m a fan of doing work in the terminal. These are the dozen or so one-liners that I keep around.
This is a guide roughly outlining how I would manually setup and configure a server after the first boot up. I tend to go with Ubuntu 12.04 LTS since it will be supported longer than the current version (12.10) of Ubuntu.