WordPress to WAMP Tutorial - File Transfer
I am surprised by the lack of useful information on moving WordPress to WAMP. WordPress blogs are prolific, and you’d assume that some bloggers want to keep a local backup. Or, more likely, there are lots of theme developers and some of them must use WAMP as their local server. The information on starting from a hosted WordPress installation and replicating it locally is really sparse, with bits of help in comments on forums and the occasional blog post. Conversely, there is a wealth of information on installing WordPress locally, and then porting it to a live site. Also, a lot of the information I did find was wrong, out-of-date, or didn’t cover up to the first error I hit.
Given my background as a software developer (and more recently, database developer), I know as well as anyone that making changes in a production environment is never a good idea. Also, I appreciate this magical thing called ‘source control’ and have seen its benefits countless times.
When I wrote my first post, I didn’t think about anything other than getting a piece of content online. Now, with more content and wanting to make tweaks, it feels like time to pull this website down locally and work on it in a more controlled environment.
So, to help out my poor memory, and my fellow Googlers, here is a mini tutorial (with pictures) on how to move a live WordPress installation to a local server.
What you’ll need to go from WordPress to WAMP
- AMP Solution Stack: I’ll be using WAMP (as this post’s title indicates), but you could also try any set of tools that will let you host websites locally: XAMPP, LAMP, MAMP, etc… People seem to have had more success with XAMPP, but I have zero familiarity with it.
- FTP Client: I use Expression Web (part of Expression Studio) for most web development, as it has some nifty features. It also happens to have a built-in FTP client (with synchronization features), so I will use that. Any FTP client will do though. Some I’ve used in the past are: FileZilla, WinSCP, and Windows 7 built-in ftp.exe
- PHP Editor: As I said, I use Expression Web for all my web development. But, something as simple as Notepad will work for this part (although, I recommend Notepad++, with its built-in syntax highlighting).
- Usernames and passwords: This might seem obvious, but I didn’t know all my WordPress, FTP, and phpMyAdmin usernames and passwords off the top of my head - have them handy.
I’m going to start by assuming you’ve already installed WAMP (there is lots of information about this online and it’s pretty straightforward anyways). In my case, I installed it to c: and will use that for the rest of this tutorial.
FTPing your website
I will start this tutorial with the process of pulling down all the files associated with WordPress on your website. You could probably get away with only pulling down a subset of the files (like your theme), but we may as well keep a fully replicated copy of the website locally.
Here is the process in Expression Web. The general process is similar in other FTP clients.
- Select Site > Import > Import Site Wizard
- Choose your connection protocol (if you don’t know, try FTP) and select your connection location. For me, this was ftp://sureshjoshi.com (you can find this information from your web hosting provider’s control panel or wiki - my provider is Dreamhost). After pressing ‘Next’, you will need to fill in your FTP username and password.
- Select the location where you want to copy your website to. I chose c:.com - I named it sureshjoshi.com for obvious reasons. I put it into the www directory because that’s where WAMP looks for websites it will host.
- In the Site View, your website’s directory structure will appear on the right and the local directory structure will appear on the left. Since there is nothing in the local version, it will be blank.
- In this Site View, select all the files on the right (Ctrl+A, or just selecting everything manually) and click the “Get files from the destination site” left-arrow button in the middle of the screen.
- Your website’s files are itemized and then transferred to your computer. Depending on how many child themes you have and your connection speed, this process can take 15-30 minutes. Just sit back and let it finish.
- Once it has finished downloading, start-up your WAMP server and try to load your website. For me, I open up Chrome and go to http://localhost:8080/sureshjoshi.com (I think most people might just need to go to http://localhost/sureshjoshi.com) and I see… An error… Specifically “Error establishing a database connection”. This makes sense because we downloaded all of our website’s files, but we didn’t download the database backing the front-end.
In my next post, I’ll talk about the somewhat trickier (or, at least, more error prone) part of moving WordPress to WAMP - which is porting over and setting up the database.