So far I’ve been making changes and tweaks directly to my live site. I’ve added themes and plugins, and the few times I’ve modified code I did so in cPanel’s built in editor. That’s worked fine for minor changes but if I’m going to be changing code and adding plugins that’s a terrible setup.
I’m used to working in an environment where there is a production server and each developer also has their local setup to work in. Sometimes there is a staging/QA server between the two. I don’t really need the staging server but I would like to get a development process setup in a way I’m used to.
What I want:
- A web server that can run PHP and WordPress and has the ability to serve multiple sites so that I can work on multiple projects
- A process to get the files and database off the live server and on to the development machine
- A process to send files back to the live server when there are updates
- An editor or IDE to write code
- A debugger that debugs interactively
- Version control to keep track of changes I make
Limitations and other requirements:
- My local computer is running Windows 2008 Server R2
- The hosting account I have doesn’t have or allow git or subversion for version control.
- I’m likely to keep adding themes and plugins directly to the live site.
- I plan on keeping the auto-update enabled on the live site so WordPress will be changing the live site too.
It isn’t particularly important to me that the process to get files back to server is automated. The changes are likely to be in form of plugins anyway, which just requires uploading its folder. What’s important for me is to be able to download a snapshot of the live site occasionally and to track changes to the code in version control so things don’t get out of hand.
One of the points of this entire endeavor is to learn the WordPress platform, and get exposure to common open source tools. If the setup ends up being overkill that is fine.