These instructions are for sites that run Apache servers, either on Linux or XAMPP. They may work with others, but have not been tested.
Whenever I develop a new site, or need to make extensive changes to an existing site, I like to do the work on a local install and then migrate the site to the live one. This is a description of the process I use. As of this writing, this has been used on WP versions 3.1 through 3.9.1.