Making a Local Copy
Making a Local Copy of Your Web Site
If your Web site is hosted on a remote server, it is common practice to have a parallel copy of the site on a local computer for development and testing.
This is not difficult, but requires certain preparation before the copy can be installed. Faster access than dial-up will be well worth the cost if available.
First, you will need server software and accessories (Apache or other server, MySQL, PHP etc.) These can be installed individually, but if you have the skill to do that you probably don't need this guide. Numerous open source packages are available. [My experience is with XAMPP; anyone with knowledge of other systems should add that information, or discuss relative merits of systems in a sidebar.] To make local work most relevant to the remote site, it makes sense to choose software as similar as practical. You will probably also need a utility to extract zip or gzip files, again readily available in open source.
Install the server package per the supplier's instructions (it will probably be quite simple.) It is good to locate it near the root (C:\ or C:\Program Files). If you mess up at any point you can uninstall or delete everything and start over. You will then want to create a database using phpMyadmin, probably accessible through the server admin. Don't worry about where it goes; MySQL takes care of that. Don't move the db or it will be lost. You will later import the downloaded db information from a .sql file or similar.
You will install the site files in a subdirectory you create in (probably) \< server >\htdocs\ or the like (sometimes referred to as C:\internet\). Phpinfo(?) will give Document Root, which is the part of the file path that will be replaced by http://localhost/ when typing your local site address in the browser.
Copying Files and Database from the Remote Server
If your remote site uses cpanel for access, there is a Backup page where you can download a backup of your entire server space in a gzip file with one click; however, you have no control of what is included. To download your database, phpMyadmin is accessible through a tiny link at the bottom of the MySQL page. It is very flexible, though the default settings will force the copy when imported to create another db named the same as the original. (It is possible to get around this if desired, e.g. making two copies locally, by editing the .sql file to remove the CREATE statement and change the ?SET and USE statements to your desired copy name.) [Someone please describe what settings will be good for various circumstances.][Also relevant info for other common interfaces.]
You will want to download an FTP client to transfer files. You can select exactly which parts of your webspace to copy. Be aware of the progress of selecting - depending on program, connections and settings it is possible to time-out in the middle of a long selection process, and picking up where you left off risks missing or misaligning some files.