I'm trying to figure out what the ideal set up would for a few servers.
1) Mail server
1) Database server
1) file server
In this given scenario, say there is a site that will offer each user 5gb of file storage space along with an e-mail and a dedicated database.
From my somewhat limited understanding of how servers work I concluded that having 1 server per feature would be the best bet so that if one goes off line the other data isn't affected.
What would be a smart and efficient way to handle this?
This is my understanding
1) The website is hosted from 1 main server that will handle user registrations and serve small files. For this I think a simple server set up is more than enough right?
2) For a mail server, to handle the equal amount of registered users., will primarily handle the e-mails and e-mail attachments
3) The database would not be capped in size and only store each clients contacts and profile settings, so every time the user logs in the settings will be pulled from the database. I plan on loading the settings into $_SESSIONs so that the database won't be queried everytime the page reloads etc. But the Contact informations will be queried from the server on every action.
4) the file server will just serve files nothing to cpu or memory intensive
As far as software goes, I was leaning towards CentOs 5.5 and Plesk 10.2 to handle the website server and MySQL 5 for the database servers, maybe Atmail for the mail server. What is recommended on the software side to be loaded on each of those servers?
I have no experience in this field, but i'm gaining some everyday. I need to be intelligently informed so that i atleast know what i'm dealing with in the event that I hire someone to handle the setups for me.
In your experience guys, what would be an ideal set up with both hardware and software configurations?
Also, take in account an example user base of 5,000 clients. So each with 5gb of webspace, email, and own database.