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.
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!
Interesting post and rad theme as well! Linode is the shit.
BTW, you should use “Options Indexes” in your default vhost to stop directory listings from appearing – search for it on Google ;)
Thanks, Dave :) I’ll get onto that – was gonna ask you bout it on Monday. You should consider auto-approving comments on your blog to get conversation flowing. Akismet will kill spammers.
Great post Marcel!
It’s awesome to hear that you’re getting stuck into the server side of things! I didn’t know about the Linode StackScripts, so thanks for the heads-up – it looks like a really useful resource :-)
Keep the posts coming!
Nick
Thanks, Nick :)
Wow, awesome blog, nice and clear and some useful links! This’s something I definitely want to practice doing as well (when (if ever?) I get the time), so following your progress will be useful!
Shot for the awesome post!
Wom-dawg
Thanks Wom-dawg!