FreeBSD6 Unleashed

book cover
FreeBSD®6 Unleashed
By Brian Tiemann
Publisher: Sams
Pub Date: June 15, 2006
Print ISBN-10: 0-672-32875-5
Print ISBN-13: 978-0-672-32875-6
Pages: 912

Table of Contents  | Index

FreeBSD is extremely robust and powers some of the largest internet sites in world including Yahoo!. FreeBSD 6 Unleashed provides complete coverage of everything you need to know to use FreeBSD to its full potential, including coverage of FreeBSD 6.0. This edition includes updated coverage of Apache, MySQL and Sendmail, as well as added coverage of PowerPC support for Macintosh G3 and G4 platforms. This is the most up to date, comprehensive reference on the market covering FreeBSD 6.0.

book cover
FreeBSD®6 Unleashed
By Brian Tiemann
Publisher: Sams
Pub Date: June 15, 2006
Print ISBN-10: 0-672-32875-5
Print ISBN-13: 978-0-672-32875-6
Pages: 912

Table of Contents  | Index

   About the Author
   We Want to Hear from You!
   Reader Services
    Part I:  Introduction to FreeBSD
      Chapter 1.  What Is FreeBSD?
      Why Use FreeBSD?
      What Can You Do with FreeBSD?
      FreeBSD: It's Not Just for Servers Anymore
      A Brief History of FreeBSD and UNIX
      The Design Philosophy of UNIX
      How FreeBSD Compares to Other Operating Systems
      "Beastie," the FreeBSD Mascot
      Chapter 2.  Installing FreeBSD
      Checking Your Hardware
      Creating Installation Floppies
      Booting into the Install Program
      Navigating the Sysinstall Program
      Creating Partitions and Assigning Mount Points
      Selecting a Canned Distribution Set
      Choosing the Installation Media
      Post-installation Configuration and Customization
      Exiting the Sysinstall Program and Rebooting the System
      Booting FreeBSD for the First Time
      Setting Up the X Window System (X11)
      Shutting Down FreeBSD
      Chapter 3.  Advanced Installation Tasks
      Backing Up an Existing Windows or Linux Filesystem
      Nondestructive Hard Disk Partitioning with FIPS
      Working with FIPS
      Potential Problems with and Limitations of Dual-Boot Systems
      The FreeBSD Boot Manager
      Alternative Installation Methods
    Part II:  FreeBSD on the Desktop
      Chapter 4.  Booting and Shutting Down FreeBSD
      The FreeBSD Startup Process
      Logging In to FreeBSD
      Logging Out of FreeBSD
      Shutting Down the FreeBSD System
      Chapter 5.  Working with the X Window System
      Introduction to X11
      The X Server
      Window Managers
      KDE and GNOME
      Working with Window Managers
      The Window Maker Window Manager
      Chapter 6.  Working with Applications
      Running GUI and CLI Applications
      Working with Text
      Office Applications
      Creating and Editing Images with GIMP
      Audio Applications
      Networking Applications
      Working with Java Applications
      Chapter 7.  Advanced X11 Configuration
      Configuring X11 with the xorgconfig Script
      Understanding the xorg.conf File
      Testing the X11 Setup
      Your Personal .xinitrc File
      Working with Fonts
      Using Remote X11 Clients
      Using the XDM Graphical Login Manager
    Part III:  FreeBSD on the Command Line
      Chapter 8.  Working with the Shell
      Introducing the Shell
      Choosing a Shell for FreeBSD
      Changing Your Shell
      Getting Help in the Shell
      Basic Shell File Manipulation
      Text-Related Commands
      Pipes and Input/Output Redirection
      Command Completion and History Editing
      Chapter 9.  Customizing the Shell
      Adding Shells to the System and Making Them Available
      Using Alternative Shells
      Shell Initialization Files
      Customizing Your Shell Environment
      Shell and Environment Variables
      Chapter 10.  Shell Programming
      Why Shell Programming Matters to You
      A Simple Shell Program
      Interacting with the User
      Arithmetic in Shell Programs
      Conditional Statements
      Exit Status
      Debugging Shell Scripts
      Advanced Features of Korn Shell Scripting
      Chapter 11.  Introduction to Perl Programming
      Perl in FreeBSD
      Fundamentals of Perl Scripting
      A Simple Perl Script
      Advanced Perl Techniques
      Useful Perl Resources
    Part IV:  System Administration
      Chapter 12.  The FreeBSD Filesystem
      The FreeBSD Directory Structure
      Monitoring Filesystem Usage
      Mounting and Unmounting FreeBSD Filesystems
      Mounting and Unmounting Filesystems from Other Operating Systems
      Mounting and Unmounting CD-ROM and Floppy-Based Filesystems
      Understanding the /etc/fstab File
      Checking and Repairing Filesystems with fsck
      Setting and Enforcing Disk Usage Quotas
      Blocks, Files, and Inodes
      Chapter 13.  Users, Groups, and Permissions
      Introduction to Users and Groups
      Why Use Groups?
      File Ownership
      File and Directory Permissions
      Access Control Lists (ACLs)
      Adding and Removing Users
      User Management Using NIS
      Chapter 14.  System Configuration and Startup Scripts
      Understanding the FreeBSD Startup Process
      Resource Configuration Scripts
      The inetd Daemon and the inetd.conf Configuration File
      The System Logger (syslogd) and the syslog.conf File
      Notes on the /etc/rc.local File
      Chapter 15.  Performance Monitoring, Process Control, and Job Automation
      Performance Monitoring with top
      Process Monitoring with ps
      Terminating Misbehaving Processes
      Making Processes "Nice"
      Automating Processes with the cron Scheduler Daemon
      Creating Jobs to Run One Scheduled Time with the at Command
      Controlling Access to the cron and at Commands
      Using the Periodic Task Scheduler
      Chapter 16.  Installing Additional Software
      Introduction to Packages
      Installing Packages
      Removing and Updating Packages
      Introduction to Ports
      Installing and Removing Ports
      Updating and Maintaining Your Ports
      Upgrading a Port
      Fresh Ports
      Chapter 17.  Printing
      How lpd, the Print Spooler, and the Print Queue Function in FreeBSD
      Kernel, Device, and Communications Mode Configuration
      Creating the Spool Directory and Setting Its Permissions
      Setting Up Text and Conversion Filters
      Configuring /etc/printcap to Control Print System Functions
      Enabling lpd for Command-Line Printing
      Basic Command-Line Printing
      Printing from X11 Applications
      Using the lpq Command to Check the Status of Print Jobs
      Removing Jobs from the Queue with the lprm Command
      Controlling Printers
      Basic Network Printing
      Next-Generation Printing with CUPS
      Chapter 18.  Kernel Configuration
      The Role of the Kernel
      Kernel Modules
      Why Configure a Custom Kernel?
      The Kernel Configuration Files
      Creating a Custom Kernel Configuration File
      Compiling and Installing the Custom Kernel
      Adding Device Nodes to the /dev Directory
      Recovering When Something Goes Wrong
      Chapter 19.  Keeping Up to Date with FreeBSD
      Tracking the FreeBSD Sources
      Upgrading with make world
      Things to Consider Before Choosing a make world Upgrade
      Premake world Tasks
      Rebuilding Your System from Sources
      Using mergemaster to Check for Changed Configuration Files
      Rebooting After the Upgrade
      Chapter 20.  Adding Hard Disk Storage
      IDE/ATA Access Modes
      SCSI Disks
      Understanding Hard Disk Geometry
      Partitioning a Hard Disk
      Creating the Disk Labels
      Making the Filesystem Available for Use
      Enhancing Disk Performance Using RAID and Vinum
      Chapter 21.  FreeBSD Survival Guide
      Migrating to FreeBSD
      Do's and Don'ts (Common Gotchas)
      Performance Tuning
      Preparing for the Worst: Backups and Mirrors
    Part V:  FreeBSD Networking
      Chapter 22.  Principles of TCP/IP Networking
      Introduction to Networking
      Network Topologies
      Network Components
      Wireless Routers
      Network Protocols
      IP Addresses
      Hostnames and Domain Names
      The Dynamic Host Configuration Protocol (DHCP) and Automatic IP Addressing
      Chapter 23.  Configuring Basic Networking Services
      Configuring the Network Card
      Configuring Network Settings with Sysinstall
      Configuring Network Settings Without Sysinstall
      Creating IP Aliases
      Mapping Names to IP Addresses with the /etc/hosts File
      Testing Network Connectivity with ping
      Configuring DNS with the /etc/resolv.conf File
      A Look at Other Network Configuration Files
      Chapter 24.  Networking with PPP and 802.11
      Dialing Up with PPP
      PPP Over Ethernet (PPPoE)
      Troubleshooting PPP
      Connecting to a Wireless (802.11) Network
      Chapter 25.  Configuring Email Services
      Introduction to SMTP
      Mail Transfer Agents (MTAs) and Mail User Agents (MUAs)
      Configuring Basic Email Services with Sendmail
      Understanding Relaying
      Introduction to POP3
      Configuring a POP3 Server with Qpopper
      Configuring an IMAP Server with IMAP-UW
      Email for Standalone Workstations
      Filtering Junk Mail with Procmail and SpamAssassin
      A Look at Some Sendmail Replacements
      Chapter 26.  Configuring a Web Server
      Introduction to the HTTP Protocol
      Obtaining and Installing Apache
      Apache File Layout
      Configuring Apache
      Starting and Stopping the HTTP Daemon
      Basic Access Control with Apache
      Virtual Hosting
      Introduction to Apache Modules
      Server-Side Includes
      Introduction to CGI
      Chapter 27.  Configuring an FTP Server
      Introduction to the File Transfer Protocol
      File Layouts of Authenticated and Anonymous FTP
      Configuring the FTP Server
      Controlling FTP Access
      Allowing Anonymous FTP Access
      Virtual Hosting
      Using Alternative FTP Servers
      Chapter 28.  Configuring an Internet Gateway
      The Basics of Routers and Network Address Translation (NAT)
      Configuring a NAT Gateway in FreeBSD
      Enabling NAT for Systems Without Static IP Addresses
      Configuring Clients to Use the New Gateway
      Configuring a Wireless Internet Access Point
      Routing Between Three or More Networks
      Dynamic Routing
      Chapter 29.  Configuring a Database Server
      Introduction to Database Design and Administration
      SQL: Structured Query Language
      Using the MySQL and PostgreSQL Open-Source Databases
      Constructing a Database System
      Writing Administration Scripts
      Connecting a Database to the Web
      Using PHP to Provide Database-Driven Content to Web Pages
      Optimizing Database Performance
      Performing Database System Backups
      Chapter 30.  Network Security
      Choosing a Security Model Based on Your Security Risks
      Security Models
      The Security Risks You Face
      Password Policies
      Avoiding Problems with Clear-Text Services
      Securing Terminal Traffic (SSH)
      Securing Email Services (POP3 and IMAP)
      Securing FTP
      Securing Apache
      System Security Profiles and Kernel Security (Securelevels)
      Using a Firewall
      Preventing Intrusions and Compromises
      Denial of Service (DOS) Attacks
      Physical Security
      Other Security Resources
      Chapter 31.  Virtual Private Networks (VPNs)
      What Is a VPN?
      VPN Topologies
      VPN Services in FreeBSD: IPSec
      FreeBSD as a VPN Server
      Chapter 32.  The Domain Name Server
      Introduction to DNS Structure, Functions, and Software
      Enabling the Name Server Daemon
      Running BIND in a Sandbox
      Working with the BIND Configuration File (named.conf)
      Creating a Zone File
      Configuring a Caching Name Server
      Chapter 33.  The Network Filesystem (NFS)
      Introduction to NFS
      Configuring an NFS Server
      Configuring an NFS Client
      Auto-Mount Daemon (amd)
      Chapter 34.  File and Print Sharing with Microsoft Windows
      SMB/CIFS and Samba
      Installing and Configuring Samba
      Other Samba Components
      Accessing Shared Files on a Windows System (the smbfs Filesystem)
      Chapter 35.  Dynamic Host Configuration Protocol (DHCP)
      How DHCP Works
      Enabling DHCP
      The dhclient Program
      Running a DHCP Server
    Part VI:  Appendixes
      Appendix A.  Command Reference and Configuration File Reference
      Command Options
      File- and Directory-Manipulation Commands
      User and Permissions Management Commands
      Common Shell Commands
      System Utilities and Maintenance-Related Commands
      Printer-Related Commands
      Software Installation and Removal Commands
      Common Configuration Files
      Appendix B.  Hardware Compatibility Lists
      System Requirements
      Supported Hardware
      Video Cards Supported by X11
      Appendix C.  Troubleshooting Installation and Boot Problems
      Installation Problems
      Boot Problems and Other Non-installation Problems
      Appendix D.  Sources for More Information
      FreeBSD-Specific Resources
      Other BSD-Related Resources
      Other Internet Resources