Time doesn’t stand still, even at EP Studios. Sluggo the original $100 eBay-purchased Pentium III computer was showing signs of age. Nevertheless, sitting in my closet, hooked to an ethernet cable, exposed to wilds of the Internet on ports 80, 22, 26 and 110, it was an adequate web server for my website/blog for 5 years. Sure I worried about using an outdated OS (SuSE 10.1) which was not getting any more security updates. I worried the hard drive would fail after years of continuous use. But, inertia being what it is, I dragged my feet about doing anything about it. After all, it still worked.
It was when I tried to update my WordPress installation to version 3.2 that I decided to do something. The new WordPress required a version of PHP that was not available to SuSE 10.1. Rather than struggle with updating the operating system, I decided to purchase a real server and do it right.
I usually build my own computers, but I had just bought a Lenovo laptop which seemed pretty rugged, so I looked at the servers they sold at their site. I ended up buying a Lenovo ThinkServer TS200v 098119U Tower from Buy.com.
The thing is quiet as a mouse, hopefully not using much power. I installed Ubuntu Server 11.04 on it. For the initial installation I hooked the server up to a keyboard, mouse and monitor. During installation there are options to install various packages. I installed a LAMP (Linux/Apache/MySql/PHP) configuration (which is basically what you need to run a web server) as well as OpenSSH (secure shell) so I could communicate with the server by terminal.
Once the initial installation was done, I plugged the server into an ethernet jack, and opened a terminal window on one of my other computers on the same network. I used ssh to login into the new server (christened TomServo) and all further work I did with the server was via a remote terminal.
I started transferring over my mail server, mail.epstudiossoftware.com. I used Postfix for mail, the same program that Sluggo used. My ISP helpfully blocks port 25 (the usual email port), so I have been using a different port and use a mail redirection service (dnsexit.com) to redirect EP Studios mail to the custom port. To do this involves adding one line to the master.cf file in /etc/postfix. I found that using the exact instructions in the Ubuntu Server Manual the installation went fine. I then used dovecot as the pop3 server, and after a dozen or so test emails and some scrambling on google, I had my mail system transferred over and running.
Moving my blog was a little more challenging. I started by copying the whole directory (/srv/www/htdocs/blog) to TomServo. I also exported the database and copied that file. I decided to do a fresh install of WordPress on the new server. I then imported the database I had exported. Prior to that I had to set up the wordpress user account and password, and make sure they matched the settings in wp-config.php.
After importing the database, all the blog posts and pages were there. My theme settings were absent, my plugins were gone, and my linked images were linked to the images on Sluggo. When I tested the website on the Internet (by port forwarding port 80 to TomServo instead of Sluggo on my router), all those pictures were missing. When you backup your WordPress blog database, you need to realize that certain items, such as your linked pictures and your plugins, are not included in the database. Nevertheless it was relatively easy to copy these files directly from Sluggo (files in the wp-content/uploads and wp-content/plugins directories). I updated my WordPress theme from TwentyTen to TwentyEleven. Some of the plugins (such as VaultPress) I had to reinstall and then deactivate and activate, but at this point the blog is pretty much up and running and intact. Sluggo is offline, ready to be decommissioned (should get a Medal of Honor for Valorous Duty).