When I first started in web development, I would manually install the required software (Apache, MySQL, and PHP most often) to my local machine. For years I had been setting up a new development environment every time I changed operating systems or bought a new computer. This is always a hassle, and can lead to inconsistencies if some configuration is not the same in a new install.
In 2011, I moved my development environment to a virtual machine using VirtualBox. By setting up the development server in a VM, you can use an operating system and software packages as close as possible to the development server which it will be deployed on. This will help prevent bugs arising from the configuration difference between development and production. It is also nice to be able to shut down the development environment entirely when using my laptop for personal activities.
After working with a development environment in VirtualBox for a number of years, I recently found a software package called Vagrant. With Vagrant, the development environment is defined in code, and can be stored alongside the project code. The provisioning itself is handled by a puppet, which automates the software package installation and setup. It is easy to see at a quick glance what configuration changes you have made, and keeps everything in one spot.
Tags: web development lamp vagrant
So I've decided to start writing a blog. I've read in a number of places now (most recently from Peter Cripps) how writing can help to clarify your thinking and improve your ideas. I want to see how true this is.
The plan is to post a mix of my thoughts in long form and various technical problems, possibly with my solutions. I don't have a lot of time to dedicate to blogging however, so don't expect there to be much here quickly.
I've started a number of drafts, so content should start trickling in. There is a lot to look forward to here.