You are previewing CentOS Bible.
O'Reilly logo
CentOS Bible

Book Description

Authoritative guide to a rapidly growing Linux distribution

This is one of the first, if not the first comprehensive guide to the CentOS Linux operating system. Linux guru Tim Bornocyzyk, thoroughly covers the topic whether you're a Linux novice or a regular who now wants to master this increasingly popular distribution.

First find out how to install and configure CentOS. From there, you'll cover a wealth of Linux and CentOS tools, functions, and techniques, including: how to work in the GNOME and KDE desktop environments; how to use the Linux shell, file system, and text editor; how to configure CUPS printers, Samba for file and printer sharing and other features using GUI tools; and more.

  • CentOS (Community ENTerprise Operating System) is a Linux operating system maintained by a small team of core developers based on Red Hat Enterprise Linux (RHEL)

  • Lead author Christopher Negus is the bestselling Linux author of such books as Fedora 10 and Red Hat Enterprise Linux Bible and Linux 2009 Edition Bible; he is also a member of the Red Hat Enterprise Linux training team

  • Tech edited by key member of the CentOS development team, Ralph Angenendt, and foreword written by lead CentOS developer, Karanbir Singh.

  • Learn how to set up users, automate system tasks, back up and restore files, and prepare for the latest security issues and threats; also learn how to use and customize the desktop menus, icons, window manager, and xterm; and how to create and publish formatted documents

  • Explores available Linux multimedia applications for graphics, audio, video and CD burning

  • The DVD includes complete copy of the most current CentOS Distribution – CentOS 5.3

For getting the most out of CentOS Linux, this is the book you need to succeed.

Note: CD-ROM/DVD and other supplementary materials are not included as part of eBook file.

