I was planning to write this anyway, but Andy has prompted me to do it whilst the memory is fresh. Probably a good job as it was so easy I never had to write anything down. I’ll attempt to document it in chronological order and bring up any issues I faced as well as resources I referred to. I’ll cover the following topics in a series of posts:
- Hosting and blog install
- Feeds and stats
- Diversion strategy
- Summary / things to do
Choosing a hosting provider
Well this wasn’t too tough. I’d heard a lot of good things about Register1.net and their Technical Director happens to frequent an online forum I visit. The only option was which package to go for. I decided to go for the VDS Pro account because of the bundled in extra features including WordPress, but I’ll come onto why that was probably an unnecessary expense.
I also registered new domains with them at the same time. This simplified and sped up the process dramatically as there were no transfers to deal with. My domains and hosting were provisioned well within an hour of ordering. I decided to bite the bullet and get .com, .net, .org, .co.uk in one go as it is common for the others to get registered by others if the original domain gets so much as noticed. In fact I also grabbed aidyspender.com, co.uk, .net and .org as well, but two of those were already with another provider and need to be moved once they are about to expire.
Access to hosting and facilities.
With my hosting, no shell access via ssh or telnet is allowed for security reasons, leaving a web interface or more usefully ftp as the main options for getting content onto the site. The VDS is hosted on Redhat Enterprise Linux, and is managed through a web interface. It is running Apache 2.0, POP3/IMAP/sendmail/virus/spam, squirrelmail, PHP 4.3.9, Perl, MyPHP 4.1.18, phpMyAdmin, analog and webalizer.
As mentioned, the package comes with a 1-click installation option for wordpress.org. However on inspection it was fairly back-level (184.108.40.206) compared to the current version 2.1. On reading up about the requirements I discovered that my levels of PHP and MySQL were fine for 2.1.
I then read the installation instructions, and decided it didn’t seem to much hassle to install 2.1 myself. I followed the detailed instructions which involve:
- Downloading and extracting the package locally.
- Create the database. The installation documents how to do this through phpMyAdmin. However my host doesn’t give me access to create databases explicitly through phpMyAdmin. It has to be done through their hosting web interface (I guess so they can impose limits) but this was straightforward enough. You don’t need to create any tables, or go near any SQL. You need to make a note of the database name, userid, password and hostname (usually localhost)
- The next step is to edit one file in the wordpress package. wp-config.php has a section which needs to be updated to reflect the database settings.
- Upload the files via ftp. As it is all PHP it just needs uploading to the server like any web page. No shell access is required to install. The only decision to make is where to install it. I chose to put it under the /blog directory instead of in the root of my web space so I could maintain my own index page. However wordpress itself can give you the option to have a static index page which it manages within its own CMS. I’m still happy I went with the subdir though.
- Run the install script, simply by loading it in your browser. It takes less than 30 seconds and asks you for the name of the blog and your email address. After that your blog is up and running!
So now I had a blog with the default theme, and the usual wordpress admin via /wp-admin. One thing that is noticeably missing is the blue header bar you get on wordpress.com with a link to the dashboard. You suddenly realise why the meta section of the template has a Site Admin entry! The admin is missing a few things you are used to on .com, notably widgets, blog stats and a few other things, but I’ll get to all that in another post. At this point the shell of my new blog was up and running.