Production Server Advice With Multisite Network

I am wrestling with an idea that would allow our clients to review their sites before we push updates and make things overall a little more clean.

Here are my thoughts…

I don’t know how viable each of the below ideas are, but I wanted to get some direction to help minimize research time.

1) Setup a clone of our network on our live server. Setup a new account (PLESK) and look into a way to push public files to and from the production environment. I know I will probably need to setup a dedicated IP (wildcard ssl), publish host record info, etc. The benefits are:

• a more accurate model of how the updates will perform in our live environment (Plesk versioning, LINUX, etc)

• the ability to give our clients a window of time to review the updates before the we go live

• Quicker up and down of public files.

2) Setup MAMP/WAMP or something like that with PLESK, download the site with each update (time-consuming), and publish the local environment with a different set of directives.

I don’t like:

• running different OS’s and configs. It just doesn’t feel as clean.

• I also don’t like the ftp locally obviously.

• the extra headache of syncing OS’s, etc.

• the possibility of additional licensing needs of PLESK

3) Local virtualization. Use something like VMWare to setup a local LAMP stack, sandbox the updates, and publish locally with host record directives.

I don’t like:

• the extra headache of syncing OS’s, etc.

• the possibility of additional licensing needs of PLESK

4) What I think may be pretty exciting would be setting up a virtualized copy on our server of our entire config and locking it from SERPS with limited access to clients. I don’t even know where to begin with this, but this sounds kind of interesting…

Options 1 and 4 seem the most clean to me at a glance. I don’t mind manually pushing the DB’s and changing the config. I think it would also be interesting to setup rules to automatically push the updates from production to live configs. Again, not real sure on how this would look.

I figure I would push all the files to the production environment periodically, and push everything but the wp-contents/uploads back to the live site.

I realize each one of these setups has nuances that need to be addressed. I have seen virtualization run so seamless that I can help but to think this is a good way to go, depending on feasibility.

Any thoughts are appreciated.