WWWsmith: Installation and Configuration of FreeBSD

Here's how to set up a web server using another freely available operating system, FreeBSD, a high performance, mature, UNIX-like system.
Read the Documentation

The first item in the menu is “Usage”, which explains how to move through the menu system and which keys do what. This is a must-read for any first-time installer. Press enter, and you will be presented with the “HOW TO USE THIS SYSTEM” screen. (See Figure 2.)

Figure 2. Selecting Item 1 in the initial menu brings up this screen.

The next menu item is “Documentation”, which provides a brief overview of FreeBSD, the supported hardware, installation guide, etc. These files are available on the CD-ROM's root directory, as well as in the release's root directory in the FTP location.

Choosing Your Options

The third menu item is “Options”, and mostly applies to non-CD-ROM installs—NFS and FTP. In particular, if you need to use an FTP name other than ftp (e.g., anonymous or even a non-anonymous account name). (See Figure 3.)

Figure 3. Installation Process Options

The easiest way to get started is to choose the “Novice” installation method (the fourth item of the main menu). The first thing this does is partition the disk for you, using a screen-oriented fdisk program. The “Express” method isn't as verbose with explanations—and is probably the best way to install if you've done FreeBSD installs before. (See Figure 4.)

Figure 4. Express Install Screen

For simplicity's sake, I chose to use the entire disk for FreeBSD by typing A—it then asked if I wanted to have a “true partition” entry. This is necessary if the disk will be used in a mixed-OS, dual boot machine (e.g., both DOS and FreeBSD). Since the machine in question will only be used as a web server, I answered no. (See Figure 5.) Note that if you are using BIOS geometry mapping, this may very well be required. As always, type Q when done.

Figure 5. Disk Geometry Screen

Partitions vs. Slices

FreeBSD can work with DOS-style partitions, and it can use its own partitions as well. FreeBSD calls the former “slices” in order to avoid confusion, although it doesn't necessarily succeed. In general, BSD partitions reside inside DOS-style partitions (aka “slices”). The normal name for a disk is <device><unit><partition>, e.g., wd0a; the slice is added after the unit, and before the petition. For example, wd0s1e would be the first slice (starting at 1, not 0), fifth partition within that slice, of the first IDE drive. FreeBSD can automatically partition the slice for you; on my 202MB drive, it chose:

/       32MB
swap    41MB
/var    30MB
/usr    98MB

You can choose your own sizes, of course. I chose the defaults which are quite reasonable.

After deciding on the layout of the disk, the next step is to choose which type of system to install. The options range from minimal to complete, with most people selecting something in between. For this install, the most likely type would have been “Basic”, which would install the basic FreeBSD system; however, I also prefer to configure my kernel to edit out unnecessary devices, so I chose the “kernel developer” package—this is the basic package, with compiler tools and the kernel sources. When installed, it used up approximately 130MB of disk space.

When selecting the package (by pressing the space bar), you are immediately asked if you want to install the DES packages. This is desirable, as you can share password file entries with traditional Unix systems this way. However, the default FreeBSD password encryption scheme (MD5 checksumming, actually) appears to be stronger than DES. Note that you are not supposed to install DES unless you are in the USA or Canada due to export restrictions, although the packages are included on the CD-ROM.

In addition to the basic DES package (the static and shared libraries), you can choose to install Kerberos (an authentication suite developed at MIT), as well as the sources to each. Although I generally use Kerberos, I did not install it on this machine, as space was getting tight and configuring Kerberos is not easy.

The install program then asks if you want to install the ports collection; this is fairly small (about 10MB), but since space was so tight I did not install it. There is more about ports and packages later later.

At this point, you are presented with the “Choose Distributions” menu again; if you are satisfied with your choices, press return to continue, otherwise, choose the distribution type you wish and continue.