WordPress

WordPress: Disaster Recovery

Hindenburg DisasterThe last few days I’ve been working furiously on getting my good friend Pat Coyle’s blog back up. (My vacation continues to get more interesting – today it’s snowing slightly… in April! Whatever happened to Global Warming?)

I want to share what happened and then discuss the preventative measures that I took as well as how it was corrected.

Here’s what happened:

  1. A DNS server went on the fritz. A DNS server translates incoming traffic to a domain name and redirects it to the appropriate server. With this occurring, it actually severed 2 means of communicating – the domain name to the site and the site to the database (his database is currently in a shared environment).
  2. I complicated things by quickly moving his blog over to another server, not realizing that there was a DNS issue. This adds another level of complexity. Passwords in WordPress (and most other database applications) are uniquely encrypted by the server that they are on. If you move the site to another server, you’ve just disabled your ability to decrypt that password. Thankfully, WordPress (another great feature) has a password recovery system where you can reset your password via a link in an email.

Here’s the immediate action that I took:

  1. Before this ever occurred, I have to say that I’m with a fantastic web hosting company who does comprehensive backups. I’ve never had an issue that they weren’t able to correct through backups. I’ve heard nightmares from other folks on their blogs and sites being totally lost. I can’t imagine what it’s like to go through that. (Subscribe to my RSS feed and you can get a coupon for a free year off with my host).
  2. I was able to login to the Web Server by FTP and retrieve both the site and the database. Another feature of my hosting package is that I can access the entire VDS beyond the actual website itself. MySQL stores the databases in a file directory (/var/lib/mysql/). I was able to download the database simply by copying the directory local. Talk about a great backup! No import, no export, no maximum file sizes to deal with… just FTP.

Now that I had the site and database local, I breathed a sigh of relief. Had I simply stopped here and been patient, the DNS issue would have worked itself out and Pat would have been back up sooner. I verified that the Domain Name was still pointing to the appropriate Name Servers of my host utilizing Whois.net. If you check your domain there, the name servers are at the very bottom of the report.

This led me to believe that the site could have possibly been hacked. The name server was correct but the page coming up was some terrible page that looked like spam. I utilized the Live Headers add-on to Firefox to ensure I actually wasn’t being redirected – the typical hack that many people see. The site wasn’t being redirected. I could have done some additional troubleshooting; however, I entered a support ticket with my host so their experts could begin investigating.

Restoring your site to a different account or host:

I had not updated Pat to the latest version of WordPress 2.1, PHP, and MySQL yet, so I decided there was no better time than the present! I deleted his old account and launched a new account. I re-entered his email alias information and loaded the database, WordPress 2.1 and Pat’s content:

  • wp-content upload directory – this is where all of your uploaded images reside.
  • wp-content plugins directory – all your plugins (do this last though since you may have version issues.
  • wp-content themes directory – your theme.

I hope in a future release of WordPress that these 3 directories are root directories rather than sub-directories. It would make upgrading much easier! By this time, my host had found the DNS issue and properly redirected the site. Whew! Now Pat’s page was coming back up with a WordPress Upgrade message. I clicked through to upgrade the database and he was back up… almost.

Remember the encryption issue I spoke about? Yea, Pat couldn’t login because of it. His password no longer decrypted the value in the database properly so I had one more correction to make. I physically logged into the database and changed Pat’s reply email address in the user table to my email address. I then utilized the “Lost my Password” feature to email myself a link to reset the password. After resetting the password, I logged in and changed Pat’s email address back.

And now Pat is back up! Hindsight is 20/20… had I simply waited on my host, the issue would have been corrected. I really complicated the issue. However, Pat’s now upgraded and running the best versions of everything. I’m sorry he was down so long, though. It doesn’t take long to bounce back from downtime, but it is a nasty inconvenience! Sorry, Pat!

Lessons learned:

  1. Make sure you’re with a host that has great backups.
  2. Backup your site and database and store them in a safe location.
  3. If you’re with a good host, rely on them to find and correct the issue.
  4. If you need to, move to a new host or account and understand how to restore the site, database, and recover your password.

Some additional info

Nowadays demand for fast internet connection has increased manifolds. Surely, in this moving world of internet, satellite phone has proved its worth. When it comes to wireless internet, people are still at stake and ask wireless internet how much valued for them. Especially for webmasters the importance of wireless DSL is no more a question. Mostly these webmasters prefer web design studio for designing and then need this high speed connection to upload it. As a next step this fast connection is also required in the process of search engine marketing. A person having Microsoft certification can easily handle all problems in the networking of these connections.

One comment

  1. 1

    This is my next High Priority Item on my To Do List. Backing up data on DVD-r’s and a hard drive dedicated to back ups for my websites. I have has that happen to me in the past where my data was lost.

Leave a Reply