Getting Started

Let us first build a playground where it is safe to experiment. We don’t want to clutter our physical machines, so we will work on a virtual machine.

I have chosen VirtualBox because I did not know it and it is free. There are others, like VMware or Parallels, that I have worked with, but the point is to keep your head fresh and learn something new.

We will spare the details of how to install VirtualBox; that is self-explanatory: download the installer and run it, at least on Windows 7 and macOS.

Now we need an operating system. My choice is CentOS 6.2. Why? Because it is free and I don’t like Windows for programming work. That can be a pain, unless you really have to—for example, C# developers. Don’t get me wrong: Visual Studio and Team Foundation Server rock, but cost is a factor as well. So let’s keep things simple and stick to free software. I don’t want to discuss which environment is best. Most of the time it is not your choice; it is your client’s choice. If you interview five developers, they will give you eight preferences for their favorite development environment.

Operating System Installation

After downloading the ISO image (” CentOS-6.2-i386-minimal.iso”) from the CentOS download site, I created a new VM in VirtualBox and installed CentOS 6.2. I left every installation option at its default.

When you are done with the installation and can finally log in as root, the next step is configuring the network. In VirtualBox I chose “NAT”. In CentOS I had to change the configuration file

/etc/sysconfig/network-scripts/ifcfg-eth0

to insert the following lines at the end

BOOTPROTO="dhcp"
ONBOOT="yes"

You can find the CentOS documentation for DHCP configuration here: http://bit.ly/O2rDmH.

Upgrade Your System

Next I upgraded all already installed packages on my system by executing:

yum upgrade

Congratulations! We now have a working CentOS 6.2 system that we will use as our operating system blueprint.