utah entrepreneur

Seamless Wordpress Migration From Dreamhost to WiredTree – How To

1 Star2 Stars3 Stars4 Stars5 Stars (5 votes, average: 5.00 out of 5)
Loading ... Loading ...

by admin on May 28, 2009

wiredtree

Migrating Wordpress blogs from server to server used to be enough to make me get a sick feeling in my stomach. I absolutely hated it. I had done it, but the process seemed sketchy at worst and lucky at best. But between my sucky webhosting lately, and my bad luck at choosing a good web host, I have transferred my blog all sorts of different places within the last month or so.

Now that I’ve done it a few billion times, I’m quite confident.

Here is my attempt at making a fool-proof guide to show you how to migrate your existing Wordpress blog from Dreamhost to WiredTree. The same process will work if you’re migrating your blog between any two other registrars, I will just provide specific examples from Dreamhost, and WiredTree.

Web Ninja Skill requirement: Intermediate

What you need to know:

You will need to know how to install Wordpress plugins, how to transfer files to and from your server using an FTP program such as FileZilla. You will need to know how to make minor, simple code edits. You will also need to know how to create a MYSQL database at your new web host. I explain how to do most of this, but the more confident you feel coming into this, the better. Entire process, between downloading/uploading files can take a few hours, so be prepared.

Throughout these instructions I will refer to your current blog host as Blog A (Dreamhost), and your future blogs home as Blog B (WiredTree).

Step 1. Backing up your database.

Before you do anything, download and install the Wordpress database backup plugin on Blog A. Once you have installed the plugin, make sure you activate it through your Wordpress admin panel. Next, click ‘backup’ under the ‘tools’ column (on your left sidebar within your Wordpress admin panel).

Here you will see a row that is titled ‘tables’. I usually tick every single box, although if you’re more advanced, you should know what you want backed up, and what you don’t want backed up.

Now scroll down to the ‘backup options’ row and select ‘download to computer’, then click ‘backup now’. Depending on how fast your host is, and how big your database is, this process could take anywhere from 1 minute to a half hour.

Once this file has been downloaded, find it on your computer and move it to your desktop. The file will be called something like ‘wordpressbackup.sql.gz’. If you’re not sure what’s up, this file contains  all of your post information and content – essentially, this file contains all of your custom content – the stuff you don’t want to lose. You are going to need to get this file from ‘wordpressbackup.sql.gz’ to just ‘wordpressbackup.sql’. To do this you will need some sort of extractor. I use 7-zip. Once you have 7-zip installed on your computer, all you have to do is right+click on the wordpressbackup.sql.gz, navigate to 7-zip, then ‘extract to………’. This should create a new folder on your desktop containing the extracted wordpressbackup.sql file. Remember where this is.

Step 2. Backing up your wordpress files.

Access site A with your favorite FTP program (mine happens to be FileZilla). Create a folder on your desktop called MYBLOGBACKUP. Now, download all of your remote blog files into this folder on your desktop. You should be downloading everything on site A’s remote server. This will include folders like wp-content, wp-admin, wp-includes, and the wp-config.php file, to name a few.

At this point you should have two things on your desktop:
1. Your wordpressbackup.sql file.
2. Your raw Wordpress data files. i.e. the wp-config, wp-admin, wp-includes folders and all of the other files from Site A and they should be in a folder called ‘MYBLOGBACKUP’ for your reference.

Step 3. Creating a WiredTree account, setting up a DNS Zone in Grove, and setting up a user within the WHM.

Create an account at WiredTree.

Log in to your Grove admin and click the Network / DNS tab at the top. Click ‘Add a DNS Zone’. You will need to know your server’s IP address. The IP should be in the welcome email that WiredTree sent you when your account was created. Fill in the IP Address field, then fill in the Domain Name field with whichever domain name you want hosted on WiredTree.

Note: Your site will not work until you have done the above step. I had done everything below, but this and my site wouldn’t work. Make sure you Add A DNS Zone!

Log in to your WHM (web hosting management panel). I have the WHM VPS optimized 2 panel, so if you have something different you may get thrown off here, but the process will still be the same. On the left side of the WHM you will see ‘Account Information’, then under that you will see ‘List Accounts’. Click on ‘List Accounts’. If you already have an account created there with the domain name you are trying to set up, then that’s dandy. If not, you will need to create one by finding the ‘Create a New Account’ link under the ‘Account Functions’ title.

Note: When you created the account, that same information used to create the account is the same information you will use to FTP to your new server, Site B.

Once you have created the account, ‘List Accounts’ again and click on the CPanel logo next to your domain name to launch the admin panel for your particular domain name. Here is where we will create a database on Site B and import your Site A database.

