How to setup a deployment strategy for a wordpress website on cPanel?

Jan 15, 2021
7
2
3
USA
cPanel Access Level
Website Owner
I have a PHP hosting from one of the hostings provides. The hosting provider provides a cPanel to control PHP, MySQL, Domain, Files, etc. On this, I am hosting a WordPress website. Now I am wondering how to set up a deployment strategy or a continuous delivery process so that: The website is updated in one step. For example, I'm installing 3 plug-ins and I do this on production from the admin panel if I install them one by one then configure them, users may end up with different versions or functionalities in a matter of one hours or less like it is depicted in this diagram:
Second, when doing maintenance I want to redirect users to a static page which says "Maintenance time" or something else. Meanwhile, still, be able to access the WordPress admin and Front Site from a some secured or private domain.

For the first problem, my solution is to have a mirrored local WordPress installed, when installing plugins or update themes, successfully, I can keep track of what files are installed and what tables and do this on production. But this is still automated and doesn't incorporate a git repository.

For the second problem, I can think of using redirects, on cPanel. First I will redirect maindomain.com to a directory other than /public_html then create a subdomain dev.maindomain.com to point to /public_html when I do the changes from dev.maindomain.com/wp-admin then I change maindomain.com back. But this I guess would imply a security risk,

So, What would be software or a process to solve the two problems mentioned above ?
 

Attachments

Last edited by a moderator:

cPRex

Jurassic Moderator
Staff member
Oct 19, 2014
7,627
1,049
313
cPanel Access Level
Root Administrator
Hey there! I don't think there is going to be a complete solution that will cover all the things you mentioned. However, WordPress Toolkit (WordPress Toolkit | cPanel & WHM Documentation) can cover the cloning and staging that you describe, so it would be worth checking out that tool to see if it would fit some of your needs.