Here are the full details of how I moved my blog from the Kiwihosting Unix servers to Windows, skipping all the missteps, so it’s more of a how I would redo it.
I was running 2.2.3 (as that was the latest version I could get working on the older server ) and I have WordPress located in the directory \blog on my domain.
- Download the full old site via FTP to local dir c:\temp\old
- Export WordPress contents (in 2.2.3 Manage > Export) to (wordpress.<date>.xml)
- Check-out the current SVN WordPress trunk to c:\temp\wp-trunk
note: I was having errors with release 2.6.3, so had to try 2.7-beta3
- Export trunk (c:\temp\wp-trunk) to c:\temp\wp27
- Copy c:\temp\oldroot to c:\temp\newroot
- Replace the c:\temp\newroot\blog\ directory with c:\temp\wp27 contents
- Copy the Uploads c:\temp\oldroot\blog\wp-content\uploads\ to c:\temp\newroot\blog\wp-content\uploads\
- Make a copy of the default theme, I did this just to simplify merging changes from SVN with my own changes.
note: Change the header comment in c:\temp\newroot\blog\wp-content\themes\<theme name>\style.css so you can tell the difference between your new theme and the default.
- Created domain in Helm
- Install the Propagation Support (Home > Domain > simeonpilgrim.com > Application Packs) to access site via a temporary URL
- Create DB, via Helm
- Create DB Users account, after step 11 you see the details on the connection string (with dummy values), notice that the box below has an Add User button, use that
- Configure wp-config.php to point to DB
note: my database is on a non-standard port, so for the DB_HOST I added a port suffix so it looks like ‘server.name.com:3306’
- Create FTP User account
- Upload full site (c:\temp\newroot\) to new server
- Install WordPress
note: use the temporary URL as the WordPress address (URL) otherwise you will keep getting redirected to your old (and live) server. If you make this mistake you can log into myPhpAdmin (near bottom of left side bar) to edit the DB directly.
- Import WordPress contents wordpress.<date>.xml via Tools > Import
- Install Plugins
- Fix Category slugs, any special character symbols get dropped when you import your old content, so for me the slugs for C# and C++ both became C, so I had to reassign the posts using those Categories
- Change permalink format and turn on URL rewriting so it works
- Change over DNS nameservers
- If you have the site perfect, change the URL (Settings > General > WordPress address (URL)), otherwise do this after the next step
- Wait a few days for DNS to roll-over
- Remove the Propagation Support from step 10
- Decommission old server and get 6 months free hosting for being so clever