I am completely new to Linux, but I just love it so far. I am a windows user by history, for the last 10+ years. I have been expirimenting with Linux for the past month or so and have found it to be incredibally wonderful for my serving needs. With this being said, I am trying to figure out the best Linux setup for my needs below. Since I am a windows user, my Linux knowledge is minimal, but any help/suggestions would be wonderful.
1) We will be offering shared hosting to customers. The services we offer will be Web Hosting, MySQL (Offering remote access for GUI editors such as SQLyog.), FTP, Mail, SSH, SSL Certificates, PHP
2) We will need a control panel; I know there are several to choose from such as Plesk, cPanel, DirectAdmin, etc. We have billing software that can provision accounts to most available control panels, so the most full featured, secure, and user friendly one would be our top choice.
3) We would like to have control over things such as number of FTP users each account can setup, Disk Space, Bandwidth usage, number of MySQL DBs, number of domains, sub domains.
Our PHP Configuration:
1) We really want to offer as much as we can with our PHP configuration. We need to have it compiled with as much support as possible, with extra libraries such as pfpro, mhash, mcrypt, sendmail, mysql, gd, libxml2 to name a few. (Basically, we want to be able to offer as much libraries/functionality/capability as possible with PHP without opening our selves to any major security or software/hardware issues.)
2) We would really like each user to have the ability to have their own php.ini file they can use to set up.
3) This would need to be offered in a virtual environment set up on the web server, especially in a way which can isolate each process so when one user screws up their site, they are not affecting anyone else on the box. (If possible).
We would probably hope to host around 50-100 accounts on one box, if that is possible. Things to keep in mind for future are as this boxes resources are used up, we will eventually need to order another server from you guys. Based on that knowledge, we would hope to have a setup that could easily and seamlessly tie in with the first server when the time for the additional server comes. (ie, one log in to go to either control panel, I guess these are called clusters.)
We are hoping based off of that description and outline above, someone can offer a suggestion towards a distribution to use, a control panel suggestion for our needs, and any other suggestions they may have regarding what we are looking for.
Please forgive my lack of knowledge in this realm as Linux is something that is fairly new to me. Thanks so much in advance!