Rather than reinstall Windows XP on an older computer my brother gave me, I decided to install an up-to-date Linux distro and use it as a server...sort of. I decided on Kubuntu. I started using KDE back in the day in the 3.x days...either 3.1 or 3.2, though back then I ran it on FreeBSD. I liked that it was a nice graphical environment for an otherwise entirely command-line based operating system. For practical reasons, I couldn't use non-Windows operating systems for anything other than servers, but whenever I try them again, I usually gravitate to KDE. A lot of what I'm about to say probably applies to Linux in general. So on to the experience:
Installing was fast and easy, though the manual partitioner is a little strange to use. I guess it's much simpler to tell it "use the entire hard drive". Once it was installed, it was a good thing I made the password simple because you have to type it in over and over again. The first hurdle to get over was getting wireless set up on this notebook. It's a Broadcom BC4311 and there is software to get that particular card working, but Broadcom cards are notoriously difficult to get working. Kubuntu comes with what's called the "STA driver". This didn't work at all for me, so I had to remove it and put in the b43 driver instead. We've already entered the "not easy enough for your grandma" territory. I spent a lot of time searching for one somewhat simple solution to get the wireless working, and I found it on a forum, but I didn't save the link. The rest of this entry involves stuff that doesn't have to be easy enough for grandma because grandmas don't run servers...well, there might be a few out there.
The second hurdle I needed to get over was setting up a shared folder that my Windows machine could access over the network. This is possible with Samba. Samba comes with Kubuntu, or at least parts of it do. I figured I would install something to allow me to mess with those settings because I was pretty sure something like that existed. Sure enough, there was a program in the Software Center, which I installed. When I ran it, nothing happened. Then I noticed there was one of those "you have to restart" icons in the notification area (or whatever they call it on KDE). After restarting, it still didn't start. After giving it one more try, I got a gksudo error. I figured that gksudo must not be installed because this is KDE, so I installed it. This time, I got a password screen, but no matter what I did, it said my password was incorrect. As it turns out, all I had to do was run "gksu-properties" and change the authentication to "sudo".(Credit goes to the second guy posting in this thread.) I was then able to create a Samba user and set up a new share. It's a Gnome-based thing, so it doesn't match the KDE stuff, but who cares if it gets the job done? I had a few smaller roadblocks caused by permissions, but I eventually ironed those out.
The third hurdle I needed to get over was figuring out how to do what the Linux equivalents of
ipconfig /release and ipconfig /renew are. My guess was that I'd use ifconfig, but it turns out that doesn't work. I tried wrestling with various commands like dhclient, but all I did was cause the computer to be unable to shutdown in the usual way. (I had to do a Ctrl+Alt+F1, log in to the terminal and type shutdown -r 0 to get it to reboot. It was during this time that I added the terminal to my "favorites". Luckily, it got the new DHCP information after that. I also realized that I needed to change the hostname because the default one was ridiculously long. I just edited /etc/hostname and rebooted.The fourth hurdle to get over was installing the web server software I use, Apache. I want to install the 2.4 series that I use on my Windows computers, but the repository only contains 2.2. This means I have to compile the server myself. (I used these instructions, though at the time, they didn't load, so I used Google's cache.) I also have to compile PHP 5.4 myself. This is an incredibly drawn out procedure involving installing just over 70 MiB of packages and downloading 135.36 MiB of Apache source and 114.54 MiB of PHP source. Compiling software from source on the command line isn't a foreign thing for me, as I used to do this all the time when I ran a FreeBSD server. Actually, people looking over my shoulder while I did it thought I was hacking or something. :D I guess the Internet connection is so slow that it takes longer to download than to compile and install Apache and PHP. (Not counting the test suite in PHP, which took forever to run.) Unlike the Windows versions of each of those, I'm running the 64-bit version of Apache and PHP. I suppose the challenge makes it seem like more of a triumph when you finally get everything configured correctly.
Ok, so I can copy files from my Windows machine to the Linux machine, and the HTTP server and PHP are working. Now, it's time for the fifth hurdle: installing the database. Kubuntu itself comes with a variety of bits of the MySQL server, but since I use MariaDB, I figured I'd install that one instead. For this, I had to set up a new repository, but since they did not have a repository for quantal (Kubuntu/Ubuntu 12.10), I had to use the precise (12.04) one instead. Other than that, I used these instructions to install all the components (64-bit, like the Apache and PHP installs). With all that done, I had all the basic stuff in place for running a LAMP server. Or GLAMP, if you use the Free Software Foundation's slightly longer acronym. Now all I need is to copy all the gigabytes of files. Maybe the next thing I'll do is roll a custom kernel or something.
Here's a list of some problems I ran into that I couldn't fix:
- Using a wireless network requires setting up a "wallet". As a result, every time you reboot, you have to enter your password to log in, then enter the wallet password in order to connect to a wireless network. During the process of installing new software, I had to restart a lot. If I set up the ability to remotely access the machine and find I have to restart it, I won't be able to access it remotely again until I physically go to the computer and type in the wallet password.
- When entering a password in the terminal, you can't correct any known typos because the backspace, delete, and arrow keys produce hidden garbage characters. If you typo and you know it, you have no choice but to let it fail. This applies to other *nixes.
- Resizing windows in KDE is a pain by default because it seems like there's only a one-pixel area on each side and corner. I constantly missed the right spot while attempting to resize.
- The default editor for text files is LibreOffice Writer instead of Kate.
- Even though the rekonq (the default web browser) is built on WebKit, like Safari and Chrome, I had some issues with it that I didn't have on any other browser. I eventually traced the problem to gzip encoding used to shrink downloads. Sometimes, it just couldn't decompress the gzip data.
- How many times do I have to enter my password? Every time I installed or updated, I had to, and considering I'm installing all new software on a fairly empty machine, it happens all the time. I should just make my password one letter or something short until I get everything squared away.
Just so it's not completely negative, here's some things I like:
- The network monitor built-in on KDE is really nice. It takes only two clicks to get to (the equivalent on Windows takes three to four clicks), has a nice graph of recent activity, and also tells you how much data is going up and down per second. On Windows, you just get a total and have to do the math in your head when the numbers change. You could run the Resource Monitor on Windows for more information, but it's not as quick to get to as the monitor in KDE.
- The built-in mouse on the notebook works as-is. On Windows, I have to run three separate processes; if one or more aren't running, you can't scroll.
- You don't need to defrag. Like ever.
- The ability to have the screen dim when the computer isn't in use is available by default. In Windows, this particular computer didn't have support for that feature.
- There is an office suite that comes with the operating system.
- Just about every program and library on the computer updates simultaneously, so it's easy to keep the OS and the installed software up-to-date. (The only downside is that there's the possibility to have to restart your computer on a daily basis.) Windows only keeps Microsoft software updated. Some Windows programs have the ability to check for updates, but that means you often get told about updates as soon as you open the program...I know I don't open programs to check if they have updates, I open them to use them.