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 am a beginner to server administration and network design. Following is the requirement:

I have three dedicated servers. These three servers need to accomplish following:

  • There is a master DB
  • There is a slave DB
  • There is a production web server
  • There is a way to include development ladder: Development=>Testing=>Production
  • Version control is through SVN (git can be used)

I will use RHEL with apache, mysql, php.

Given three dedicated servers how do I implement this?


Should I have more servers. What are the pre-requisites I should cover before making a decision.

share|improve this question
Read this: </shameless plug> – Tom O'Connor Mar 23 '11 at 19:28
How can I fulfill the requirement? – Ashwini Dhekane Mar 23 '11 at 19:32

You sound like you are out of your depth - THis is a very broad question with an answer that is heavily dependent on your environment.
If you love your company & data, please seek professional assistance beyond ServerFault before moving forward.

If you elect not to heed my warning above, here are some VERY basic pointers (not a complete solution -- giving you a complete solution is like asking for a kilo of pure sysadmin knowledge to be crammed into your head). Bear in mind that load and usage will dictate what you can get away with based on what I have outlined below:

The architecture you describe can't really be accomplished on three physical boxes unless you're virtualizing some of them -- there's no way to properly separate Dev/Stage/Production environments. You have two basic options:

  • Virtualize all 3 machines (One is the dev stack, one is the stage/test stack, one is the production stack
  • Virtaulize a two machines (DB is dedicated, One box is Production (Slave DB, Web) & one box is a virtualized dev stack.

Your version control server should ideally be separate from everything else (and backed up obsessively). It can be a VM if you go the virtual route.
You may want to include a plan for a machine to do backups (running bacula) or a plan to rsync off-site.

For now you may want to start with a flat network topology (everything on one network/VLAN). Eventually you will probably need something more complex (e.g. putting the DB servers & version control into separate, access-restricted subnets). This will require some firewall magic.

share|improve this answer
thanks for the reply. I will try to fiqure it out from here on. I am <15 so i can't upvote u :( – Ashwini Dhekane Mar 23 '11 at 19:37

Your "development ladder" should be nowhere near the production web, master nor slave. And SVN should be far, far away as well -- it is to some extent disaster recovery, especially if you are using it for deployments.

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.