Setting up a Linux Server can be an intimidating task for a Windows administrator. Red Hat's installation is completely different from what you're used to with Windows. In this article, I will walk you through the process of installing your first Red Hat Enterprise Linux Server.
Downloading Enterprise Linux
After purchasing a license for Red Hat Enterprise Linux, you will receive an e-mail message with directions instructing you as to how you can access the download site. The download site looks something like what you see in Figure A. As you can see, you have the option of downloading install disks and / or source disks. There are also multiple updates available.
|Red Hat gives you the option of downloading install disks and / or source disks.|
You will definitely want to download the install disks. They contain the data for the installation CDs. The source disks on the other hand just contain uncompelled Enterprise Linux source code. You don't need to worry about downloading the source disks unless you plan on making modifications to the operating system.
You will notice in Figure A that there are multiple updates available to Red Hat Enterprise Linux. The main thing that you need to know about these updates is that they are all inclusive. For example, at the time that I wrote this article, Update 3 was the latest update. I therefore downloaded the install disks for Update 3 and nothing else. Although the disks are technically an update, they contain all of the required code for installing Linux from scratch.
One last thing that I want to mention about the downloads though is that there is a link at the bottom of the download page to download the documentation DVD. If you don't have a lot of experience with Linux, then it's probably a good idea to download the documentation.
Creating installation CDs
The files that you are downloading are ISO files (CD images). You can use any CD authoring software to burn a CD based on an image file. In creating the disks for my deployment, I used Roxio's Easy CD Creator, but you could easily use Nero or any other CD authoring tool.
Installing Enterprise Linux
Once you have created your installation CDs, you must now boot your server from the CDs. Most servers should boot from a CD with no problem, but if you have difficulties booting from a CD, then go into your server's Setup and check the boot device priority.
When your server does boot from the CD, the first screen that you will see asks you if you want to install Enterprise Linux in graphical mode or in text mode. For the purposes of this article, let's install in graphics mode. To do so, just press the [Enter] key.
You will now be asked if you want to test the CD media prior to installation. If you have doubts about the integrity of your CDs, then the test might be a good idea. Otherwise, just choose the Skip option.
At this point, there will be a bit of a delay while the system loads Anaconda. Anaconda is the Red Hat Linux installer. When Anaconda finishes loading, the setup program will switch to graphics mode. The first thing that you will probably notice is that the graphical user interface looks a lot like Windows (comforting, isn't it?).
Click Next on the Red Hat Welcome screen and you will be asked what language you want to use during the installation. Select your language of choice and click Next. When you do, you will see a screen asking you about your keyboard layout. Assuming that you are in the United States and you speak English, you will want to select the U.S. English option and click Next.
You will now see a screen that asks about how you want to partition your server's hard disk. You can choose to use automatic partitioning, or if you prefer, you can use Disk Druid to create the partitions manually. If you do decide to manually prepare the partition, you will find that Disk Druid works a little bit differently than the Partition Manager used in Windows Setup.
The Disk Druid interface displays your system's hard drives and any existing partitions, but the buttons for New, Edit, Delete, etc. are listed above the hard disk table, and they kind of blend in with the table's header rows. Once you find the buttons though, the process of defining the necessary partition isn't that different from doing so in Windows. There are a couple of quirky things though.
For starters, when you specify the partition size, keep in mind that you are entering it in MB, not in GB. Another weird thing is that Anaconda requires you to install Linux into a root partition. To do so, you will have to set the partition's mount point to /. If the / option isn't available, try changing the file system type.
While creating the partition structure, you will also need to create a partition for the operating system's swap file. This isn't an absolute requirement, but Linux will run a whole lot more efficiently if you do create this partition. To do so, simply create a partition and set its file system type to SWAP.
The GRUB boot loader
The next portion of Setup installs the GRUB boot loader. The GRUB boot loader is the component that allows you to switch boot multiple operating systems. The GRUB boot loader does get installed by default, but if you have another boot loader that you prefer to use, you can do so.
The GRUB boot loader configuration screen adds the Red Hat Enterprise Linux installation to the boot menu by default. If you have other operating systems that you want to add to the boot menu, you can do so by clicking the Add button. Generally though a server is a dedicated computer and it is very rare to run multiple operating systems on a server.
One last aspect of the GRUB boot loader that I do want to talk about though is the Use Boot Loader Password option The GRUB boot loader can be configured to require a password before booting an operating system. The idea of requiring a password prior to boot is good from a security standpoint, but in my opinion, it's a bad idea from a logistical standpoint. Suppose that something were to go wrong in the middle of the night causing the server to reboot itself.
If the boot loader were configured to require a password, the server will never come back up on its own. It will remain down indefinitely until someone enters a password. Therefore, I don't recommend using a boot loader password on servers.
Click Next and you will see the Network Devices screen. Anaconda should automatically detect the network cards that are installed in your server. If Anaconda fails to detect a NIC though, there doesn't appear to be a way to specify the NIC on this screen. You will have to install the NIC later after Linux is up and running.
By default the detected NICs are configured to get an IP address from a DHCP server. If you want to enter a static IP address though, you can do so by clicking the Edit button, Deselecting the Configure Using DHCP check box, and entering an address and subnet mask. The Edit Interface dialog box also gives you the option of disabling the selected NIC.
After choosing whether you want to use a static or dynamic IP address, you must set a hostname for the server. You can acquire the hostname from a DHCP server, or enter it manually. Of course, servers almost always use static hostnames, so you will probably want to enter the name manually. When you enter your server's hostname, be sure to enter it as a fully qualified domain name (machine.domain.com).
The last portion of the screen requires you to enter information on your default gateway and on your organization's DNS servers. For some reason Linux does not pull this information from a DNS server, so be sure that you enter it before moving on.
Click Next and you will be asked whether or not you wish to enable a software firewall that will help to prevent unauthorized access to your server. Even if you've got a good perimeter firewall, enabling a firewall on the server is still a good idea because most hacks come from within. If you choose to enable the firewall, there are some check boxes that you can use to select which services will be used on the server. If you select a service, the corresponding firewall ports will be opened.
Unfortunately, Anaconda only lists four different services that you can select (Remote Login (SSH), Web Server (HTTP, HTTPS), File Transfer (FTP), and Mail Server (SMTP)). There is a good possibility that you may need to open a port for an unlisted service. The installer doesn't provide this functionality, but you can always open additional ports once the installation has completed.
The other thing that you need to take a look at on the current screen is the option to enable or disable SELinux. SELinux (Security Enhanced Linux) allows you to have more granular control over security than you would have in a more traditional Linux deployment.
SELinux is made Active by default, but this might not always be the best setting. I'm all in favor of extra security, but if you have never worked with SELinux before, then the enhanced security can make for a frustrating experience the first time around. Therefore, if you have never had any experience with SELinux, then I recommend setting the initial SELinux state to Warn.
In doing so, SELinux won't actually deny access to anything that wouldn't already be blocked. Instead, it gives you a warning message as you attempt to access forbidden resources. The message simply informs you that if SELinux were active then this particular resource would be blocked. The reason why I recommend setting SELinux to Warn is because doing so allows you to get a feel for how to use SELinux before you actually lock anything down.
Click Next and you will be asked if you would like to install support for any additional languages. Make your selection and click Next again. You will now be prompted to select your time zone. Click Next again.
You will now be prompted to enter your Root password. The Root password is basically the Linux equivalent to the Windows Administrator password. It is the password that has full blown, unrestricted access to the server. The only restriction that Anaconda places on the Root password is that it must be at least six characters long.
You will now see a screen asking you which packages you want to install. In Linux, a package is basically just a component or a set of components. By default, Enterprise Linux is configured to install the Desktop Shell (yes, the desktop GUI is optional), the Administration tools, the Server Configuration Tools, a Web Server, and a Windows file server.
I personally recommend that you customize the list of software packages to be installed on the server. After all, you don't want the overhead and the security risks associated with running a Web server if the server is not going to be acting as a Web server. Besides, there may be packages that you want to install but that would not be installed by default.
At a bare minimum, I recommend installing the GNOME Desktop shell, the Administration Tools, and the Server configuration tools. The Package Group Selection screen (accessible when you select the Custom option and click Next) has some nice options to choose from. Initially, you must choose your desktop software. I recommend installing the X Window System and the GNOME Desktop Environment.
The next section is the Applications section. It allows you to install everything from text editors to an office productivity suite (similar to Microsoft Office). There are different schools of though on what applications should be installed onto a server. At a bare minimum, I recommend installing a text editor, but feel free to install additional applications if you feel comfortable doing so.
Just below the Applications section is the Servers section. This section allows you to install server applications based on your server's role. For security reasons, I recommend that you install only the server applications that are necessary to fulfill your server's intended purpose. Whichever options you decide to select though, be sure to install the Server Configuration Tools.
After you scroll through the available server components, you will see the Development tools section. If you happen to be a software developer, then it might be worthwhile to look through the available tools. Otherwise, just move on to the next section.
The second to last group of packages is the System packages section. The system section includes administration tools, system tools, and printing support. I definitely recommend selecting the Administration Tools and the System Tools. You will only need the Printing Support package if the server will act as a print server or if you will occasionally need to print from the server console. I recommend going ahead and installing the Printing Support package because you never know when you may need to print a log file or something like that.
The last two packages are Everything and Minimal. I do not recommend selecting either one of these packages. The Everything package will flood your server's hard drive with dozens of packages (more than the ones listed on the package selection screen). The minimal option is only suitable if the server will just be acting as a router or firewall.
Click Next and Anaconda will do a quick check of the dependencies for the packages that you have selected. You will then be taken to a screen that warns you that this is your last chance to abort the installation process or to make changes. Click Next, followed by continue and the installation process will format the hard disk and begin copying the necessary files. When the file copy process completes, simply click the Reboot button to launch Linux.
Ready to go
As you can see, installing Red Hat's Enterprise Linux isn't too scary. In general, if you are adept at installing Windows, then you shouldn't have too much trouble installing Linux.