When I upgraded to my new server (Lumpy Gravy) and migrated my own site from my trusty HP DL380 to the new box, I took the opportunity to get better acquainted with one of the cornerstones on the internet, a piece of software you rarely ‘see’ but operates behind the scenes not just of this site but a full 59% of the entire internet – the Apache web server.

Apache2 comes as part of the ‘LAMP’ packages you are given the option to install when loading Ubuntu Server, and by forwarding port 80 to your machine you can start hosting web content quickly and easily.

But what if you wanted to host multiple websites from the same server? This is something I’ve had to do for the first time this week, and it’s all possible with a few simple configuration changes to Apache.

As detailed elsewhere on the site, I’ve recently replaced my server, which has meant migrating my site and it’s associated bits and pieces from old to new. Here’s a handy ‘all-in-one-place’ guide for migrating a WordPress-powered site from one server to another with the minimum of hassle.

[If you have a basic WordPress configuration, this guide will get you up and running quickly and easily. For more complex configurations, you will probably need to do some more research after reading this]

MySQL

Your WordPress site is linked in with and heavily reliant on a MySQL database for its operation, and the first port of call is to copy this database to the new machine. This, of course, means that your new system needs to have MySQL installed – Ubuntu Server gives you the option to install LAMP server packages (Linux/Apache/MySQL/PHP) in its setup process, but they are all freely available online if you haven’t already got them installed.

In order to copy your database, we need to dump it to a file and transfer it to the new machine.

Using mysqldump

For this stage, you need to know your MySQL login details. If you don’t remember them, they’ll be right at the top of your existing ‘wp-config.php’ file in the root of your WordPress installation. (more…)

Finally in the big leagues, baby – a nice slice of ‘pro polish’ added to the site this morning in the form of my finally coughing up twenty quid to have Uncle Meat correctly registered, DNS-wise.

Previously, visiting this domain was a ‘window’ into the contents of the server’s IP, however the IP and the domain are now one and the same. Which means several things:

You can now see the full, correct URL of each post in the address bar

Google’s index will now be replete with the site name, rather than the external IP of the server

The RSS feed no longer displays the IP in the address bar (so update your aggregator!)

The site seems a little more responsive

It’s pretty cool to have all this business sorted now. And I learned all about DNS registration to boot, although the £20 fee was a bit of a crock (considering I’ve already payed for the domain). But I think that’s just about the last thing that was keeping the site in the minor leagues – and now I’m 2 legit 2 quit. Fo sho.

Twitter Updater required all sorts of API keys from bit.ly and Twitter. Seems a bit much for such a simple task, no? ‘Simple’ Twitter Updater I’m sure would be very simple, but it requires you to edit .ini files, update PHP and cURL before it will run. Not so simple.

Twit-update has just been installed, let’s see if it’ll work!

[UPDATE:]

Really very definitely not working. Thought this’d be a simple one – maybe I’ll delve deeper into the world of API keys tomorrow. For now, that’s enough.