Automated Hosting for Clients' WordPress Sites
I am currently re-structuring the (poor) hosting workflow that my company has been using to host our clients’ websites.
- WHMCS, WHM, cPanel on Shared Server (insert cringe here)
- Billing through QuickBooks, not WHMCS (for whatever reason)
- Making accounts in WHMCS manually
Clearly, this is not a viable setup. It’s a hassle and billing is even worse. The sites are slow and I can’t change PHP limits or permissions, making many backup and migrations impossible. Below is a general explanation of what I wish to do.
- Small Ubuntu Droplet for (our) company homepage
- Large Ubuntu Droplet for client hosting
In the latter (Large) droplet, the following setup:
- WHMCS (manages Billing, Domains, Hosting Packages, Support System, Maintenance Notifications, etc.)
- WHM (implements WHMCS automation and users)
- cPanel (we believe that on the rare occasion a client desires access to make chances on the backend, cPanel is the best option)
- The Websites - Roughly 10 of them in our current situation.
It’s all a good Idea, but I’ve never worked with a single VPS hosting groups of websites on the same disk. My questions are as follows:
- How do I partition the server to host several WordPress websites while maintaining reliability and isolation from one-another (in other words, being able to make PHP changes, etc without having an adverse effect on other sites)
- How do I set up WHM(CS) to manipulate said partitions
- How can I automate WordPress installation without having to use cPanel or manual setup. Because all of the websites run on the same infrastructure (PHP, SQL, WordPress), I want to find an efficient way to automate the WordPress installation. Ideally, after someone makes their first payment, the following will happen:
- Environment is set up (Server space is allotted)
- WordPress and it’s prerequisites are installed
- I can go to the domain which points to the installation and complete the graphic WP setup.
I do appreciate everyone who shares their input. Much thanks,
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.