Search This Blog

Friday, June 05, 2009

The great switcheroo - from Windows to Ubuntu

I've been meaning to do this for ages now, and finally made a successful switch from Windows Vista to Ubuntu Desktop 9.04 on my main server. The two main factors that contributed to the switch was the increasing frustration with Windows Vista (especially Windows Explorer) and the advancements made in Ubuntu over the last few years. So, here's a quick rundown of my experience.

Background

Before I start, a quick description of my server - it's a home-built Intel Quad Core system with 4 GB RAM and 1TB disk space. I host two public websites (http://www.cssathya.com and http://www.scmadbook.com), an FTP server, and a Subversion repository. Other than that, it has the standard set of applications.
I myself am in IT and know my way (I built my system). I have a good knowledge of various flavors of Unix (enough to get my programming and deployment done and logs monitored), however never bothered to use it as a primary system. So, my experience can be considered as that of a tech-savvy beginner to Ubuntu.

Installation
It's not exactly a committed switch because I decided to do a dual-boot, with Ubuntu on a completely different hard disk. To me, this is the least risky option, as you can set the boot order in the BIOS fairly easily and it keeps everything separate.
I setup three partitions, 80GB for root, 40GB for /home and another 8GB for swap space. I tried to create another FAT32 partition for the remaining space, but the partition software that was in the installer had some issues so left it unallocated. After that, the installation went smoothly - in all, around 30 minutes tops. Very impressive.
All my devices worked perfectly - sound, video, etc. - a great improvement from past versions. In fact, one good thing with Ubuntu is the LiveCD option where you can pop in the CD and run Ubuntu right from the CD without making any changes to your system to check if all drivers will work perfectly.
The other great improvement is that the latest version recognizes all the Windows drives right away. No need to run commands to mount. This used to be a deal-breaker for me earlier. You can read and write to your Windows disks without any issues.

Applications

Ubuntu, like any other Linux system, has a software package manager (called Synaptics) and you can get a wide range of software just by a few clicks. In fact, it has so many that it'll probably take me another week to go through and pick the ones I need. But I'll be quick to point out that most obvious software (browser, word processor, etc.) are available right away.
That is, with one exception - an MP3 Player. Yes. Ubuntu does not come with an MP3 Player out of the box, because the MP3 codec is proprietary. However, this is fairly easy to fix. I did a little bit of Googling and found that my favorite player in Windows - VLC - can be obtained using a single line (apt-get install vlc).
I also did some more search and got a few more, such as VNC for remote desktop connection to my server, and Amarok, a supposedly better music player.

Server Software

Next is the most important part for me - migrating the servers. I have three software powering the two sites - TikiWiki, Confluence, and MediaWiki, all run using Apache HTTP Server and Apache Tomcat.
Setting up Apache was a little tricky, mainly because Ubuntu splits the httpd.conf file into multiple files. However, a little bit of Googling and I was able to set it up fairly quickly.
Setting up MySQL was easier. A few clicks on the Synaptic and I was done, including the GUI tools. After I restored the database for Tikiwiki and Mediawiki, both of them ran without any issues.
The one that took the most time was Confluence. This was also mainly not because of Confluence but rather because of Tomcat in Ubuntu. In Ubuntu, Tomcat is set to run under high security by default and was preventing Confluence from doing most of its operations. After some more Googling, I was able to disable the heightened security (TOMCAT6_SECURITY = no in the policy file) and Confluence started up fine.
The other final glitch I faced was with the mod_jk connector that connects the two servers. By default, Ubuntu ignores the httpd.conf file and uses apache2.conf file and the sites-enabled and modules-enabled directories. However, for mod_jk to work, you need to place the directives in the httpd.conf file instead of jk.conf or jk.load files. This will probably sound Greek if you are not familiar with any of these terms, but I wanted to mention it here since this step took me around 2 hours to figure out.
Finally, I was able to get all my servers up and running. The whole process took probably 8 - 10 hours to get everything working.

Final impressions

At this point, I have my servers back up and running and all the basic software I need. The only problem I have right now is that my printer, a Brother MFC printer, does not have a 64-bit Ubuntu driver (although a 32-bit is available). I need to figure out how to get one or at least a generic driver to get my printer to work. This can potentially make me go at least partially to Windows, which I really don't want to do at this point (alternately, I guess I can get a supported printer - maybe after the ink is done!)
Update: After a little more digging, I found out an easy way to force Ubuntu 64-bit to use the 32-bit drivers - and the suggestions were from the Brother website. Tried it out, and it works perfectly. So, no real reason to switch back to Windows now!

So, at the end of the day, I think it's worth checking out Ubuntu, especially version 9.04 if you are curious. It's very stable and is extremely friendly. There are tons of documentation available in the net, which is a great thing. I was able to get over most of my issues fairly quickly thanks mainly to the community support.

PS: For those wondering about the title, you should read Roald Dahl's story of the same name (The Great Switcheroo) - a little adultish in nature, but a very interesting read.

No comments: