Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need to set up a development environment for a small distributed team of under 5 programmers to build a site using Drupal. Development is done by each programmer on his/her own machine. Ideally, we would have all servers in the same farm as the production server, but we wanted to limit our costs. The proposed set-up is listed below. I'm a newbie trying to figure this out so any clarifications/comments would be appreciated.

Answers Wanted

Can you comment on: (1) alternatives to each step; (2) additions for things we missed; (3) ways to set up the various servers to minimize hosting costs especially at the pre-revenue stage; (4) additional tools to help automate as many of the processes as possible; and (5) security issues we should consider in providing access to the distributed team?

Proposed Setup

  1. Source Code Repository -- Use or (either Trac/Git or Redmine/Git). This will house the source code, wiki, bug tracking and project management. Prices are about $6/month for unlimited users.

  2. Testing Servers -- We are thinking of using a cheap VPS for this (about $10/month). We are also considering Amazon EC2 to allow developers to test against the most current version simultaneously.

  3. Staging Server -- We will either use a cheap VPS or go with two nodes on (one for staging and one for production).

  4. Production Server -- We are looking at for this.

  5. Backup/Media Files Storage -- We want to set up backup to an Amazon S3 account, as well as configure S3 to hold images that users will upload onto the site. This will help reduce bandwidth and storage costs on the production server. We may also use the automated backup services by on the production site.

The testing, staging and production servers will have the same software installed, including Drupal Mercury (with drush, code and simpletest modules), Hudson for CI, Selenium for functional testing and jMeter to benchmark performance.

share|improve this question
Possible duplicate of Can you help me with my capacity planning? – Iain Jan 19 at 8:11

Having multiple testing and staging servers is overkill unless you expect the application to destroy the system in the process of running. Just have a single server for both testing and staging, with multiple virtual hosts with separate document roots.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.