Saving development time through virtual appliances
Photo (c) 2008 JakesDad – Creative Commons Attribution Licence 2.0

I’m beginning to be a big fan of virtual images for development work, because they save me from having to have the setup above. I already bring two laptops – don’t need more!

By downloading and customizing an image of a system that is already configured for typical development tasks, I can save myself a lot of administrative time – and keep development work more cleanly separated from the other files on my computer.

Both VMWare and Virtualbox have many virtual appliances available, and you can start using them with the appropriate player. Both VMWare and Virtualbox are free for personal, non-commercial use. I’ve taken advantage of a VMWare licensing program at work, installing VMWare Workstation so that I could take snapshots of my development environment if necessary.

I picked the Turnkey Drupal 6 distribution, a 175MB download. Installing Apache, MySQL, and PHP on Ubuntu is easy, but it was good to be able to take advantage of Turnkey’s support for https and other niceties. I may still have to install everything onto the production server manually, but at least we can do the setup easily. I changed the passwords from the defaults, of course.

I didn’t think it would be this easy. I had avoided virtualization for a while because it had felt slow and clunky the last time I tried it years ago. With 3GB of memory, this tablet PC can run both Windows 7 and the development server images just fine. Running Linux inside Microsoft Windows (instead of the other way around) might have helped, too. Setting up networking was a breeze, too. I chose bridged networking, which made the virtual machine seem like a new computer on the network.

The only quibble I’d like to fix is definitely a nerdy one – I’m back to QWERTY in the virtual machine, because it ignores the Dvorak keyboard mapping I’ve chosen on the host operating system. It’s an easy matter to change this on Linux (“loadkeys dvorak” at the command-line), but an even easier (and more responsive) way to work with this is to use ssh to connect to the virtual image.

Full speed ahead!

  • Roger Lysberg


    Have you tried vmware ESXi? ESXi is an bare metal hypervisor where its install on a dedicated machine and can create virtual machines like VirtualBox or vmware Player.
    The cool thing is that first of all, ESXi is free and I don´t need to run such things on my workstation. I have been using VirtualBox for å long time but everything felt slow when running it (even just running a minimum installation of Linux with LAMP). An other good thing is that I can for each vm configure a vnc port. This will allows me to connect to vnc trough the ESXi server (you will then connect to the console, can even see the vm booting), and it works great for both Linux and Windows.
    And of course it also has all the normal functions like you would expect from vmware.
    Only problem is that the tools for it requires Windows (but I have found ways of doing most functions I need trough ssh).

  • That sounds interesting! If I happen to have a spare machine we can devote to this and I find myself working with plenty of virtual machines, I’ll be sure to look into that. Thanks for sharing!

  • I actually do all my development in Ubuntu running in VMWare Fusion on Mac OS X.

    I’m planning to recommend to readers of Definitive Guide to Drupal 7 who do not already have a development environment set up. I’d be very interested in people’s experiences and thoughts on the best virtual machine for getting started with Drupal 7. if you don’t want to comment here!

  • Looks interesting. =) Note that Virtualbox is free for personal / evaluation / academic use, but the binaries have a note about licensing them for commercial use. Personal use requires only one client connect to the host computer at a time – not sure if it also requires noncommercial use. VMWare Player is free for personal, non-commercial use, too. (Legal opinions, anyone?)

    Glad you’re working on that book!

  • The best part about running a virtual development environment is that you can use Drush with so much ease compared to Windows.

  • Totally!

    You can use Drush on Windows too, but it’s more of a pain to set up. =)

  • As today we want secure access to any application and systems from anywhere. Virtual applications have saved plenty of time.