Moving from Windows to Linux Hosting

Today, I moved a site from GoDaddy Windows hosting over to GoDaddy Linux hosting in about 30 minutes.

Okay, I have to admin I’m more of a Windows guy.  Don’t hold it against me… I’m just old and can’t help it.  All of my development work in the last 10-15 years has been on Windows, and everything before that was DEC VAX or IBM mainframe work.

So I had a blog site hosted on Windows at GoDaddy, and I’ve been wanting to port it over to their Linux hosting, but didn’t really have a way… or so I used to think.  But when I went to the GoDaddy Pro Summit last month and got a look at ManageWP, I had an idea that this might actually be do-able.

I’ll walk you through the steps.

Prerequisites

I’ll assume you’ve got both hosting accounts set up, and I’ll assume you have your WordPress operating just fine on the GoDaddy Windows host.  If you haven’t already worked with ManageWP, get logged in and play around a little.

Hook your ManageWP up to your Windows hosted site, and set up Backups to run.  One thing you’ll find out pretty quickly is that ManageWP doesn’t really get along too well with Windows-hosted WordPress.  As it turns out, it doesn’t really matter much, because backups work just fine.

Install WP on a Linux Subdomain

As it turns out, I had already installed WordPress on a subdomain of my main domain name: b2.RayHarwood.com.  And my Windows-hosted WordPress was also on a subdomain: blog.RayHarwood.com.  If you don’t already have WordPress installed on a subdomain on Linux, go ahead and do that.  The extra effort you’ll have to make here will save you a lot of work along the way.

Once you have WordPress installed on a subdomain hosted on Linux, connect that up to ManageWP, and go ahead and run a backup.

Make Sure You’re Ready

Okay, so now you should have your “live site” hosting on WordPress running on a GoDaddy Windows hosting plan, and a “dummy site” hosted on WordPress running on a GoDaddy Linux hosting plan, and both sites with completed backups done by ManageWP.

Now, Magic Happens!

Go to the backup panel of your “live site”, and if you don’t want the most recent backup, you can select an earlier one.  Then click the “Clone” button.

Since your “dummy site” already has WordPress installed and you’ve got a successful backup installed, you know that the database has already been set up, and the ManageWP plugin is working fine.  Under Choose Clone Type, click the button for “Existing website in ManageWP”:

Now, select the dummy site from the drop-down list:

The clone process kicks off, and in a matter of a few minutes, the process is complete.  That’s all there is to it!

Well, almost… I did run into a small problem.  When I went to log into my cloned site, after entering username and password (from the live site), WordPress redirected me to the live site’s URL.  It took be a bit to figure this out, but turns out all you need is to add a couple of lines to wp-config pointing to your new cloned site’s URL:

define('WP_HOME', 'http://b2.rayharwood.com'); // no trailing slash
define('WP_SITEURL', 'http://b2.rayharwood.com'); // no trailing slash

Now you can test and make sure you’re hitting the right site and everything works just fine.

Move the Domain

Once you’re sure the cloned site is working properly (I’d give it a day or two of running backups and updating plugins, etc.), you can change the DNS entries for your live site over to where the dummy site now is.  Be sure to change the URL in wp-config to match your “live site” URL.

Clean-Up

There’s a little clean-up to do:

  • Remove the old live site from ManageWP.
  • Remove the old live site’s MySQL database from your Windows hosting plan.
  • Optionally, remove the old WP directory from your Windows hosting plan directory.

I’m moving some more active sites over to GoDaddy’s WordPress hosting, but I’ll leave some of my lesser-used sites on the cheaper Linux hosting.  And I’ll keep my Windows hosting there for the occasional Visual Studio application testing.

Good luck!

Leave a Reply

Your email address will not be published. Required fields are marked *