Table of Contents

  1. Copyright
  2. About the Authors
    1. About the Technical Editor
  3. Credits
  4. Foreword
  5. Introduction
    1. Who You Are
    2. This Book's Learn-Through-Tasks Approach
    3. What You Need
    4. Conventions Used in This Book
    5. How This Book Is Organized
      1. Part I: Getting Started
      2. Part II: Using CentOS
      3. Part III: Administration
      4. Part IV: Networking
    6. About the Companion Media
  6. I. Getting Started
    1. 1. An Overview of CentOS
      1. 1.1.
        1. 1.1.1. What You Get with CentOS
        2. 1.1.2. Stepping Stone to Red Hat Enterprise Linux
      2. 1.2. What Is Linux?
      3. 1.3. Linux's Roots in UNIX
      4. 1.4. Common Linux Features
      5. 1.5. Primary Advantages of Linux
      6. 1.6. Going Forward with CentOS
        1. 1.6.1. Help from the CentOS Project
        2. 1.6.2. Training and Certification
        3. 1.6.3. Documentation
      7. 1.7. Summary
    2. 2. Installing CentOS
      1. 2.1. Using the CentOS Live CD
      2. 2.2. Quick Installation
      3. 2.3. Detailed Installation Instructions
        1. 2.3.1. Installing CentOS 5
          1. 2.3.1.1. Install or Upgrade?
          2. 2.3.1.2. From DVD, Network, or Hard Disk?
        2. 2.3.2. Choosing Computer Hardware
        3. 2.3.3. Preparing for Installation Using the Live CD
          1. 2.3.3.1. Display Hardware Information
          2. 2.3.3.2. Test Your Hardware
        4. 2.3.4. Beginning the Installation
        5. 2.3.5. Running CentOS Firstboot
        6. 2.3.6. Going Forward after Installation
      4. 2.4. Special Installation Procedures
        1. 2.4.1. Alternatives for Starting Installation
          1. 2.4.1.1. Booting Installation from Hard Disk
          2. 2.4.1.2. Booting Installation Using PXE
        2. 2.4.2. Installing from Other Media
          1. 2.4.2.1. Beginning Installation
          2. 2.4.2.2. Setting up an HTTP, FTP, or NFS Install Server
            1. 2.4.2.2.1. Configuring an Install Server Using Files
            2. 2.4.2.2.2. Configuring an Install Server Using Disk Images
            3. 2.4.2.2.3. NFS Server
            4. 2.4.2.2.4. Web Server
            5. 2.4.2.2.5. FTP Server
            6. 2.4.2.2.6. Hard Disk Install
        3. 2.4.3. Starting a VNC Install
        4. 2.4.4. Performing a Kickstart Installation
          1. 2.4.4.1. Creating the Kickstart File
          2. 2.4.4.2. Installing the Kickstart File
          3. 2.4.4.3. Booting a Kickstart Installation
      5. 2.5. Special Installation Topics
        1. 2.5.1. Setting up to Dual-Boot Linux and Windows
          1. 2.5.1.1. Resizing Your Windows Partitions
          2. 2.5.1.2. Using Windows Partitions from Linux
        2. 2.5.2. Partitioning Your Disks
          1. 2.5.2.1. Partitioning with Disk Setup during Installation
            1. 2.5.2.1.1. Reasons for Partitioning
            2. 2.5.2.1.2. Deleting, Adding, and Editing Partitions
          2. 2.5.2.2. Partitioning with fdisk
          3. 2.5.2.3. Tips for Creating Partitions
        3. 2.5.3. Using the GRUB Boot Loader
          1. 2.5.3.1. Temporarily Changing Boot Options
          2. 2.5.3.2. Permanently Changing Boot Options
          3. 2.5.3.3. Adding a New GRUB Boot Image
      6. 2.6. Troubleshooting Installation
      7. 2.7. Summary
    3. 3. Getting Started with the Desktop
      1. 3.1. Logging in to CentOS
      2. 3.2. Getting Familiar with the Desktop
        1. 3.2.1. Touring Your Desktop
          1. 3.2.1.1. Step 1: Checking out Your Home Folder
          2. 3.2.1.2. Step 2: Change Some Preferences
          3. 3.2.1.3. Step 3: Configure Your Panels
        2. 3.2.2. Tips for Configuring Your Desktop
      3. 3.3. Using the GNOME Desktop
        1. 3.3.1. Using the Metacity Window Manager
        2. 3.3.2. Using the GNOME Panels
          1. 3.3.2.1. Use the Applications and System Menus
          2. 3.3.2.2. Adding an Applet
          3. 3.3.2.3. Adding Another Panel
          4. 3.3.2.4. Adding an Application Launcher
          5. 3.3.2.5. Adding a Drawer
          6. 3.3.2.6. Changing Panel Properties
        3. 3.3.3. Using the Nautilus File Manager
        4. 3.3.4. Changing GNOME Preferences
        5. 3.3.5. Managing Removable Media
        6. 3.3.6. Trying Other GNOME Applications
          1. 3.3.6.1. Taking Notes with Tomboy
          2. 3.3.6.2. Checking Your Network from GNOME
        7. 3.3.7. Exiting GNOME
      4. 3.4. Running 3D Accelerated Desktop Effects
      5. 3.5. Switching Desktop Environments
      6. 3.6. Using the KDE Desktop
        1. 3.6.1. Starting with KDE
        2. 3.6.2. KDE Desktop Basics
          1. 3.6.2.1. Getting around the Desktop
            1. 3.6.2.1.1. Using the Mouse
            2. 3.6.2.1.2. Using Keystrokes
        3. 3.6.3. Managing Files with the Konqueror File Manager
          1. 3.6.3.1. Working with Files
          2. 3.6.3.2. Searching for Files with kfind
          3. 3.6.3.3. Creating New Files and Folders
        4. 3.6.4. Using the Konqueror Browser Features
        5. 3.6.5. Configuring Konqueror Options
        6. 3.6.6. Managing Windows
          1. 3.6.6.1. Using the Taskbar
          2. 3.6.6.2. Moving Windows
          3. 3.6.6.3. Resizing Windows
          4. 3.6.6.4. Pinning Windows on Top or Bottom
          5. 3.6.6.5. Using Virtual Desktops
        7. 3.6.7. Configuring the Desktop
        8. 3.6.8. Adding Widgets
          1. 3.6.8.1. Adding Widgets to the Panel
      7. 3.7. Using the Xfce Desktop Environment
      8. 3.8. Troubleshooting Your Desktop
        1. 3.8.1. GUI Doesn't Work at Startup
        2. 3.8.2. Tuning Your Video Card and Monitor
          1. 3.8.2.1. Running the Display Settings Window
          2. 3.8.2.2. Understanding the xorg.conf File
        3. 3.8.3. Configuring Video Cards for Gaming
        4. 3.8.4. Getting More Information
      9. 3.9. Summary
    4. 4. Using Linux Commands
      1. 4.1. The Shell Interface
        1. 4.1.1. Checking Your Login Session
        2. 4.1.2. Checking Directories and Permissions
        3. 4.1.3. Checking System Activity
        4. 4.1.4. Exiting the Shell
      2. 4.2. Understanding the Shell
      3. 4.3. Using the Shell in Linux
        1. 4.3.1. Locating Commands
        2. 4.3.2. Rerunning Commands
          1. 4.3.2.1. Command-Line Editing
          2. 4.3.2.2. Command-Line Completion
          3. 4.3.2.3. Command-Line Recall
        3. 4.3.3. Connecting and Expanding Commands
          1. 4.3.3.1. Piping Commands
          2. 4.3.3.2. Sequential Commands
          3. 4.3.3.3. Background Commands
          4. 4.3.3.4. Expanding Commands
          5. 4.3.3.5. Expanding Arithmetic Expressions
          6. 4.3.3.6. Expanding Variables
        4. 4.3.4. Using Shell Environment Variables
          1. 4.3.4.1. Common Shell Environment Variables
          2. 4.3.4.2. Setting Your Own Environment Variables
        5. 4.3.5. Managing Background and Foreground Processes
          1. 4.3.5.1. Starting Background Processes
          2. 4.3.5.2. Moving Commands to the Foreground and Background
        6. 4.3.6. Configuring Your Shell
          1. 4.3.6.1. Setting Your Prompt
          2. 4.3.6.2. Adding Environment Variables
          3. 4.3.6.3. Adding Aliases
      4. 4.4. Working with the Linux File System
        1. 4.4.1. Creating Files and Directories
          1. 4.4.1.1. Using Metacharacters and Operators
          2. 4.4.1.2. Using File-Matching Metacharacters
          3. 4.4.1.3. Using File Re-Direction Metacharacters
          4. 4.4.1.4. Understanding File Permissions
        2. 4.4.2. Moving, Copying, and Deleting Files
      5. 4.5. Using the vi Text Editor
        1. 4.5.1. Starting with Vi
        2. 4.5.2. Moving around the File
        3. 4.5.3. Searching for Text
        4. 4.5.4. Using Numbers with Commands
      6. 4.6. Summary
  7. II. Using CentOS
    1. 5. Accessing and Running Applications
      1. 5.1. Getting and Installing Software Packages
        1. 5.1.1. Downloading and Installing Applications with yum
          1. 5.1.1.1. Configuring yum (/etc/yum.conf)
          2. 5.1.1.2. Adding yum Repositories (/etc/yum.repos.d/)
          3. 5.1.1.3. Running yum to Download and Install RPMs
          4. 5.1.1.4. Using yum to Install Packages Locally
          5. 5.1.1.5. Using yum for Listing Packages
          6. 5.1.1.6. Using the yum-utils Package
        2. 5.1.2. Getting CentOS Software Updates
          1. 5.1.2.1. Getting Alerted to Available Updates
          2. 5.1.2.2. Getting Manual Updates with yum
      2. 5.2. Managing RPM Packages
        1. 5.2.1. Using the Add/Remove Window
        2. 5.2.2. Using the rpm Command
          1. 5.2.2.1. Verifying rpm Package Integrity
          2. 5.2.2.2. Installing with rpm
          3. 5.2.2.3. Upgrading Packages with rpm
          4. 5.2.2.4. Freshening Packages with rpm
          5. 5.2.2.5. Removing Packages with rpm
          6. 5.2.2.6. Querying Packages with rpm
          7. 5.2.2.7. Verifying Installed Packages with rpm
      3. 5.3. Using Software in Different Formats
        1. 5.3.1. Understanding Software Package Names and Formats
        2. 5.3.2. Understanding Different Archive Formats
        3. 5.3.3. Building and Installing from Source Code
          1. 5.3.3.1. Installing Software in SRPM Format
          2. 5.3.3.2. Installing Software in tar.gz or tar.bz2 Formats
      4. 5.4. Using CentOS to Run Applications
        1. 5.4.1. Finding Common Desktop Applications in Linux
        2. 5.4.2. Investigating Your Desktop
        3. 5.4.3. Starting Applications from a Menu
        4. 5.4.4. Starting Applications from a Run Application Window
        5. 5.4.5. Starting Applications from a Terminal Window
        6. 5.4.6. Running Remote X Applications
          1. 5.4.6.1. Traditional Method to Run Remote X Applications
          2. 5.4.6.2. Launching a Remote X Application
          3. 5.4.6.3. Using SSH to Run Remote X Applications
      5. 5.5. Running Microsoft Windows, DOS, and Macintosh Applications
        1. 5.5.1. Running DOS Applications
          1. 5.5.1.1. Using mtools
          2. 5.5.1.2. Using DOSBox
        2. 5.5.2. Running Microsoft Windows Applications in Linux
          1. 5.5.2.1. Running Windows Applications in WINE
          2. 5.5.2.2. Assigning Drive Letters
          3. 5.5.2.3. Installing Applications in WINE
          4. 5.5.2.4. Launching Applications
          5. 5.5.2.5. Tuning and Configuring WINE
          6. 5.5.2.6. Finding More Windows Applications for WINE
      6. 5.6. Running Applications in Virtual Environments
        1. 5.6.1. Running Applications Virtually with Xen
          1. 5.6.1.1. Before Installing Xen
          2. 5.6.1.2. Installing Xen
          3. 5.6.1.3. Installing a Guest Operating System
        2. 5.6.2. Running Applications Virtually with KVM and QEMU
      7. 5.7. Summary
    2. 6. Publishing with CentOS
      1. 6.1. Desktop Publishing in Linux
        1. 6.1.1. Using Text Editors and Notepads
        2. 6.1.2. Using Word Processors
          1. 6.1.2.1. Using OpenOffice.org
          2. 6.1.2.2. Other Word Processors
            1. 6.1.2.2.1. StarOffice
            2. 6.1.2.2.2. TextMaker
      2. 6.2. Using Traditional Linux Publishing Tools
        1. 6.2.1. Creating Documents in Groff or LaTeX
        2. 6.2.2. Text Processing with Groff
          1. 6.2.2.1. Formatting and Printing Documents with Groff
          2. 6.2.2.2. Creating a Man Page with Groff
        3. 6.2.3. Text Processing with TeX/LaTeX
          1. 6.2.3.1. Creating and Formatting a LaTeX Document
        4. 6.2.4. Converting Documents
        5. 6.2.5. Creating DocBook Documents
        6. 6.2.6. Understanding SGML and XML
          1. 6.2.6.1. Understanding DocBook
          2. 6.2.6.2. Creating DocBook Documents
          3. 6.2.6.3. Converting DocBook Documents
      3. 6.3. Displaying PDF Files with Evince
      4. 6.4. Doing Page Layout with Scribus
      5. 6.5. Working with Graphics
        1. 6.5.1. Manipulating Images with GIMP
        2. 6.5.2. Taking Screen Captures
        3. 6.5.3. Creating Vector Graphic Images with Inkscape
      6. 6.6. Using Scanners Driven by SANE
      7. 6.7. Web Publishing
      8. 6.8. Summary
    3. 7. Music, Video, and Images in Linux
      1. 7.1. Understanding Multimedia and Legal Issues in Linux
      2. 7.2. Extending Freedom to Codecs
      3. 7.3. Listening to Music in Linux
        1. 7.3.1. Configuring a Sound Card
          1. 7.3.1.1. Sound Card Features
          2. 7.3.1.2. Detecting Your Sound Card Driver
          3. 7.3.1.3. Adjusting Sound Levels
          4. 7.3.1.4. Setting Your Sound Card to Record
        2. 7.3.2. Choosing Audio Players
        3. 7.3.3. Automatically Playing CDs
        4. 7.3.4. Playing and Managing Music with Rhythmbox
        5. 7.3.5. Playing Music with XMMS Audio Player
          1. 7.3.5.1. Using the Equalizer
          2. 7.3.5.2. Using the Playlist Editor
        6. 7.3.6. Using ogg123, mpg321, and play Command-Line Players
        7. 7.3.7. Using MIDI Audio Players
        8. 7.3.8. Converting Audio Files with SoX
        9. 7.3.9. Extracting and Encoding Music
          1. 7.3.9.1. Extracting Music CDs with Sound Juicer
          2. 7.3.9.2. Extracting and Encoding Music CDs from Commands
        10. 7.3.10. Creating Your Own Music CDs
          1. 7.3.10.1. Creating Audio CDs with cdrecord
          2. 7.3.10.2. Creating Audio and Data CDs with K3b
            1. 7.3.10.2.1. Creating a New Audio CD
            2. 7.3.10.2.2. Copying a CD
            3. 7.3.10.2.3. Burning an ISO Image to CD
        11. 7.3.11. Creating CD Labels with cdlabelgen
      4. 7.4. Viewing TV and Webcams
        1. 7.4.1. Watching TV with Tvtime
          1. 7.4.1.1. Getting a Supported TV Card
          2. 7.4.1.2. Starting Tvtime
          3. 7.4.1.3. Selecting Channels in Tvtime
        2. 7.4.2. Videoconferencing and VOIP with Ekiga
          1. 7.4.2.1. Getting a Supported Webcam
          2. 7.4.2.2. Running Ekiga
      5. 7.5. Playing Video
        1. 7.5.1. Examining Laws Affecting Video and Linux
        2. 7.5.2. Understanding Video Content Types
        3. 7.5.3. Watching Video with Xine
          1. 7.5.3.1. Using Xine
          2. 7.5.3.2. Creating Playlists with Xine
          3. 7.5.3.3. Xine Tips
        4. 7.5.4. Using Totem Movie Player
      6. 7.6. Using a Digital Camera
        1. 7.6.1. Displaying Images in gThumb
        2. 7.6.2. Using Your Camera as a Storage Device
      7. 7.7. Summary
    4. 8. Using the Internet and the Web
      1. 8.1. Overview of Internet Applications and Commands
      2. 8.2. Browsing the Web
        1. 8.2.1. Understanding Web Browsing
          1. 8.2.1.1. Uniform Resource Locators
          2. 8.2.1.2. Web Pages
        2. 8.2.2. Browsing the Web with Firefox
        3. 8.2.3. Setting Up Firefox
          1. 8.2.3.1. Setting Navigator Preferences
          2. 8.2.3.2. Extending Firefox
            1. 8.2.3.2.1. Using Plug-Ins
            2. 8.2.3.2.2. Getting Add-Ons
          3. 8.2.3.3. Changing Firefox Themes
          4. 8.2.3.4. Securing Firefox
          5. 8.2.3.5. Tips for Using Firefox
        4. 8.2.4. Using Text-Based Web Browsers
      3. 8.3. Communicating with E-Mail
        1. 8.3.1. E-Mail Basics
        2. 8.3.2. Using Evolution E-Mail
          1. 8.3.2.1. Setting Evolution Preferences
          2. 8.3.2.2. Receiving, Composing, and Sending E-Mail
        3. 8.3.3. Thunderbird Mail Client
        4. 8.3.4. Text-Based Mail Programs
          1. 8.3.4.1. Mail Readers and Managers
            1. 8.3.4.1.1. Mutt Mail Reader
            2. 8.3.4.1.2. Alpine Mail Reader
            3. 8.3.4.1.3. Mail Reader
      4. 8.4. Participating in Newsgroups
      5. 8.5. Instant Messaging with Pidgin
      6. 8.6. Sharing Files with BitTorrent
      7. 8.7. Using Remote Login, Copy, and Execution
        1. 8.7.1. Using Telnet for Remote Login
        2. 8.7.2. Copying Files with FTP
          1. 8.7.2.1. Using the ftp Command
            1. 8.7.2.1.1. FTP Directory Commands
            2. 8.7.2.1.2. FTP File Copying Commands
            3. 8.7.2.1.3. FTP Exiting Commands
          2. 8.7.2.2. Using the lftp Command
          3. 8.7.2.3. Using the gFTP Window
        3. 8.7.3. Getting Files with wget
          1. 8.7.3.1. Downloading a Single File
          2. 8.7.3.2. Downloading a File with Username and Password
          3. 8.7.3.3. Downloading a Whole Web Site
          4. 8.7.3.4. Continuing a Download
        4. 8.7.4. Using ssh for Remote Login/Remote Execution
        5. 8.7.5. Using scp for Remote File Copy
        6. 8.7.6. Using the "r" Commands: rlogin, rcp, and rsh
      8. 8.8. Summary
  8. III. Administration
    1. 9. Understanding System Administration
      1. 9.1. Using the root User Account
      2. 9.2. Becoming the Super User (the su Command)
      3. 9.3. Learning about Administrative GUI Tools, Commands, Configuration Files, and Log Files
        1. 9.3.1. Using Graphical Administration Tools
          1. 9.3.1.1. Server Settings
          2. 9.3.1.2. System Tools
        2. 9.3.2. Administrative Commands
        3. 9.3.3. Administrative Configuration Files
        4. 9.3.4. Administrative Log Files
        5. 9.3.5. Using Other Administrative Logins
          1. 9.3.5.1. Understanding Administrative Logins
          2. 9.3.5.2. Using sudo for Assigning Administrative Privilege
      4. 9.4. Administering Your Linux System
      5. 9.5. Configuring Hardware
        1. 9.5.1. Checking Your Hardware
        2. 9.5.2. Managing Hardware with HAL
        3. 9.5.3. Reconfiguring Hardware with kudzu
        4. 9.5.4. Configuring Modules
          1. 9.5.4.1. Listing Loaded Modules
          2. 9.5.4.2. Loading Modules
          3. 9.5.4.3. Removing Modules
      6. 9.6. Managing File Systems and Disk Space
        1. 9.6.1. Mounting File Systems
          1. 9.6.1.1. Supported File Systems
          2. 9.6.1.2. Using the fstab File to Define Mountable File Systems
          3. 9.6.1.3. Using the mount Command to Mount File Systems
            1. 9.6.1.3.1. Mounting Removable Media
            2. 9.6.1.3.2. Mounting CD or DVD Images
          4. 9.6.1.4. Using the umount Command to Unmount a File System
        2. 9.6.2. Using the mkfs Command to Create a File System
        3. 9.6.3. Adding a Hard Disk
        4. 9.6.4. Using RAID Disks
        5. 9.6.5. Checking System Space
          1. 9.6.5.1. Checking Disk Space with Disk Usage Analyzer
          2. 9.6.5.2. Displaying System Space with df
          3. 9.6.5.3. Checking Disk Usage with du
          4. 9.6.5.4. Finding Disk Consumption with find
      7. 9.7. Monitoring System Performance
        1. 9.7.1. Watch Computer Usage with System Monitor
        2. 9.7.2. Monitoring CPU Usage with top
        3. 9.7.3. Monitoring Power Usage on Laptop Computers
          1. 9.7.3.1. Using acpi_listen to Monitor ACPI Events
      8. 9.8. Using Security Enhanced Linux
      9. 9.9. Understanding Security Enhanced Linux
        1. 9.9.1. Types and Roles in SELinux
        2. 9.9.2. Users in SELinux
        3. 9.9.3. Policies in SELinux
        4. 9.9.4. Tools in SELinux
      10. 9.10. Using SELinux in CentOS
        1. 9.10.1. SELinux
        2. 9.10.2. Checking Whether SELinux Is On
        3. 9.10.3. Checking SELinux Status
      11. 9.11. Summary
    2. 10. Setting up and Maintaining User Accounts
      1. 10.1. Creating User Accounts
        1. 10.1.1. Adding Users with useradd
        2. 10.1.2. Adding Users with User Manager
      2. 10.2. Setting User Defaults
        1. 10.2.1. Supplying Initial Login Scripts
        2. 10.2.2. Supplying Initial .bashrc and .bash_profile Files
        3. 10.2.3. Supplying an Initial .tcshrc File
        4. 10.2.4. Configuring System-Wide Shell Options
          1. 10.2.4.1. Configuring System-Wide Bash Options
          2. 10.2.4.2. Configuring System-Wide tcsh Options
        5. 10.2.5. Setting System Profiles
        6. 10.2.6. Adding User Accounts to Servers
      3. 10.3. Creating Portable Desktops
      4. 10.4. Providing Support to Users
        1. 10.4.1. Creating a Technical Support Mailbox
        2. 10.4.2. Resetting a User's Password
      5. 10.5. Modifying Accounts
        1. 10.5.1. Modifying User Accounts with usermod
        2. 10.5.2. Modifying User Accounts with User Manager
      6. 10.6. Deleting User Accounts
        1. 10.6.1. Deleting User Accounts with userdel
        2. 10.6.2. Deleting User Accounts with User Manager
      7. 10.7. Checking Disk Quotas
        1. 10.7.1. Using Quota to Check Disk Usage
          1. 10.7.1.1. Editing the /etc/fstab File
          2. 10.7.1.2. Creating Quota Files
          3. 10.7.1.3. Creating a Quota Start-Up Script
          4. 10.7.1.4. Turn on the Quota Start-up Script
          5. 10.7.1.5. Creating Quota Rules
          6. 10.7.1.6. Updating Quota Settings
          7. 10.7.1.7. Checking Quotas
        2. 10.7.2. Using du to Check Disk Use
        3. 10.7.3. Removing Temp Files Automatically
      8. 10.8. Sending Mail to All Users
      9. 10.9. Summary
    3. 11. Automating System Tasks
      1. 11.1. Understanding Shell Scripts
        1. 11.1.1. Executing and Debugging Shell Scripts
        2. 11.1.2. Understanding Shell Variables
          1. 11.1.2.1. Special Shell Variables
          2. 11.1.2.2. Parameter Expansion in Bash
        3. 11.1.3. Performing Arithmetic in Shell Scripts
        4. 11.1.4. Using Programming Constructs in Shell Scripts
          1. 11.1.4.1. The if . . . then Statements
          2. 11.1.4.2. The case Command
          3. 11.1.4.3. The for . . . do Loop
          4. 11.1.4.4. The while . . . do and until . . . do Loops
        5. 11.1.5. Some Useful External Programs
          1. 11.1.5.1. The General Regular Expression Parser (grep)
          2. 11.1.5.2. Extract Sections from Lines of Text (cut)
          3. 11.1.5.3. Translate or Delete Characters (tr)
          4. 11.1.5.4. The Stream Editor (sed)
        6. 11.1.6. Trying Some Simple Shell Scripts
          1. 11.1.6.1. A Simple Telephone List
          2. 11.1.6.2. A Simple Backup Script
      2. 11.2. System Initialization
        1. 11.2.1. Starting init
        2. 11.2.2. The inittab File
      3. 11.3. System Startup and Shutdown
        1. 11.3.1. Starting Run-Level Scripts
        2. 11.3.2. Understanding Run-Level Scripts
        3. 11.3.3. Understanding What Start-Up Scripts Do
        4. 11.3.4. Changing Run-Level Script Behavior
        5. 11.3.5. Reorganizing or Removing Run-Level Scripts
        6. 11.3.6. Adding Run-Level Scripts
        7. 11.3.7. Managing xinetd Services
        8. 11.3.8. Manipulating Run Levels
          1. 11.3.8.1. Determining the Current Run Level
          2. 11.3.8.2. Changing to a Shutdown Run Level
      4. 11.4. Scheduling System Tasks
        1. 11.4.1. Using at.allow and at.deny
        2. 11.4.2. Specifying When Jobs Are Run
        3. 11.4.3. Submitting Scheduled Jobs
        4. 11.4.4. Viewing Scheduled Jobs
        5. 11.4.5. Deleting Scheduled Jobs
        6. 11.4.6. Using the batch Command
        7. 11.4.7. Using the cron Facility
          1. 11.4.7.1. Modifying Scheduled Tasks with crontab
          2. 11.4.7.2. Understanding cron Files
      5. 11.5. Summary
    4. 12. Creating Backups and Restoring Data
      1. 12.1. Making a Simple Backup Archive
      2. 12.2. Doing a Simple Backup with rsync
        1. 12.2.1. Backing Up Files Locally
        2. 12.2.2. Backing Up Files Remotely
      3. 12.3. Choosing Backup Tools
      4. 12.4. Selecting a Backup Strategy
        1. 12.4.1. Full Backup
        2. 12.4.2. Incremental Backup
        3. 12.4.3. Disk Mirroring
        4. 12.4.4. Network Backup
      5. 12.5. Selecting a Backup Medium
        1. 12.5.1. Magnetic Tape
        2. 12.5.2. Writable CD Drives
          1. 12.5.2.1. Getting cdrecord for Writable CDs
          2. 12.5.2.2. Writing to CDs
        3. 12.5.3. Writable DVD Drives
        4. 12.5.4. Writing CDs or DVDs with growisofs
      6. 12.6. Backing Up to a Hard Drive
      7. 12.7. Backing Up Files with dump
        1. 12.7.1. Creating a Backup with dump
        2. 12.7.2. Understanding Dump Levels
      8. 12.8. Automating Backups with cron
      9. 12.9. Restoring Backed-Up Files
        1. 12.9.1. Restoring an Entire File System
        2. 12.9.2. Recovering Individual Files
      10. 12.10. Configuring Amanda for Network Backups
        1. 12.10.1. Creating Amanda Directories
        2. 12.10.2. Creating the amanda.conf file
        3. 12.10.3. Creating a disklist File
        4. 12.10.4. Adding Amanda Network Services
          1. 12.10.4.1. On the Amanda Server
          2. 12.10.4.2. On Each Amanda Client
        5. 12.10.5. Performing an Amanda Backup
      11. 12.11. Using the pax Archiving Tool
      12. 12.12. Summary
    5. 13. Security
      1. 13.1. Linux Security Checklist
      2. 13.2. Using Password Protection
        1. 13.2.1. Choosing Good Passwords
        2. 13.2.2. Using a Shadow Password File
          1. 13.2.2.1. Breaking Encrypted Passwords
          2. 13.2.2.2. Checking for the shadow Password File
      3. 13.3. Securing Linux with iptables Firewalls
        1. 13.3.1. Using the Security Level Configuration Window
        2. 13.3.2. Configuring an iptables Firewall
          1. 13.3.2.1. Turning on iptables
          2. 13.3.2.2. Creating iptables Firewall Rules
            1. 13.3.2.2.1. EXAMPLE 1: Firewall for Shared Internet Connection (Plus Servers)
            2. 13.3.2.2.2. EXAMPLE 2: Firewall for Shared Internet Connection (No Servers)
            3. 13.3.2.2.3. EXAMPLE 3: Firewall for Single Linux System with Internet Connection
          3. 13.3.2.3. Understanding iptables
            1. 13.3.2.3.1. Allowing FTP and IRC Services through an iptables Firewall
            2. 13.3.2.3.2. Using iptables to Do SNAT or IP Masquerading
            3. 13.3.2.3.3. Using iptables as a Transparent Proxy
            4. 13.3.2.3.4. Using iptables to Do Port Forwarding
            5. 13.3.2.3.5. Using Logging with IP Tables
          4. 13.3.2.4. Enhancing Your IP Tables Firewall
      4. 13.4. Controlling Access to Services with TCP Wrappers
      5. 13.5. Checking Log Files
        1. 13.5.1. Replacing the sysklogd Package
        2. 13.5.2. Understanding the rsyslogd Service
          1. 13.5.2.1. Re-Directing Logs to a loghost with rsyslogd
          2. 13.5.2.2. Understanding the Messages Log File
        3. 13.5.3. Tracking Log Messages with logwatch
      6. 13.6. Using the Secure Shell Package
        1. 13.6.1. Starting the SSH Service
        2. 13.6.2. Using the ssh, sftp, and scp commands
        3. 13.6.3. Using SSH, SCP, and SFTP without Passwords
      7. 13.7. Securing Linux Servers
        1. 13.7.1. Understanding Attack Techniques
        2. 13.7.2. Protecting against Denial-of-Service Attacks
          1. 13.7.2.1. Mailbombing
            1. 13.7.2.1.1. Blocking Mail with procmail
            2. 13.7.2.1.2. Blocking Mail with sendmail
          2. 13.7.2.2. Spam Relaying
          3. 13.7.2.3. Smurf Amplification Attack
        3. 13.7.3. Protecting against Distributed DOS Attacks
        4. 13.7.4. Protecting against Intrusion Attacks
          1. 13.7.4.1. Evaluating Access to Network Services
          2. 13.7.4.2. Disabling Network Services
        5. 13.7.5. Securing Servers with SELinux
        6. 13.7.6. Protecting Web Servers with Certificates and Encryption
          1. 13.7.6.1. Symmetric Cryptography
          2. 13.7.6.2. Public-Key Cryptography
          3. 13.7.6.3. Secure Sockets Layer
            1. 13.7.6.3.1. Creating SSL Certificates
            2. 13.7.6.3.2. Using Third-Party Certificate Signers
            3. 13.7.6.3.3. Creating a Certificate Service Request
            4. 13.7.6.3.4. Getting the CSR Signed
            5. 13.7.6.3.5. Creating Self-Signed Certificates
            6. 13.7.6.3.6. Restarting Your Web Server
            7. 13.7.6.3.7. Troubleshooting Your Certificates
      8. 13.8. Summary
  9. IV. Networking
    1. 14. Setting Up Network Connections and LANs
      1. 14.1. Connecting to the Network with NetworkManager
        1. 14.1.1. Connecting to a Wireless Network
        2. 14.1.2. Connecting to a Wired Network
        3. 14.1.3. Setting Up a Virtual Private Network Connection
      2. 14.2. Understanding Local Area Networks
        1. 14.2.1. Planning, Getting, and Setting Up LAN Hardware
          1. 14.2.1.1. LAN Topologies
          2. 14.2.1.2. LAN Equipment
          3. 14.2.1.3. LAN Equipment Setup
        2. 14.2.2. Configuring TCP/IP for Your LAN
          1. 14.2.2.1. Identifying Other Computers (Hosts and DNS)
      3. 14.3. Setting Up a Wireless LAN
        1. 14.3.1. Understanding Wireless Networks
        2. 14.3.2. Choosing Wireless Hardware
          1. 14.3.2.1. Selecting Antennas
            1. 14.3.2.1.1. Using Indoor Antennas
            2. 14.3.2.1.2. Using Outdoor Antennas
        3. 14.3.3. Getting Wireless Drivers
        4. 14.3.4. Installing Wireless Linux Software
        5. 14.3.5. Configuring the Wireless LAN
          1. 14.3.5.1. Configuring the Wireless Interface
          2. 14.3.5.2. Activating the Wireless Interfaces
          3. 14.3.5.3. Checking Your Wireless Connection
        6. 14.3.6. Testing Distances
        7. 14.3.7. Setting Wireless Extensions
      4. 14.4. Understanding Internet Protocol Addresses
        1. 14.4.1. IP Address Classes
        2. 14.4.2. Understanding Netmasks
        3. 14.4.3. Classless Inter-Domain Routing
        4. 14.4.4. Getting IP Addresses
      5. 14.5. Troubleshooting Your LAN
        1. 14.5.1. Did Linux Find Your Ethernet Driver at Boot Time?
        2. 14.5.2. Can You Reach Another Computer on the LAN?
        3. 14.5.3. Is Your Ethernet Connection Up?
        4. 14.5.4. Troubleshooting a Wireless LAN
          1. 14.5.4.1. Checking Wireless Settings
          2. 14.5.4.2. Checking TCP/IP
          3. 14.5.4.3. Adapting to Poor Reception
          4. 14.5.4.4. Use Debugging Tools
        5. 14.5.5. Watching LAN Traffic with Wireshark
          1. 14.5.5.1. Starting Wireshark
          2. 14.5.5.2. Capturing Ethernet Data
          3. 14.5.5.3. Interpreting Captured Ethernet Data
      6. 14.6. Summary
    2. 15. Setting Up an Internet Connection
      1. 15.1. Understanding How the Internet Is Structured
        1. 15.1.1. Internet Domains
        2. 15.1.2. Hostnames and IP Addresses
        3. 15.1.3. Routing
        4. 15.1.4. Proxies
      2. 15.2. Using Dial-Up Connections to the Internet
        1. 15.2.1. Getting Information
        2. 15.2.2. Setting Up Dial-Up PPP
        3. 15.2.3. Creating a Dial-Up Connection with the Network Configuration Window
        4. 15.2.4. Launching Your PPP Connection
        5. 15.2.5. Launching Your PPP Connection on Demand
        6. 15.2.6. Checking Your PPP Connection
          1. 15.2.6.1. Checking That Your Modem Was Detected
          2. 15.2.6.2. Checking That Your PPP Interface Is Working
          3. 15.2.6.3. Checking the Default Route
          4. 15.2.6.4. Checking That the Name Servers Are Set
          5. 15.2.6.5. Checking the CHAP-Secrets or PAP-Secrets File
          6. 15.2.6.6. Looking at the ifcfg File
          7. 15.2.6.7. Running Debugging
      3. 15.3. Connecting Your LAN to the Internet
      4. 15.4. Setting Up Linux as a Router
        1. 15.4.1. Configuring the Linux Router
          1. 15.4.1.1. Selecting IP Addresses
          2. 15.4.1.2. Enable Forwarding and Masquerading
        2. 15.4.2. Configuring Network Clients
      5. 15.5. Configuring a Virtual Private Network Connection
        1. 15.5.1. Understanding IPsec
        2. 15.5.2. Using IPsec Protocols
        3. 15.5.3. Using IPsec in CentOS
        4. 15.5.4. Configuring an OpenVPN Server
          1. 15.5.4.1. Decisions before Configuring OpenVPN
          2. 15.5.4.2. Create a Public Key Infrastructure
          3. 15.5.4.3. Create OpenVPN Server Configuration
          4. 15.5.4.4. Create OpenVPN Client Configuration
      6. 15.6. Setting Up Linux as a Proxy Server
        1. 15.6.1. Starting the Squid Daemon
        2. 15.6.2. Using a Simple squid.conf File
        3. 15.6.3. Modifying the Squid Configuration File
          1. 15.6.3.1. Configuring Access Control in squid.conf
          2. 15.6.3.2. Configuring Caching in squid.conf
          3. 15.6.3.3. Configuring Port Numbers in squid.conf
        4. 15.6.4. Debugging Squid
          1. 15.6.4.1. Checking the squid.conf File
          2. 15.6.4.2. Checking Squid Log Files
          3. 15.6.4.3. Using the top Command
      7. 15.7. Setting Up Proxy Clients
        1. 15.7.1. Configuring Firefox to Use a Proxy
        2. 15.7.2. Configuring Other Browsers to Use a Proxy
      8. 15.8. Summary
    3. 16. Setting Up Printers and Printing
      1. 16.1. Common UNIX Printing Service
      2. 16.2. Setting Up Printers
        1. 16.2.1. Using the Printer Configuration Window
          1. 16.2.1.1. Configuring Local Printers
            1. 16.2.1.1.1. Adding a Local Printer
            2. 16.2.1.1.2. Editing a Local Printer
          2. 16.2.1.2. Configuring Remote Printers
            1. 16.2.1.2.1. Adding a Remote CUPS Printer
            2. 16.2.1.2.2. Adding a Remote UNIX Printer
            3. 16.2.1.2.3. Adding a Windows (SMB) Printer
            4. 16.2.1.2.4. Adding a JetDirect Printer
        2. 16.2.2. Using Web-Based CUPS Administration
        3. 16.2.3. Configuring the CUPS Server (cupsd.conf)
        4. 16.2.4. Configuring CUPS Printer Options
      3. 16.3. Using Printing Commands
        1. 16.3.1. Using lpr to Print
        2. 16.3.2. Listing Status with lpc
        3. 16.3.3. Removing Print Jobs with lprm
      4. 16.4. Configuring Print Servers
        1. 16.4.1. Configuring a Shared CUPS Printer
        2. 16.4.2. Configuring a Shared Samba Printer
          1. 16.4.2.1. Understanding smb.conf for Printing
      5. 16.5. Summary
    4. 17. Setting Up a File Server
      1. 17.1. Goals of Setting Up a File Server
      2. 17.2. Setting Up an NFS File Server
        1. 17.2.1. Sharing NFS File Systems
          1. 17.2.1.1. Using the NFS Server Configuration Window
          2. 17.2.1.2. Configuring the /etc/exports File
            1. 17.2.1.2.1. Hostnames in /etc/exports
            2. 17.2.1.2.2. Access Options in /etc/exports
            3. 17.2.1.2.3. User Mapping Options in /etc/exports
          3. 17.2.1.3. Exporting the Shared File Systems
          4. 17.2.1.4. Starting the nfsd Daemons
        2. 17.2.2. Using NFS File Systems
          1. 17.2.2.1. Manually Mounting an NFS File System
          2. 17.2.2.2. Automatically Mounting an NFS File System
            1. 17.2.2.2.1. Mounting noauto File Systems
            2. 17.2.2.2.2. Using mount Options
          3. 17.2.2.3. Using autofs to Mount NFS File Systems on Demand
        3. 17.2.3. Unmounting NFS File Systems
        4. 17.2.4. Other Cool Things to Do with NFS
      3. 17.3. Setting Up a Samba File Server
        1. 17.3.1. Getting and Installing Samba
        2. 17.3.2. Configuring a Simple Samba Server
        3. 17.3.3. Configuring Samba with SWAT
          1. 17.3.3.1. Turning on SWAT
          2. 17.3.3.2. Starting with SWAT
          3. 17.3.3.3. Creating Global Samba Settings in SWAT
            1. 17.3.3.3.1. Base Options
            2. 17.3.3.3.2. Security Options
            3. 17.3.3.3.3. Logging Options
            4. 17.3.3.3.4. Printing Options
            5. 17.3.3.3.5. Browse Options
            6. 17.3.3.3.6. WINS Options
          4. 17.3.3.4. Configuring Shared Directories with SWAT
          5. 17.3.3.5. Checking Your Samba Setup with SWAT
        4. 17.3.4. Working with Samba Files and Commands
          1. 17.3.4.1. Editing the smb.conf File
          2. 17.3.4.2. Adding Samba Users
          3. 17.3.4.3. Starting the Samba Service
          4. 17.3.4.4. Testing Your Samba Permissions
          5. 17.3.4.5. Checking the Status of Shared Directories
        5. 17.3.5. Setting Up Samba Clients
          1. 17.3.5.1. Using Samba Shared Directories from Linux
            1. 17.3.5.1.1. Using Samba from Nautilus
            2. 17.3.5.1.2. Mounting Samba Directories in Linux
        6. 17.3.6. Troubleshooting Your Samba Server
          1. 17.3.6.1. Basic Networking in Place?
          2. 17.3.6.2. Samba Service Running?
          3. 17.3.6.3. Firewall Open?
          4. 17.3.6.4. User Passwords Working?
      4. 17.4. Summary
    5. 18. Setting Up a Mail Server
      1. 18.1. Introducing SMTP and Sendmail
      2. 18.2. Installing and Running Sendmail
        1. 18.2.1. Starting Sendmail
        2. 18.2.2. Other Programs
        3. 18.2.3. Logging Performed by Sendmail
      3. 18.3. Configuring Sendmail
        1. 18.3.1. Getting a Domain Name
        2. 18.3.2. Configuring Basic Sendmail Settings (sendmail.mc)
        3. 18.3.3. Defining Outgoing Mail Access
        4. 18.3.4. Configuring Virtual Servers
        5. 18.3.5. Configuring Virtual Users
        6. 18.3.6. Adding User Accounts
        7. 18.3.7. Starting Sendmail and Generating Database Files
        8. 18.3.8. Re-Directing Mail
          1. 18.3.8.1. The .forward File
          2. 18.3.8.2. The Aliases File
      4. 18.4. Introducing Postfix
      5. 18.5. Stopping Spam with SpamAssassin
        1. 18.5.1. Using SpamAssassin
        2. 18.5.2. Setting Up SpamAssassin on Your Mail Server
        3. 18.5.3. Setting E-Mail Readers to Filter Spam
      6. 18.6. Getting Mail from the Server (POP3 or IMAPv4)
        1. 18.6.1. Accessing Mailboxes in Linux
        2. 18.6.2. Configuring IMAPv4 and POP3 with Dovecot
      7. 18.7. Getting Mail from Your Browser with SquirrelMail
      8. 18.8. Administering a Mailing List with Mailman
      9. 18.9. Summary
    6. 19. Setting Up an FTP Server
      1. 19.1. Understanding FTP Servers
        1. 19.1.1. Attributes of FTP Servers
        2. 19.1.2. FTP User Types
      2. 19.2. Using the Very Secure FTP Server
        1. 19.2.1. Quick-Starting vsFTPd
        2. 19.2.2. Configuring vsFTPd
          1. 19.2.2.1. User Accounts
          2. 19.2.2.2. Setting FTP Access
            1. 19.2.2.2.1. Downloading Files
            2. 19.2.2.2.2. Uploading (Writing) Files from Local Users
            3. 19.2.2.2.3. Uploading (Writing) Files from Anonymous Users
          3. 19.2.2.3. Adding Message Files
          4. 19.2.2.4. Logging vsFTPd Activities
          5. 19.2.2.5. Setting Time-Outs
          6. 19.2.2.6. Navigating a vsFTPd Site
          7. 19.2.2.7. Setting Up vsFTPd behind a Firewall
      3. 19.3. Getting More Information about FTP Servers
      4. 19.4. Summary
    7. 20. Setting Up a Web Server
      1. 20.1. Introduction to Web Servers
        1. 20.1.1. The Apache Web Server
        2. 20.1.2. Other Web Servers Available for CentOS
      2. 20.2. Quick-Starting the Apache Web Server
      3. 20.3. Configuring the Apache Server
        1. 20.3.1. Configuring the Web Server (httpd.conf)
          1. 20.3.1.1. Setting the Global Environment
            1. 20.3.1.1.1. Revealing Subcomponents
            2. 20.3.1.1.2. Setting the Server Root Directory
            3. 20.3.1.1.3. Storing the Server's PID File
            4. 20.3.1.1.4. Configuring Time-Out Values
          2. 20.3.1.2. Setting the Number of Server Processes
          3. 20.3.1.3. Binding to Specific Addresses
          4. 20.3.1.4. Selecting Modules in httpd.conf
          5. 20.3.1.5. Including Module-Specific Configuration Files
          6. 20.3.1.6. Choosing the Server's User and Group
          7. 20.3.1.7. Setting the Main Server's Configuration
            1. 20.3.1.7.1. Setting an E-Mail Address
            2. 20.3.1.7.2. Setting the Server Name
            3. 20.3.1.7.3. Setting Canonical Names
            4. 20.3.1.7.4. Identifying HTTP Content Directories
            5. 20.3.1.7.5. Setting Access Options and Overrides
          8. 20.3.1.8. Identifying User Directories
          9. 20.3.1.9. Setting Default Index Files for Directories
            1. 20.3.1.9.1. Setting Directory-Access Control
            2. 20.3.1.9.2. Setting MIME-Type Defaults
            3. 20.3.1.9.3. Setting Hostname Lookups
            4. 20.3.1.9.4. Configuring HTTP Logging
            5. 20.3.1.9.5. Adding a Signature
            6. 20.3.1.9.6. Aliasing Relocated Content
            7. 20.3.1.9.7. Redirecting Requests for Old Content
          10. 20.3.1.10. Defining Indexing
          11. 20.3.1.11. Defining Encoding and Language
          12. 20.3.1.12. Adding MIME Types and Handlers
          13. 20.3.1.13. Defining Actions and Headers
          14. 20.3.1.14. Customizing Error Responses
          15. 20.3.1.15. Setting Responses to Browsers
          16. 20.3.1.16. Enabling Proxy and Caching Services
          17. 20.3.1.17. Configuring Virtual Hosting
        2. 20.3.2. Configuring Modules and Related Services (/etc/httpd/conf.d/*.conf)
      4. 20.4. Starting and Stopping the Server
      5. 20.5. Monitoring Server Activities
        1. 20.5.1. Displaying Server Information
        2. 20.5.2. Displaying Server Status
        3. 20.5.3. Further Security of Server-Info and Server-Status
        4. 20.5.4. Logging Errors
        5. 20.5.5. Logging Hits
        6. 20.5.6. Analyzing Web-Server Traffic
      6. 20.6. Summary
    8. 21. Setting Up an LDAP Address Book Server
      1. 21.1. Understanding LDAP
        1. 21.1.1. Defining Information in Schemas
        2. 21.1.2. Structuring Your LDAP Directories
      2. 21.2. Setting Up the OpenLDAP Server
        1. 21.2.1. Installing OpenLDAP Packages
        2. 21.2.2. Configuring the OpenLDAP Server (slapd.conf)
        3. 21.2.3. Starting the OpenLDAP Service
      3. 21.3. Setting Up the Address Book
      4. 21.4. More Ways to Configure LDAP
      5. 21.5. Accessing an LDAP Address Book from Thunderbird
      6. 21.6. Summary
    9. 22. Setting Up a DHCP Boot Server
      1. 22.1. Using the Dynamic Host Configuration Protocol
      2. 22.2. Setting Up a DHCP Server
        1. 22.2.1. Opening Your Firewall and SELinux for DHCP
        2. 22.2.2. Configuring the /etc/dhcpd.conf File
          1. 22.2.2.1. Expanding the dhcpd.conf File
          2. 22.2.2.2. Adding Options
        3. 22.2.3. Starting the DHCP Server
      3. 22.3. Setting Up a DHCP Client
      4. 22.4. Summary
    10. 23. Setting Up a MySQL Database Server
      1. 23.1. Finding MySQL Packages
      2. 23.2. Configuring the MySQL Server
        1. 23.2.1. Using MySQL User/Group Accounts
        2. 23.2.2. Adding Administrative Users
        3. 23.2.3. Setting MySQL Options
          1. 23.2.3.1. Creating the my.cnf Configuration File
          2. 23.2.3.2. Choosing Options
          3. 23.2.3.3. Checking Options
        4. 23.2.4. Using Sample my.cnf Files
      3. 23.3. Starting the MySQL Server
      4. 23.4. Checking That MySQL Server Is Working
      5. 23.5. Working with MySQL Databases
        1. 23.5.1. Starting the mysql Command
        2. 23.5.2. Creating a Database with MySQL
        3. 23.5.3. Adding Data to a MySQL Database Table
          1. 23.5.3.1. Manually Entering Data
          2. 23.5.3.2. Loading Data from a File
      6. 23.6. Understanding MySQL Tables
      7. 23.7. Displaying MySQL Databases
        1. 23.7.1. Displaying All or Selected Records
        2. 23.7.2. Displaying Selected Columns
        3. 23.7.3. Sorting Data
      8. 23.8. Making Changes to Tables and Records
        1. 23.8.1. Altering the Structure of MySQL Tables
        2. 23.8.2. Updating and Deleting MySQL Records
      9. 23.9. Adding and Removing User Access
        1. 23.9.1. Adding Users and Granting Access
        2. 23.9.2. Revoking Access
      10. 23.10. Backing Up Databases
      11. 23.11. Checking and Fixing Databases
      12. 23.12. Summary
    11. 24. Making Servers Public with DNS
      1. 24.1. Determining Goals for Your Server
        1. 24.1.1. Using a Hosting Service
      2. 24.2. Connecting a Public Server
        1. 24.2.1. Choosing an ISP
          1. 24.2.1.1. Checking Terms of Service
          2. 24.2.1.2. Getting Static IP Addresses
          3. 24.2.1.3. Choosing a Connection Speed
        2. 24.2.2. Getting a Domain Name
          1. 24.2.2.1. Checking Domain Name Availability
          2. 24.2.2.2. Reserving a Domain Name
      3. 24.3. Configuring Your Public Server
        1. 24.3.1. Configuring Networking
        2. 24.3.2. Configuring Servers
        3. 24.3.3. Managing Security
          1. 24.3.3.1. Opening Your Firewall
          2. 24.3.3.2. Enabling SELinux
          3. 24.3.3.3. Checking Logs and System Files
          4. 24.3.3.4. Keeping Up with Updates
      4. 24.4. Setting Up a Domain Name System Server
        1. 24.4.1. Understanding DNS
          1. 24.4.1.1. Understanding Authoritative Zones
          2. 24.4.1.2. Understanding DNS Risks
          3. 24.4.1.3. Understanding BIND
        2. 24.4.2. DNS Name Server Example
        3. 24.4.3. Quick-Starting a DNS Server
          1. 24.4.3.1. Identifying Your DNS Servers
          2. 24.4.3.2. Creating DNS Configuration Files (named.conf and var/named)
            1. 24.4.3.2.1. Editing named.conf
            2. 24.4.3.2.2. Setting Up the Zone Files (Inside)
            3. 24.4.3.2.3. Setting Up the Zone Files (Outside)
            4. 24.4.3.2.4. Setting Up the Zone Files (Reverse Lookup)
          3. 24.4.3.3. Starting the named (DNS) Daemon
        4. 24.4.4. Checking That DNS Is Working
      5. 24.5. Getting More Information about BIND
      6. 24.6. Summary
  10. A. About the Media
    1. A.1. System Requirements
      1. A.1.1.
        1. A.1.1.1. For Linux or Windows Systems
    2. A.2. Using the Installation DVD
    3. A.3. Using the CentOS Live CD
    4. A.4. What's on the Media
      1. A.4.1. Operating System and Applications
    5. A.5. Source Code
    6. A.6. Troubleshooting
      1. A.6.1. Customer Care