Fedora to Ubuntu Server Experiences
This blog runs on my server box, which also acts as my mail-server, source-control server, MythTV backend and as a general file server. Up until a few days ago it was running Fedora Core 4. I’ve been happy with Fedora Core as a distro. It’s well-supported by third-parties and by its own community and it helped me to learn some more about the Red Hat way of doing things, which is useful as RH is common in my work environment. Unfortunately, I had made a poor choice when first installing and had set it up as a full desktop machine so that I could see how that was in FC. This added complexity, along with the mixing of official and unofficial repositories stipulated by Jarod’s MythTV guide, had resulted in a rather messy installation, but one that worked.
Unfortunately, after installing a new Hauppauge Nova-T 500 dual DVB-T tuner card the whole machine became unstable, and I found it locked up on a couple of occasions. Then, when I started looking into what was wrong, I realised that the distro wasn’t being fully supported anymore. Time for a spring clean.
My first port of call was FC6, and I did actually go through all the motions of downloading and burning the FC6 DVD and installing it. But then I realised that I was about to go through Jarod’s guide again and probably start the same cycle of struggling with odd repository clashes that I’d rather not get involved with. Seeing as I had already backed-up all the files and reformatted, I thought that I may as well give Ubuntu a shot as the server OS, as I knew that it had MythTV packages in one of its repositories from installing it on my laptop. This would hopefully save me from repo hassles and also give the bonus of knowing that my MythTV installs wouldn’t end up out of synch.
The first noticeable difference was the size of the download. Ubuntu Server 6.10 comes on a single CD, which is a bit of a saving on the five CDs or a DVD needed for FC6. The second noticeable difference is that the installer is text-mode, which shouldn’t be a surprise when dealing with a server distro. The install itself went smoothly, allowing me to choose to create a LAMP server installation as a base. This did exactly what it advertised and the server booted up with Apache2, PHP5 and MySQL5 all up and running.
Moving everything across wasn’t too painful, but there were some hiccoughs along the way.
The first job was to reinstate all my databases. If you had asked me five years ago whether I had any need of a database server, I may well have laughed at the idea. Now, I have a fair collection of apps that need a database in one way or another. The main offenders are this very blog and MythTV, making it a good idea to get the databases in place before I set those up. MySQL databases have a rather nice property of being a set of simple files in a directory. This means that people like me, who have no interest in becoming DBAs, don’t have to think too hard about how to handle them. A straight copy and check of the permissions is all that is needed. Well, nearly all, because I was running MySQL 4.x and now I had 5.x. Fortunately, MySQL comes with an upgrade script. Unfortunately, it refused to work properly, failing to upgrade the privileges tables. Eventually, I ended up running the sql in mysqlfixprivilege_tables.sql directly rather than via the upgrade script provided and that did the trick.
When setting up my web-server apps, it was mostly just a straight copy of the files from my backup and a transfer of the relevant configurations. I found that I prefered the Fedora layout for the webserver document base of /var/www/html rather than having it directly on /var/www. It may be a small thing, but I had gotten used to having the extra level of directories to use for web-related files like Django and RoR apps. Some minor tweaking of the Apache configuration solved that, but apt-get still assumed the default, so when I came to upgrade PHPMyAdmin, it got installed to /var/www and I had to move it manually. No big problem, I guess.
The standard mail-server on Ubuntu is Postfix, which is the same as I was using on FC4, but all the guides I found used different setup technique, providing virtual domains via a MySQL configuration database, which meant really learning it all again. I’ll confess that I’ve never really gotten to grips with the labyrinthine world of mail-server configuration and it took me an hour to get the basics up and running. The basics comprise the simple receipt of mail for the manwiththebones.com domain, retrieval of mail from various POP3 boxes for my own mail via Fetchmail and access to all mail accounts via SquirrelMail. After that I had a couple of days of occasional tinkering to iron out problems with routing between the local unix users and the virtual domain and to graceful handling of the mail for the few other domains I own. To be honest, I’m still not entirely satisfied with my mail solution from a personal usability perspective, but I can’t fault the distro for that. All the packages I needed were available and they all installed without any oddities.
Once I was happy that my communications with the outside world were up and running it was MythTV’s turn. This took a while, but this guide pretty much held my hand through the process for most of it, and this one sorted out my card drivers. The only real twist in the road was that I realised that I had no window manager as standard in the server install and MythTV requires one for setup. I knew about ratpoison, and a quick google took me to here and that was enough help for me to get it all installed and configured. MythTV, like mail-servers, can be a bit of a pain to set up, but again, the distro didn’t get in my way and I’d say it was significantly easier than on Fedora Core 4 (and presumably 6 too).
So that was that. I still haven’t gotten around to getting RoR and Django apps going, but I don’t imagine there will be any problems there. I’m now Ubuntu-only as far as Linux goes, and I expect it will be that way for quite a while. I can’t say that I enjoy re-building PCs that are already doing what I want, but the Ubuntu Server distro and surrounding community documentation got me through it pretty painlessly.

