Server Machine Prep
This page describes what is necessary for a target machine, to which you intend to deploy the contents of a server bundle.
Linux
Thus far all effort has been exclusively focused on Linux as the target platform. Not only that, but Debian and Ubuntu specifically. Some day this target may be broadened to include other Linux flavors etc., but there is little interest in that as of this writing.
So, you'll need a Debian or Ubuntu machine. The more recent version the better, generally, although personally I'd stick to the LTS versions if you're going with Ubuntu. The "lighter" the install the better, meaning no need to install anything more than the bare minimum (certainly X.org is overkill). After all the whole point of "server deployment" is to automate installation of the important stuff.
Sudo
The Fabric approach makes heavy use of the sudo command and therefore this must be installed. With Ubuntu this is probably automatic; with Debian it may not be. If it is not installed then this snippet should give you an idea of what you need to do:
su apt-get install sudo adduser lance sudo exit logout
You'll have to enter the 'root' password in response to the su command. Obviously specify your own username in that adduser command. You must log out and then log back in, in order for your shell environment to recognize you as a member of the 'sudo' group.
SSH
Since the actual server "deployment" part happens over SSH, your target machine must run a SSH service. The only such service tested with thus far is OpenSSH, which may be installed with:
sudo apt-get install openssh-server
From your control environment, you must be able to SSH in as yourself@newserver, so test that and tweak until it works.