For a situation like this, the best way is probably to have another server where you can sync your data. Buy a VPS and sync your code, databases, and configs. I just checked a provider I use and you can get a VPS with 20GB space, 512MB RAM, 1.5TB transfer, and 2 IPs for $20 a year. Double the specs and it's $40 a year. Peanuts. If you don't like the bargain boys, you could do Amazon Cloud or Slicehost, but I think you're wasting your money.
When you do code changes, use Dreamweaver (or whatever you use) to make changes to your "test" site. Then promote your data to the "production" site. Most web development IDEs have the ability to have a "test" server and a "prod" server. You pick, which is which. If it were me (and I have pretty close to the exact same situation with some clients), I would set the VPS as the production site and use the home server as the backup site.
Initial setup of this is easy. You can dump all of your installed packages from apt-get into a txt file and use that to install the same packages on your VPS. Tarring up the web files, the database dumps, and you can use SCP to copy them right to your other server. (Probably do it all with a short shell script.) You'll probably want to copy over most of your /etc too. Once the initial setup is complete, keeping things in sync is trivial.
This has many advantages.
- First, the power goes out in your home and your server doesn't go down.
- Second, code changes are tested and developed over your LAN so they are fast and you're not waiting to push data across a slow connection (YMMV).
- You have a hardware failure and need a part that takes a week to get - your production site stays up.
- You can SSH in to your testing server from anywhere, make changes, test them and then push them to your prod server with minimal disruptions.
- You can develop on the exact same configuration as the production machine. So you don't have to use XAMPP or some other development environment and worry about dependencies, structure, or all the other development nuances.
- Co-location. If your production machine fails (VPS) for some reason, repoint your DNS to the home server. Keep your DNS TTL at 30 minutes and your down time is minimal.
So, that's my recommendation.
And, yes, I charge people $1000+ a year for a VPS that costs me about $40 a year... I also upsell them co-location services, which is just another VPS from another provider or on my home rack. You gotta stand on the shoulders of giants if you want to make a buck in the web game. Developing code is nice, but residual income is where it's at, brother. Buy low. Sell high.