Installing the Ginger Virtual Machine ===================================== Introduction ------------ This note describes how to install the Ginger Virtual Machine from source onto a bare machine. Installing on Ubuntu or Mac OS X -------------------------------- * Pre-requisites: you'll need some basic developer tools git, python, g++, autoconf, uuid, readline, make You can ensure you have these in one step with % sudo apt-get install make git python g++ autoconf uuid-dev libreadline-dev wget libpcap-dev libssl-dev libgmp-dev * We also need the RudeCGI library % mkdir /tmp/rudecgi % cd /tmp/rudecgi % wget http://www.rudeserver.com/cgiparser/download/rudecgi-5.0.0.tar.gz % tar zxf rudecgi-5.0.0.tar.gz % cd rudecgi-5.0.0 % ./configure % make % sudo make install * Create a Spicery folder for ginger and any sister projects. e.g. % SPICERY_HOME=~/Spicery % mkdir $SPICERY_HOME % cd $SPICERY_HOME * Clone from the GitHub repository into a folder. % git clone https://github.com/Spicery/ginger.git * Then build and install % autoconf % ./configure % make % sudo make install Installing from Source Using Vagrant ------------------------------------ If you have Vagrant available, then you can use the source-bootstrap.sh file to build Ginger from source. * Create a Spicery folder for ginger and any sister projects. e.g. % SPICERY_HOME=~/Spicery % mkdir $SPICERY_HOME % cd $SPICERY_HOME * Clone from the GitHub repository into a folder. % git clone https://github.com/Spicery/ginger.git * Create a Vagrant folder for running Ginger. e.g. ginger-[BASEBOX] you will find minimal Vagrantfile's for baseboxes precise32 and precise64 in $SPICERY_HOME/ginger/vagrant. Here's the script for building against the precise32 base box. % cd $SPICERY_HOME/ginger/vagrant % mkdir ginger-precise32 % cp Vagrantfile.precise32 ginger-precise32/Vagrantfile % cp source-bootstrap.sh ginger-precise32 % cd ginger-precise32 % vagrant up Installing from Tarball Using Vagrant ------------------------------------- For a quicker startup, you can use the Ginger tarball and the tarball-bootstrap.sh file. * Create a Spicery folder for ginger and any sister projects. e.g. % SPICERY_HOME=~/Spicery % mkdir $SPICERY_HOME % cd $SPICERY_HOME * Download the latest tarball. Install into the folder you intend to use for the virtual machine e.g. $SPICERY_HOME/ginger/vagrant/ginger-[BASEBOX] In this case we'll build for the precise32 basebox. For other baseboxes just change the name accordingly. % cd ginger/vagrant % mkdir ginger-precise32 % cd ginger-precise32 % wget * Copy in the tarball-bootstrap.sh file and rename to bootstrap.sh. Set up the Vagrantfile appropriate for the base box. % cp ../tarball-bootstrap.sh bootstrap.sh % cp ../Vagrantfile.precise32 Vagrantfile * And vagrant up % vagrant up