So, I got started by downloading and installing Sun VirtualBox, which is a great virtualization solution provided by Sun Microsystems. VirtualBox is both simple to install and simple to get running. In both cases, you just double click the appropriate icon on screen and you’re in business.
Next, I downloaded Ubuntu Linux. I decided to get both the Desktop and Server versions, because I’ve been seriously thinking about moving to a Linux development environment anyway. What better way to check out the software, than to have legitimate installations of it running on my computer without having to completely reformat my machine both times. Again the simplicity of VirtualBox was a breath of fresh when it came to creating virtual hard disks (VHD’s) and installing both versions of Linux. VirtualBox takes you through a simple wizard to specify how big you want the VHD to be, defaulting to 8GB, how much RAM you want to commit to the virtual installation, defaulting to 128MB and where you want to store the VHD. After that, you simply mount the ISO/CD image on the appropriate VHD, using a virtual CD tray, then fire up the appropriate virtual machine. Now, I know the text explanation of this sounds rather confusing, especially with the numerous instances of the word “virtual”, but believe me, it took no more than 5 minutes to get the VHD setup and the installation process for Ubuntu Desktop 9.10 started.
Now, installing Ubuntu was, yet another, breath of fresh air. They ask you a bunch of simple questions to get you set up (Language, host name, keyboard layout, etc.) then it just completes the installation and your done. Unmount the ISO, then restart the virtual machine and you’re now staring at a REAL, live working version of Ubuntu, right in your native OS.
After playing around a little bit, I decided to install the Server version, which would be more appropriate for what I was setting out to do anyway. So, I repeated the steps I went through for the Desktop version and within 15 minutes, I was staring at fresh installation of Ubuntu Server 9.10. So, I logged in and began installing the various packages I wanted, such as Apache, PHP5, MySQL5, Ruby, Rails and SVN. I configured the virtual machine to redirect a small subset of ports to the appropriate ports on the virtual machine (eg. I have it set up to forward port 8888 on my native desktop to port 80 on the hosted environment, which is the default web server port setting!).