I’ve been running CentOS on my in-house Linux box for over five years now.
I started with CentOS 4.1 on my in-house Linux box. [Aside: in Linux-speak, we talk of “boxes,” not “computers”] Its main use is “networked attached storage” for my home network.
Using the standard Samba program that comes with almost every Linux distribution, and which is designed to make Linux file and printer sharing compatible with “Windows File and Printer Sharing,” I can do daily data backups from my Windows computers to the Linux box. I have several 300 GB hard drives in the Linux computer dedicated to the backups.
A few weeks before installing CentOS, I noticed that my two small hard drives that were connected to an internal PCI hard drive controller card (I had 4 hard drives in the computer) were not being recognized by the Linux distribution I was using at the time. They were tiny, so it was an aggravation but not a real issue.
The real issue (well, really, the wake-up call) came when I replaced the small drives with a larger 160 GB hard drive that I found for $40 after rebates. This hard drive wasn’t being recognized either.
That’s when I found that the hard drive controller wasn’t being recognized and handled by the SimplyMEPIS Linux installation. After a few days fighting the issue, I decided to try CentOS, which is a free, open-source clone of RedHat Enterprise Linux, RedHat’s flagship product.
Installation was straight forward, almost as easy as the Mepis installation had been. My hard drive controller card was recognized automatically, too. One of my negatives about Mepis was that it was based on the Debian distribution. There’s nothing wrong with that and a lot of people prefer Debian; however, all the Linux versions I had used until that had been RedHat or used the “RedHat Package Manager” (RPM) package system. I’m just more comfortable with the RPM system.
CentOS was a pleasure to install. It has a few cool games, too. I had some difficulties getting the file-sharing working and the web server files moved to another directory, though. The problems were related to advanced security measures built into CentOS — these were SELinux features.
SELinux, Security-Enhanced Linux, is a set of modifications to Linux that were released in 1994 by the U.S.’s National Security Agency — the NSA of all people. It shocked the community. Normally, information goes into the NSA, but nothing comes back out. In this instance, the NSA gave everyone a huge step towards better system security by releasing a set of modifications to allow extremely fine, granular access control.
This same fine control was blocking my file-sharing. It was also protecting the webserver by controlling which directories could be used. Once I recognized this, as the system administrator “root,” I turned off the SELinux features using a menu selection and fixed my file-sharing settings. I also learned that, when SELinux issues are the problem, the error messages can’t quite be trusted and may be misleading. Similarly, I solved the issue with my webserver modification — the webserver as installed worked perfectly — the problem was that SELinux was configured to require a specific directory which wasn’t the one I wanted to use.
This was yet another case where “Google is my friend.” I Googled for the Apache web server error message and found the hint that SELinux configuration was the issue. As soon as I set up the SELinux parameters for my desired directory, all was well. In other words, I had turned off the SELinux functions so that I could solve the problem and the SELinux configuration — then I turned SELinux back on again!
CentOS 4.1 is a “keeper.” I have a “virtual network computing” server program running on my Linux box. I can log in from my Windows notebook in the den and see and do almost anything that I could do if I was using the Linux box’s keyboard.