I'm hoping there is a light weight, command line utility that I could use to setup a server from scratch.
I like python's fabric or ruby's capistrano but from what I was reading they are more used for deployment purposes and not setting up apache, mysql, update patches etc.
I know there are other tools like puppet, but I don't want to setup a master/slave for servers etc., I was hoping there was a more light-weight tool for this.
You do not need to set up a server/client infrastructure to use puppet, nor do you need to have a running puppetmaster daemon. You can point puppetd directly at a set of manifest files for your server and it'll happily get things configured for you.
You could also look into making a setup using kickstart and pxe boots to do the preliminary setup.
I'm using fabric for provisioning instances from scratch (a stock ubuntu image) on EC2; it works great. There are a few basic functions for appending to and commenting lines in a file that make modifying config files workable.