Setting up this blog has been a steep learning curve for me. I work at a tech-heavy South African online start-up, but I am basically the non-tech component of the team. To set-up my own blog and learn how to manage a Linux server, I bought myself a Linode Virtual Dedicated Server in London. I got the bottom of the range Linode 360, and I chose London because it has a lower latency from South Africa (where I live) than machines in th US.
The long way round – LAMP
First I deployed a copy of Ubuntu Server 8.04 LTS onto my server, which takes under a minute using the awesome Linode back-end. I chose 8.04 over 9.10 because I take myself way too seriously and therefore went for the latest ‘Long Term Support’ version.
Next I had to learn how the hell all of this server stuff works…
To get started, I found a fantastic article on setting up Ubuntu on a Linode server. I skipped over many of the steps like adding a new user (I just used ‘root’) and restoring an old MySQL database (I don’t have any old backups), but the one real gem that I found here and nowhere else was this command:
apt-get install lamp-server^
Every other tutorial on getting a LAMP stack going requires a ton of steps to get it going, and each component needs to be dealt with one by one. There is probably some comprehensive reasoning behind why this is better, and I would definitely browse those tutorials for a better understanding of how the various components interact, but I will choose the easy way out every time!
WordPress
Next I wanted to get a blog going. Ultimately I would like to learn PHP properly and create my own comprehensive and customisable sites, but, currently, installing a WordPress blog is enough of an achievement.
With a little Googling I managed to find what looked like the easy way out. A way to apt-get WordPress, and have the whole thing set itself up automatically. Wonderful! Or not…
I turns out that this will leave you with an ancient and incompatible version or WordPress. Actually the best method involves simply downloading the latest version of WordPress direct to your server (wget http://wordpress.org/latest.zip) and unzipping it (once you have installed the unzip command using apt-get install). From there WordPress pretty much guides you through the installation process.

Wordpress guides you through set-up really nicely
The only minor issues I ran into after that were learning ‘chmod’ to allow WordPress write-access to its own files, and making sure that the rewrite engine was enabled so that my WordPress URLs would look pretty.
The short-cut
As it turns out, not much of the above was necessary (although I learned TONS!). After re-formatting my Linode several times and going through various versions of the above process, a much more experienced friend and colleague pointed out that one of the best features of Linode is their StackScripts.
I reformatted my server and deployed a new server using Ubuntu 8.04 with the Worpress Stackscript. BOOM! My blog had arrived. Man — that was eeeeeeasy!
Luckily the script wasn’t perfect, so I still needed some of my newly acquired server-set-up skills. But not too many of them… All I had to do was change my ServerName in Apache2′s Sites-Available to blog.link-t0-me.com, move the blog from /wordpress to the site’s root, chmod the directory to give WordPress write-permissions, and enable Apache’s rewrite engine.
Sorted!
UPDATE 05 Jun 2010: I’ve recently moved my blog hosting to WordPress.com, and moved it from blog.link-to-me.com to link-to-me.com. I found that I wasn’t using my Linode server for anything besides this blog, and that meant that I just could justify the monthly fees. Especially when WordPress.com is only costing me $10 per year!