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.

Figure A

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.

Disk Druid

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.

Network devices

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.

Security

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.

Miscellaneous settings

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.

Package installation

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.