Move Over Fedora. Now There's Something Leaner.
No it's not Sizzlean (see below). It's Ubuntu Server. I have been running Fedora on the web server in my basement (which runs this site, BTW) for years and years. The last time I upgraded was when Fedora Core 5 was released and it has run that way ever since.
However, the server has gone way too long without being upgraded. It's not that the server was lacking new functionality Not that it was bogged down with software bugs. It's not even that it was being bombarded by viruses. No, these are all reasons to upgrade proprietary operating systems. The real reason is that the Fedora team stopped releasing updates for Fedora Core 5 in June of 2007. This means that most if not all of the security updates that have come out since that time have not been applied, and security is something (unfortunately) that everyone has to be concerned about whether the software is proprietary or not. So, yesterday I took my web sites off line for a few hours (you noticed didn't you?) and started from scratch with Ubuntu 8.10 Server. This means that for the first time I am running Ubuntu on all the traditional systems in my house. This includes desktops, laptops, MythTV, MAME arcade, etc. Why switch to Ubuntu you ask? I have been running both Ubuntu and Fedora for a while now and over time I have seen fewer problems as well as faster uptake for new applications on Ubuntu. This is largely due to the vast community that Ubuntu enjoys as well as their ethos. As my life gets busier and busier I have less time to deal with odd problems so I need something simple and powerful. The installation of the OS took about 20 minutes and the configuration of the server which included setting up all the services I need and moving the data over took about 3 hours. Here are some initial thoughts on how the install and configuration went.
Installation Process - No Muss, No Fuss
The installation process went through without a hitch. I downloaded the .iso image via bittorrent from the Ubuntu website, burned it to a CD and booted my server up with the CD in the drive. The installation is text based and in appearance looks similar to a fedora or Red Hat text based installation. However, I found the process to be simpler in the amount of information I was required to supply and the types of questions that were asked. One notable exception between the server install and a desktop install was the question of how updates should be handled. The server distro has an additional option of using Canonical's Landscape service which is similar to RedHat's RedHat Network service.
Hardware Detection - I Can See Clearly Now The Rain Is Gone
When the installation was completed I removed the CD as prompted and rebooted the server. The system came up to a standard login prompt (no gui by default) and I was able to log in as the user I created during the installation. Everything was detected without exception and was working as you would expect. Granted this is a server so I don't have a lot of peripherals attached, but still it was nice to see that all my physical drives were there and the video was working, etc. Of course, most of the credit for this probably goes to the Linux kernel team for their consistent improvements and additions of drivers.
LAMP Configuration - Things Have Changed
During installation I chose to include the LAMP stack and so it was no surprise that Apache2, MySQL and PHP were already installed. However, the apache config has changed somewhat from what I was used to. I probably could have just copied my old httpd.conf over the apache2.conf file and most everything would have worked, but I chose instead to update my way of doing things. This meant that I had to separate my various websites into different config files under the /etc/apache2/sites-available directory and then enable those sites with the a2ensite command. This was easier than I thought, but it still took some time to go through everything and make sure all the settings were correct. I also copied all of my website files over. This was also slightly different as my Fedora system had them under /var/www/html and Ubuntu put them under /var/www. Not a big problem. Just something to watch for as I setup my configs for each site. I also had to manually set the ownership for all of the files I pulled over since the uids and gids were different between the two systems. Next I had to bring my MySQL databases over to the new system. I was a little worried about this since I did not take a backup dump of my old databases before I started installing the new OS. However, I found that since I still had the data sitting on the old hard drive I could just pull the database directories that I needed over to the /usr/lib/mysql directory. After installing phpmyadmin I verified that all the databases were available even though the MySQL version was different. I think this worked because I am only using MyISAM tables. If I was using regular ISAM tables I think it would have been more difficult.
Other Services - DHCPNFSLVMSambaAPCUPSD
I also installed and configured the other services I needed. This server also acts as my DHCP server, media server, file server and has a battery backup attached. The installation was very simple thanks to apt-get and for the most part the configurations were done just by copying over my old config files. There were only a few changes due to newer versions of software that I had to be careful of. None of them really worth mentioning.
Performance - Firing On All Cylinders
There is certainly a measurable performance boost with the new OS. Boot time and performance in general seems to be up about 2X. The only hardware change I made was a slightly newer hard drive, but I was never bottlenecked on IO in the past anyway. Both the old drive and the new drive are about 5 years old. Certainly starting from scratch and getting the files de-fragmented helps any operating system seem a little peppier. Another part of reason for the boost again goes back to the Linux kernel team. I went from kernel version 2.6.18-1 to 2.6.27-7 so I am sure there were a lot of performance enhancements between the two.
The installation was quick and easy. Things are where I expect them to be and when I want a service that is not there it's easy to install it via apt-get. Help is easy to find via the web thanks to the Ubuntu community. Most importantly, I am not still pulling my hair out 24 hours later like I have in the past. The Ubuntu team deserves a lot of credit here since they certainly have trimmed out a lot of the fat ... just like Sizzlean ... mmmm ... bacon.