Setting up the ideal Drupal development environment involves a merging of a number of different technological tools, such as a virtual environment, an operating system, a server environment (such as LAMP), an integrated development environment, a variety of development tools and, of course, Drupal itself. Each of these tools present a set of configuration options that may or may not play well together. Complicating the task of setting up the ideal Drupal development environment (TIDDE) is the fact that these different tools are constantly evolving, with a plethora of stable, major, minor, dev and beta revisions that can confound even the most expert of us at times when there is a subtle version mismatch between different tools. For example, you may have experienced the failure of some Drupal modules to work with PHP 5.3. Some modules may only work with PHP 5.2. If you dumb down the PHP version to a lower level you may experience a loss of functionality in an entirely different component of the development environment that will cause you to experience a feeling commonly described as utter frustration. The purpose of this tutorial is to identify various Drupal development environments in which the component tools play well together. Thanks to the numerous recipes for configuration settings set forth here, Drupalistas are afforded the most powerful and productive environments for the development of web sites.
For those who may be interested, the Quickstart project has a goal that is similar to the goals of this tutorial. For further information on the Quickstart project, go to http://drupal.org/project/quickstart.