Linux Complete is a one-of-a-kind bookvaluable both for its broad content and its low price. Not only does Linux Complete provide beginners with the essential information they need to get up and running, it features coverage for budding network administrators with topics such as Samba and Apache.
Linux Complete starts out by walking you through installation, showing you how to perform basic tasks, and how to use the X Windows, KDE, and GNOME desktops. From there, you'll delve into connecting to the Internet, configuring and administrating a basic network, and security essentials. Next, Linux Complete shows you how to integrate Linux servers into your Windows network with Samba, how to set up an Apache Web Server and how to use Sendmail, an essential component of any Linux system.
Linux Complete introduces you to the work of some of Sybex's finest authors, so you'll know where to go to learn even more about Linux.
• Installing Linux
• Performing Basic Commands and Tasks
• Using GNOME and KDE
• Working with Multimedia
Basic Networking and Communications
• Understanding and Configuring TCP/IP Networking
• Creating and Maintaining Accounts
• Connecting to the Internet
• Configuring Hardware and Internet Servers
• Configuring Server Services
• Linux Security Primer
• Building the Most Secure Linux System
• Securing Network Services
Samba and Apache
• Understanding and Integrating SMB/CIFS
• Installing and Configuring Samba
• Understanding Apache
• Installing Apache
• Using the Apache Core Directives
• Locating, Installing, and Using Apache Modules
SendmailVisit the Sybex website for these bonus materials
• Installing and Running Sendmail
• Downloading and Compiling Sendmail
• Creating a Basic Sendmail Configuration
About the Author
Sybex editors and authors have pulled together the best information from the company's Linux library to create this collection of essential information. Sources include Mastering Red Hat Linux 7.1, Mastering GNOME, Linux Samba Server Administration, Linux Security, Linux Sendmail Administration, and Linux Command Instant Reference.
Read an Excerpt
By Loren E. Redding
John Wiley & SonsISBN: 0-7821-4036-X
Chapter OneGetting Ready to Install Red Hat Linux 7.1
In this chapter, you'll learn how to install Red Hat Linux 7.1. Most of this chapter is concerned with decisions that affect the installation process, rather than with the actual installation process itself, but this decision-making is an essential step to ensure that your Linux installation goes smoothly and that you end up with a well-configured system.
This chapter starts with a brief discussion of the minimum Linux system. What hardware is necessary to run a useful Linux system? It is possible to boot Linux from a single floppy disk, but the resulting system will be so limited that it will be useless for most purposes. This chapter describes what equipment you need in order to make Linux a useful tool in your computing arsenal.
From there, this chapter discusses a crucial issue: hardware compatibility. Even in the Windows world where vendors quickly provide drivers for almost every conceivable piece of hardware, things go wrong, and hardware incompatibility can be the cause of long, sleepless nights trying to get the Windows operating system to work. In Linux, there is equal potential for problems, especially if you try to use hardware for which there is currently limited or no support.
What You Need
Before you can install Linux, it is important to step back and consider exactly what type of computer you need. Linux can be installed on a wide range of hardware, including the following:
* ARM processors
* Motorola 68000 series processors
* Alpha processors
* SPARC processors
* MIPS systems
* PowerPC-based systems
* S/390-based servers
* Acorn computers
* Power Macintoshes
* Intel and Intel-compatible PCs
By far, though, Intel-compatible PC hardware is the most common Linux platform. It generally provides the lowest cost/performance ratio for Linux and is the primary development platform for most Linux tools. Intel Linux offers the best selection of device drivers for peripheral hardware, the largest body of available applications (both commercial and free), and the strongest user community on the Internet to turn to for support and assistance.
The Minimum PC for Linux
As an operating system, Linux has amazingly modest requirements for computer resources. It is possible to get Linux up and running on a 386-based computer with only 4MB of RAM. Of course, such a machine is limited in the following ways:
* It can't run X Windows (so, no GUI).
* The number of programs it can run simultaneously is limited by the amount of physical RAM.
* Its performance is slow enough to prevent its use in most mission-critical applications (for instance, as a mail server or web server).
Given these limitations, a system like this can still play a role in an organization as:
* A terminal to another Linux or Unix server where applications are running
* A low-end server for services such as Domain Name System (DNS), which helps computers translate hostnames such as yahoo.com into actual numeric Internet Protocol (IP) addresses or as an authentication server for a small network
In fact, Linux can provide a better way to use this type of old hardware than DOS can. DOS has limited networking capabilities and cannot handle the server duties described.
If you want to try to run this type of minimalist Linux system, turn to the Small Memory Mini-HOWTO at linuxdoc.org/ HOWTO/mini/Small-Memory for some basic tips to help you get Linux up and running in a system with limited memory.
A Good PC for Linux
Needless to say, just as you wouldn't want to run Windows on the type of machine described in the previous section, you need a more robust PC to fully enjoy the features and benefits of Linux.
Linux actually requires far fewer resources to perform far more functions than the average Windows 98 or Windows NT/2000 system. For instance, a functional workstation can be put together with a 486-100MHz processor and 16MB of RAM. This system will be able to run X Windows (for a graphical interface), access the Internet, run a graphical web browser, and all the while perform as a low-end server on a network.
Still, the average user will want a somewhat more powerful Linux system. A respectable Linux workstation needs the following specifications:
A Pentium-class CPU Even a Pentium 133 will do just fine for most users. It is wise to avoid certain clone chips, such as the Cyrix 686 line, because of some reported difficulties people have had running these chips. Generally, though, most Pentium-class systems work well. Of course, if you are buying a new PC today, you won't be able to find a standard Pentium, so choose a Pentium IV, Celeron, Athlon, Duron, or Itanium-class system.
32MB of RAM Linux is exceptionally good at taking advantage of any extra memory you throw at it. 32MB is enough for the average workstation, but you will notice the difference if you add 64MB or more of RAM.
A 3GB hard disk You can get away with a 1GB (or even smaller) hard disk, but a roomier disk is preferable. Larger disks tend to perform better than the older, smaller ones. In a number of cases, you won't be able to install all of the features associated with Red Hat Linux 7.1 unless you have at least 3GB of hard disk space.
A supported video card See the section "Checking Your Hardware for Compatibility," later in this chapter.
With a system like this, you will have more than sufficient resources to run Linux as a desktop operating system. You don't need to go out and buy the latest 1.7GHz Pentium IV system with all the bells and whistles to get Linux up and running at a respectable speed. In fact, you may want to avoid the latest hardware, especially if it was just released in the past few weeks.
Of course, in today's computing environment, you will probably want to extend your PC's capabilities into areas such as multimedia and the Internet. There are a few add-ons that greatly enhance any Linux system, and you should consider them as a way to round out your workstation:
A CD-ROM drive If you are going to install one, consider an IDE/ATAPI CD-ROM drive or, if you can afford it, a SCSI CD-ROM drive. Generally, it is best to avoid proprietary CD-ROM drives that work with their own interface cards or connect directly to special interfaces on sound cards. These CD-ROM drives are usually poor performers and difficult to configure in Linux.
A sound card Most Sound Blaster(r)-compatible cards are supported in Linux; check the hardware compatibility section of this chapter.
A modem In terms of speed, the same rules apply here as with Windows: It is generally best to get the fastest modem you can that will be able to connect at its top speed to your Internet service provider (ISP).
Two caveats, though: First, it is generally wise to opt for external modems in Linux. This is especially true for ISDN modems, because there is limited support in Linux for internal ISDN modems. The advantages of external modems (ISDN or analog) are that they are easier to configure and they offer external indicators so you can more easily debug configuration problems.
Second, it is generally wise to avoid "winmodems," which are modems that use Microsoft Windows driver library files. Linux supports only a few winmodems without difficulty.
Although a CD-ROM, a sound card, and a modem are fairly standard equipment on newer PCs, if you plan to use Linux as a small server on your intranet, you should consider the following add-ons:
A SCSI card SCSI offers much better performance for hard drives than the IDE interface and has better support for multiple devices. If you plan to run any type of multiuser system (for instance, file server, web server, or applications server), you really need to use a SCSI card. Be sure to consult the hardware compatibility section before selecting a SCSI card and, if possible, choose a card with Ultra-Wide SCSI support.
SCSI hard drive(s) One function of the SCSI card is to be able to use the faster SCSI hard drives. If possible, use Ultra-Wide SCSI drives for the best performance. You may want to consider multiple disk drives. For instance, if you estimate that you need 8GB of space for your users' data as well as the operating system and all installed applications, you may want to consider two 4GB drives (one for the user data and the other for the system and software). By splitting the software and the data, you will probably find that performance improves because the same disk is not being accessed for both.
A tape drive If you plan to run a server, you will want to do backups to ensure that your data is safe from system failure and other disasters. While it is possible to use some tape drives that connect through the floppy disk bus, you will find that life is a lot easier if you opt for a SCSI tape drive, if you can afford one. They are faster and better supported by Linux.
Checking Your Hardware for Compatibility
As with a Windows (especially Windows NT/2000) system, it is important to check that hardware you intend to buy will work with your Linux operating system and with the rest of the hardware in your computer before buying. Hardware incompatibility with the operating system and other hardware can be the cause of endless difficulty and time spent trying to debug and reconfigure a computer.
This issue is especially important in the Linux community. Although support for Linux is growing among hardware vendors, many vendors still do not provide Linux drivers for their hardware, and their support staff may be unable or unwilling to work with users to debug hardware conflicts and problems in a Linux environment. This means that the hardware needs to be supported by drivers included in the user's Linux distribution or by add-on software that provides drivers for the hardware in question. In addition, users must rely on the Linux community for help when problems arise.
Although a vast majority of hardware is supported in some way by Linux, it is wise to do some research before installing Linux or before purchasing new hardware for a Linux-based system. Here's what you can do:
* Try consulting the Red Hat Hardware Compatibility List at hardware.redhat.com. This contains a searchable database of compatible hardware for the most current Red Hat distributions.
* Consult the Linux Hardware Compatibility HOWTO. This document, authored by Patrick Reijnen, contains extensive lists of hardware known to work with Linux, hardware known not to work with Linux, and issues related to both types of hardware. If you purchase hardware that has the stamp of approval from this HOWTO guide, your life will be easier. You can find the latest version of this guide at linuxdoc.org/HOWTO/ Hardware-HOWTO.html.
* Consult the comp.os.linux.hardware newsgroup. This is a good source of information about hardware issues as they relate to Linux. If you are unsure whether your intended hardware purchase is wise, post a question to the group asking if anyone has had any experience with the hardware in question. You will usually find that others have tried what you are considering, and their collective wisdom is an invaluable resource in making informed purchase decisions. Alternatively, search through newsgroup archives at groups.google.com.
* Try to evaluate the hardware before purchasing it. If you are considering making a corporate purchase of hardware from a vendor you use regularly, it may be possible to borrow the hardware to test it with Linux before actually purchasing it. Of course, this is the only way to be certain that the hardware will work the way you want it to.
Recording Your Hardware Information
Once you have put together your target Linux PC, you need to collect the hardware-related information necessary to get your hardware working. This section briefly looks at the information you should be aware of in order to get your hardware working quickly with Linux.
If you install Linux without X Windows (the graphical user interface for Unix systems), you will probably have no difficulties with any video card. However, with X Windows, you need to take care and pay attention to detail to get your card working. Record the following information about your video card before installing Linux:
* Vendor and model of the card.
* Video chipset used on the card. (Sometimes X Windows might not provide explicit support for a particular card but will offer general support for the chipset used in the card.)
* Amount of video memory on the card.
* Type of clock chip on the card. (If there is one; many common cards do not have clock chips.)
All of this information should be available in the documentation that came with your card or in Linux-related archives, HOWTOs, or the card manufacturer's website if you no longer have the documentation.
Sound cards require that you supply very specific information in order to get them working. The following information is critical to configuring most sound cards:
* Vendor and model of the card
* IRQ(s) of the card
* I/O address(es) of the card
* DMA address(es) of the card
You may have to set the IRQ, I/O address, and DMA address manually, using jumpers or DIP switches. Depending on your card, not all of this information may be required. Refer to the card's documentation for instructions.
As with your video card, it is important to record the technical specifications of your monitor in order to get it working optimally with X Windows. If you don't have this information or use the wrong information, there is a risk that your monitor will be damaged. Record the following specifications after consulting your monitor's documentation:
* Vendor and model of the monitor
* Top resolution of the monitor
* Top refresh rate of the monitor when running at its top resolution
* Horizontal sync range of your monitor
* Vertical sync range of your monitor
In order to get your mouse working, both in Linux's character-based console mode and in X Windows, you need to note the following information:
* Vendor and model of the mouse.
* Number of mouse buttons.
* Protocol of the mouse. (Consult the mouse's documentation for this; common protocols include the Microsoft protocol, USB, the Mouse Systems protocol, and the PS/2 protocol.)
* Port where your mouse is connected to your computer. (In DOS terms, this is generally COM1:, COM2:, or the PS/2 mouse port.)
If you plan to use Linux to repartition your hard drive during installation (see the section about arranging your hard disk's partitions, "Arranging Your Hard Disk," later in this chapter), you may need the following information:
* Total storage capacity of the hard disk
* Number of cylinders
* Number of heads
* Number of sectors per track
Generally, you will not need to provide this information because Linux will successfully auto-detect it when the system is booted.
If you have a modem, you should record the following information:
* Vendor and model of the modem
* Speed of the modem
* Port that your external modem is connected to or that you have configured your internal modem to use (in DOS terms, this is generally COM1: or COM2:) or with internal modems, the IRQ, I/O address, as well as the port
If you have a network card, you should record the following information:
* Vendor and model of the network card
* IRQ(s) of the card
* I/O address(es) of the card
* Specialized drivers, if available
* Compatibility with Novell 1000 or 2000 network card drivers
Some network cards include driver disks with Linux drivers. Alternatively, if your card is compatible with Novell 1000 or 2000 network card drivers, you may be able to use these drivers to install your network card on Linux. Consult your network card's documentation for more information.
Excerpted from Linux Complete by Loren E. Redding Excerpted by permission.
All rights reserved. No part of this excerpt may be reproduced or reprinted without permission in writing from the publisher.
Excerpts are provided by Dial-A-Book Inc. solely for the personal use of visitors to this web site.
Table of Contents
Part I: Installation.
Chapter 1: Getting Ready to Install Red Hat Linux 7.1.
Chapter 2: Installing Red Hat Linux 7.1.
Chapter 3: Special Installations.
Part II: Learning the Basics.
Chapter 4: Working with Linux Commands and Files.
Chapter 5: An Overview of X Windows.
Chapter 6: GNOME for the First Time.
Chapter 7: Setting System Configuration Essentials with GNOME.
Chapter 8: KDE, Office Applications, and Running Windows Applications in Linux.
Chapter 9: Multimedia and Graphics.
Chapter 10: Advanced X Windows Configuration.
Part III: Basic System Administration and Network Address Services.
Chapter 11: Creating and Maintaining User Accounts.
Chapter 12: TCP/IP Linux Networking.
Chapter 13: Serial Communications, Terminals, and Modems.
Chapter 14: Connecting to the Internet.
Part IV: Security.
Chapter 15: Understanding Linux Security.
Chapter 16: System Installation and Setup.
Chapter 17: Network Services Configuration.
Part V: Samba.
Chapter 18: An Introduction to SMB/CIFS.
Chapter 19: Integrating SMB/CIFS into Linux.
Chapter 20: Installing Samba.
Chapter 21: GUI Configuration Tools and the smb.conf File.
Chapter 22: Configuring File Sharing.
Part VI: Apache and Sendmail.
Chapter 23: Apache and Other Servers.
Chapter 24: Installing Apache.
Chapter 25: The Apache Core Directives.
Chapter 26: Apache Modules.
Chapter 27: Running Sendmail.
Chapter 28: Creating a Basic Sendmail Configuration.
Appendix: Recompiling the Linux Kernel.