Last updated July 21, 2016. Created on July 7, 2007.
Edited by vpanicke, ressa, latikas, japo32. Log in to edit this page.

A local server plays a pivotal role for most developers. It allows development and testing on a local machine without the concerns of losing Internet connection, accidentally creating temporary security holes, or constantly uploading files via FTP. Depending on the option you choose, setup will be more or less difficult, but it is a necessary foundation for your development environment.

There are several approaches you can take for setting up a local server. You could:

  • Manually install Apache, MySQL, PHP, etc and configure them yourself.
  • Install such an environment automatically using an AMP stack, such as XAMPP, WAMP, or MAMP.
  • Install Acquia Dev Desktop (formerly DAMP), which combines an AMP stack with a Drupal distribution. (Note that this gives you a somewhat modified version of Drupal. Note also that some users have reported unresolved installation problems [Drupal forum, Acquia forum].)
  • Install an advanced server product, such as Zend Server. (See recommendation below, but note that the free Community Edition recommended there is no longer available.)
  • Use a virtual machine to set up your server in its own environment, even with a different operating system. See VDD, Vlad, Drupal VM, Quickstart (see warning below), DrupalPro, Drupal-up, or Aegir-up for examples of fully loaded development VMs that can be run on any operating system.

Various methods of implementing such solutions are detailed in subpages so read on...

Looking for support? Visit the forums, or join #drupal-support in IRC.


l_e_cox’s picture

I am developing on my local computer, and manually installed my AMP stack.
There is an important line you have to edit in httpd.conf for Apache and Drupal to work together. It is a normally recommended edit for anyone using PHP, but because I did a manual install I overlooked it.
There is a line in the configuration file whose default value is:

DirectoryIndex index.html

This has to be edited to:

DirectoryIndex index.html index.php

If you are good at following instructions, you probably already did this. But I hadn't and didn't notice because the paths in all my PHP apps point to a file and never assume a file name. Until I fixed this, Drupal would not work for me.

Tom Van Schoor’s picture

Hi Guys,

Don't forget the Zend Server Community Edition. A very easy way to setup your Apache, PHP and MySQL config.


pfeldman’s picture

Please don't direct people to QuickStart! QuickStart is built on an obsolete version of Ubuntu and is no longer maintained.

F.E.M’s picture

Make sure you have the correct Apache modules enabled, particularly mod_rewrite for clean URLs.