For some time now I have been building each site I do three times — or rather, each new site has three roughly concurrent and loosely synched copies in three different places.
I have a development copy running on a local Apache/PHP/MySQL stack for testing modules and PHP. I have a development copy running on a publicly accessible but password protected web server for the theme layer and client generated content.
And finally… a lovingly optimized, cached, compressed, minified and validated copy that is the actual site.
For the most part this works fairly well. I always have a few copies of the “site” directory kicking around and database dumps are automagically generated daily. It’s safe. It’s simple. It’s a pain in the ass and not exactly intuitive. Without some sort of real version control system, syncing the sites is something of a hit-or-miss affair and isn’t as though I’ve never edited the wrong version of a file.
This one I figure I’ll do once.
You’re looking at it.