Automated Hosting for Clients' WordPress Sites

April 8, 2016 2.9k views
WordPress Configuration Management Deployment Scaling Applications Control Panels Server Optimization Networking PHP

I am currently re-structuring the (poor) hosting workflow that my company has been using to host our clients' websites.

Current Setup:

  • 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.

Future Setup:

  • 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.

My Question:

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:
  1. Environment is set up (Server space is allotted)
  2. WordPress and it's prerequisites are installed
  3. 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,


1 Answer

I am curious how this goes for you. I am interested in running my own little hosting company, but I also feel like I could do a better job for my clients then a lot of the options out there.

I would say look into wp-cli for automating the install of WordPress. Create a little script that runs through everything you will need.

Good luck.

Have another answer? Share your knowledge.