I recently started work for a large enterprise, but within a relatively small department where I’m where I’m the only web dev. I work remotely, and while I technically have the support of our IT team and other departments’ developers, I’ve found that communication frequency is relatively sparse (especially since COVID started happening and everyone is backed up).
I’ve also inherited a setup where I have a flock of WordPress websites, some single site installs and some multi-site networks but all the server config and file management for plugins/themes etc. is handled manually. So, I’d like to take this opportunity to learn more about how to be a sysadmin and really improve the efficiency of what I manage.
Here’s what I have:
- Remote access to a single CentOS server with a user with root privileges
- Access to a few dozen WordPress sites running on nginx with manual server configurations for each
- Root access to an AWS account (for which we’re currently primarily using for handling WordPress Media storage, but not every site is taking advantage of this).
What I’d like to set up, but don’t know how:
- A repository containing my common WordPress settings, server config settings, scripts for my common install tasks, and themes/plugins I reuse across my sites.
- When I update any files in this repository (such as plugins or themes), I’d like to be have them be automatically pushed to each WordPress install on my server (or have the option to review it, or have command line options to specify which sites receive the update, etc)
- Right now I have a VVV set up that essentially achieves this for my local development sites, but I don’t know how/if I can set this up to push updates to my WP installs on my production server when I make updates to this.
- Ideally, I’d like to set this up as multiple instances of WordPress as opposed to a multi-site network, because I’d like to keep the database for each WordPress site separate. (However, if this is not the best practice, please let me know)
- Down the line, I’d possibly like to leverage AWS to automatically handle CDN and load balancing for each existing site and new sites I push.
I’ve researched each of the points above, but have found myself going down rabbit holes and running into dead ends as I think some of my lack of experience in server admin stuff is causing me to not know the terms I should be searching for, and running into the issue of “Not knowing what I don’t know I don’t know”.
So, I’m hoping to check with people here to 1. Verify that that the bullets for what I’m trying to achieve above make sense and 2. Determine what common/best practices for achieving them involve.