Step 4. Create a database and import database from Site A.

You should be in the Cpanel admin for your domain at this point. Find the MYSQL databases link, and click on it. Create a database using any name you choose. Once you have named it, click ‘create database’. Now that the database has been created, you will add a new user (the next row down).

Note: Make sure you are keeping track of the database name, username, and password. You will need this information in a minute.

After you create the user, you will need to link this user to the database you just created and give him ‘ALL’ permissions. You can do this by looking in the next row down. You will see ‘Add User To Database’. The dropdown fields should already be pre-populated with the database name, and user you just created so you should just be able to click the ‘Add’ button. Congrats! Now you have created a database, added a user, and linked that user to the database with ‘All’ (full) permissions. Now we need to import your old database.

Depending on which version of Cpanel you are using, you will either go back home, and click ‘phpmyadmin’ or you will stay in the MYSQL page that you are in and you will see a ‘PHPmyadmin’ link near the bottom. No matter what, you are trying to get into the phpmyadmin for the database you just created. Not too hard.

Once you get inside of the phpmyadmin, you should see a link that says ‘Import’. This is what we’re after. Click that, then ‘Choose File’. Remember when I told you to remember where that wordpressbackup.sql file was? Well, this is the part you need it. After you click ‘Choose File’, navigate to wherever your .sql backup file is select it. Now click ‘Go’ and let ‘er rip! This process could take anywhere from 1 minute to….well, you get the idea. When it’s done, it’s done and you should get some sort of confirmation page. Nice! Good job!

Step 5. Upload files to Site B’s server, and modify the wp-config.php file.

Connect to your new hosting account using FileZilla or some FTP client, and upload all of the files from the MYBLOGBACKUP folder that you download all of the raw wordpress files into from Site A.

Now that all of the old blog files and folders have been uploaded to your new (Site B) hosting account, you now need to point the wp-config.php file to the new database you just created.

Download (or just open the wp-config.php file that you have locally) and edit the database settings. i.e. fill in the database name, username, and password with the values that you specified when creating the database on Site B earlier in the post. The DB_Host for WireTree is ‘localhost’ but if you’re using a different host, you will have to contact them. Most of the time it’s just localhost though.

Note: If there is a line of php in your wp-config.php file that looks like this:

define(‘WP_CACHE’, true); //Added by WP-Cache Manager

I would suggest commenting it out by putting a # mark in front of it. So now it should look like this:

# define(‘WP_CACHE’, true); //Added by WP-Cache Manager

If you don’t do this, I can almost guarantee that you will get the Wordpress white screen of death. It happened to me multiple times until I found out what was causing it.

Now save the wp-config.php file once the edits have been made, and upload it to Site B’s server, overwriting the old wp-config.php file.

Step 6. Pointing the DNS to WiredTree.

Assuming that you bought your domain name through Dreamhost, you will probably want to just keep the domain there, and point it to your new host – WiredTree. You can do this by logging into your Dreamhost admin panel, clicking ‘Manage Domains’ under the ‘Domains’ column. Now find your domain name, and click on DNS. Delete out the Dreamhost nameservers (i.e. ns1.dreamhost.com, ns2.dreamhost.com) and fill the values in with ns1.wiredtree.com, and ns2.wiredtree.com. Set the nameservers and you should be about ready to roll.

Note: When you set your DNS to point to WiredTree, the process may take up to a day. So be patient.

Another Note: If you know that your DNS has propagated, and you’re getting the Wordpress white screen of death, try getting the .htaccess file from Site A (your old server) and uploading it to your Site B (new server). This cured my white screen of death one time.

Update: If your home page of the blog loads, but every link you click on displays this error:

Not Found

The requested URL /whatever/whatever/whatever/ was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.


Apache/2.2.8 (Unix) mod_ssl/2.2.8 OpenSSL/0.9.8b DAV/2 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Server at blablabla.com Port 80

Then you have to get your old .htaccess file (as I stated above) from Site A, and upload it to your new server. Do this, and voila! Your errors will go away!

I hope I didn’t miss something. This was a pretty freaking long guide. Good luck, and I hope it helps someone. If you have any questions, let me know.

{ 3 trackbacks }

Reconnect Google Apps (mail) After Moving To WiredTree.
June 10, 2009 at 12:16 pm
A Magento WebHosting Company Worth My Time To Write About.
July 21, 2009 at 10:27 pm
What a nightmare – my site was DOWN! | tripwire magazine
August 2, 2009 at 4:26 pm

{ 0 comments… add one now }

Leave a Comment

Previous post:

Next post: