The book you need to succeed!

sealuncheonServers

Dec 9, 2013 (3 years and 6 months ago)

149 views

Timothy Boronczyk and Christopher Negus
Foreword by Karanbir Singh, Core Developer on the CentOS Project
Boronczyk
Negus
The book you need to succeed!
The first comprehensive guide
to CentOS
CentOS is a popular Linux distribution that is created
from freely available enterprise-quality source code.
Using CentOS can help you acquire the skills you need
to become anything from a skilled Linux user to a
professional Linux system administrator. With this
thorough, step-by-step guide, you’ll not only learn how
to install, configure, secure, and run CentOS, but also
how to launch multimedia, add third-party software,
use virtualization, set up networks, and more.
• Install CentOS with anaconda and start configuration
• Master Linux
®
shell commands and file systems
• Learn your way around the GNOME
®
and KDE
®
desktop environments
• Add or update software packages with RPM tools, yum, or PackageKit
• Connect to the Internet and set up wired, wireless, and virtual networks
• Configure print, file, mail, FTP, MySQL
®
database, Web, and other servers
• Put CentOS to work as a router or firewall and protect your system
Includes DVD with CentOS 5.3
CentOS
Shelving Category:
COMPUTERS / Operating Systems /
Linux
Reader Level:
Beginning to Advanced
$54.99
USA
$65.99
Canada
Set up CentOS for your
home or business
Build enterprise-quality
Linux
®
servers
Configure full-featured
Linux desktop systems
www.wiley.com/compbooks
CentOS
DVD Included!
• Full version of CentOS 5.3
Reviewed for technical accuracy by a key member of the CentOS development team!
What’s on the
DVD?
Find a full version of CentOS 5.3,
install it today, and start using
CentOS.
System Requirements: See the DVD appendix
for details and complete system requirements.
Timothy
Boronczyk
is a professional software developer
by day, and a freelance programmer
and author by night.
Christopher Negus
is the author of the bestselling
Red Hat Linux Bible, Linux Toys,
and Linux Toolbox series. He is
an instructor for Red Hat, Inc.,
training students for RHCT and
RHCE certification.
CentOS Bible
CentOS Bible
Timothy Boronczyk
Christopher Negus
Wiley Publishing,Inc.
CentOS Bible
Published by
Wiley Publishing,Inc.
10475 Crosspoint Boulevard
Indianapolis,IN 46256
www.wiley.com
Copyright © 2009 by Wiley Publishing,Inc.,Indianapolis,Indiana
Published simultaneously in Canada
ISBN:978-0-470-48165-3
Manufactured in the United States of America
10 9 8 7 6 5 4 3 2 1
No part of this publication may be reproduced,stored in a retrieval system or transmitted in any form or
by any means,electronic,mechanical,photocopying,recording,scanning or otherwise,except as permitted
under Sections 107 or 108 of the 1976 United States Copyright Act,without either the prior written per-
mission of the Publisher,or authorization through payment of the appropriate per-copy fee to the Copy-
right Clearance Center,222 Rosewood Drive,Danvers,MA 01923,(978) 750-8400,fax (978) 646-8600.
Requests to the Publisher for permission should be addressed to the Permissions Department,John Wiley
& Sons,Inc.,111 River Street,Hoboken,NJ 07030,(201) 748-6011,fax (201) 748-6008,or online at
http://www.wiley.com/go/permissions.
Limit of Liability/Disclaimer of Warranty:The publisher and the author make no representations or
warranties with respect to the accuracy or completeness of the contents of this work and specifically dis-
claim all warranties,including without limitation warranties of fitness for a particular purpose.No war-
ranty may be created or extended by sales or promotional materials.The advice and strategies contained
herein may not be suitable for every situation.This work is sold with the understanding that the pub-
lisher is not engaged in rendering legal,accounting,or other professional services.If professional assis-
tance is required,the services of a competent professional person should be sought.Neither the publisher
nor the author shall be liable for damages arising herefrom.The fact that an organization or Web site is
referred to in this work as a citation and/or a potential source of further information does not mean that
the author or the publisher endorses the information the organization or Web site may provide or recom-
mendations it may make.Further,readers should be aware that Internet Web sites listed in this work may
have changed or disappeared between when this work was written and when it is read.
For general information on our other products and services please contact our Customer Care Department
within the United States at (877) 762-2974,outside the United States at (317) 572-3993 or fax (317)
572-4002.
Wiley also publishes its books in a variety of electronic formats.Some content that appears in print may
not be available in electronic books.
Library of Congress Control Number:2009926357
Trademarks:Wiley and the Wiley logo are trademarks or registered trademarks of John Wiley & Sons,
Inc.and/or its affiliates,in the United States and other countries,and may not be used without written
permission.All other trademarks are the property of their respective owners.Wiley Publishing,Inc.is not
associated with any product or vendor mentioned in this book.
About the Authors
Timothy Boronczyk is a native of Syracuse,NY,where he works as a software developer by
day and a freelance developer,writer,and technical editor by night.He has been involved in
web design since 1998,with Linux since 2001,and over the years has written several articles
and tutorials.Timothy holds a degree in software application programming.In his spare time,
he enjoys photography,hanging out with his friends,and sleeping with his feet hanging off the
end of his bed.He’s easily distracted by shiny objects.
Christopher Negus is the author of the best-selling Red Hat Linux Bible series,as well as
the author of Linux Toys,Linux Toolbox series,Linux Troubleshooting Bible,Linux Bible 2009
edition,and dozens of other UNIX and Linux books.Chris is a Red Hat Certified Engineer
(RHCE,cert#805008815534875),instructor (RHCI),and examiner (RHCX).Since 2008,Chris
has been employed by Red Hat,Inc.as an instructor,teaching RHCE-track courses.Earlier in
his career,Chris worked for eight years on development teams for the UNIX operating system at
AT&T,where UNIX was created and developed.
About the Technical Editor
Ralph Angenendt has been working as a system and network administrator since 1998.After
being introduced to Linux in 1995,Ralph’s interest in non-UNIX-like operating systems has
dropped dramatically,so his work environment mostly consists of Linux servers.
Besides having a sweet tooth for domesticating wild mail servers,Ralph also has a strong interest
in automated system administration.Because of that he set up cfengine at his current employer
to ease the pain of administrating a growing site.
Since 2006,Ralph has been a member of the CentOS development team,where he leads the
documentation force and does some infrastructure management.He might be met at a few Open
Source conventions in Europe,largely Germany and the Benelux countries.
Credits
Acquisitions Editor
Jenny Watson
Development Editor
Tom Dinse
Technical Editor
Ralph Angenendt
Production Editor
Daniel Scribner
Copy Editor
Cate Caffrey
Editorial Manager
Mary Beth Wakefield
Production Manager
Tim Tate
Vice President and Executive Group
Publisher
Richard Swadley
Vice President and Executive
Publisher
Barry Pruett
Associate Publisher
Jim Minatel
Project Coordinator,Cover
Lynsey Stanford
Proofreader
Jen Larsen,Word One
Indexer
Ron Strauss
Cover Image
Joyce Haughey
Cover Designer
Michael E.Trent
Introduction...................................................................................................................................xxv
Part I Getting Started
Chapter 1:An Overview of CentOS.................................................................................................3
Chapter 2:Installing CentOS..........................................................................................................15
Chapter 3:Getting Started with the Desktop.................................................................................69
Chapter 4:Using Linux Commands.............................................................................................119
Part II Using CentOS
Chapter 5:Accessing and Running Applications.........................................................................165
Chapter 6:Publishing with CentOS.............................................................................................221
Chapter 7:Music,Video,and Images in Linux...........................................................................249
Chapter 8:Using the Internet and the Web................................................................................297
Part III Adminstration
Chapter 9:Understanding System Administration.......................................................................345
Chapter 10:Setting up and Maintaining User Accounts.............................................................395
Chapter 11:Automating System Tasks.........................................................................................427
Chapter 12:Creating Backups and Restoring Data......................................................................467
Chapter 13:Security.....................................................................................................................505
Part IV Networking
Chapter 14:Setting Up Network Connections and LANs...........................................................561
Chapter 15:Setting Up an Internet Connection..........................................................................611
Chapter 16:Setting Up Printers and Printing..............................................................................657
Chapter 17:Setting Up a File Server............................................................................................679
Chapter 18:Setting Up a Mail Server...........................................................................................719
Chapter 19:Setting Up an FTP Server.........................................................................................751
Chapter 20:Setting Up a Web Server..........................................................................................763
Chapter 21:Setting Up an LDAP Address Book Server...............................................................815
Chapter 22:Setting Up a DHCP Boot Server...............................................................................833
Chapter 23:Setting Up a MySQL Database Server......................................................................845
Chapter 24:Making Servers Public with DNS.............................................................................879
Appendix A:About the Media......................................................................................................907
Index..............................................................................................................................................911
ix
Introduction...............................xxv
Part I Getting Started
Chapter 1:An Overview of CentOS.....................3
What You Get with CentOS.........................................................................................5
Stepping Stone to Red Hat Enterprise Linux...............................................................6
What Is Linux?......................................................................................................................7
Linux’s Roots in UNIX.........................................................................................................7
Common Linux Features...................................................................................................10
Primary Advantages of Linux...........................................................................................11
Going Forward with CentOS............................................................................................12
Help from the CentOS Project....................................................................................12
Training and Certification...........................................................................................13
Documentation............................................................................................................13
Summary..............................................................................................................................14
Chapter 2:Installing CentOS........................15
Using the CentOS Live CD................................................................................................16
Quick Installation..............................................................................................................17
Detailed Installation Instructions...................................................................................18
Installing CentOS 5.....................................................................................................19
Choosing Computer Hardware...................................................................................21
Preparing for Installation Using the Live CD.............................................................22
Beginning the Installation...........................................................................................25
Running CentOS Firstboot..........................................................................................32
Going Forward after Installation.................................................................................34
Special Installation Procedures.......................................................................................35
Alternatives for Starting Installation...........................................................................35
Installing from Other Media.......................................................................................37
Starting a VNC Install.................................................................................................40
Performing a Kickstart Installation.............................................................................41
xi
Contents
Special Installation Topics...............................................................................................46
Setting up to Dual-Boot Linux and Windows............................................................46
Partitioning Your Disks...............................................................................................52
Using the GRUB Boot Loader.....................................................................................60
Troubleshooting Installation............................................................................................65
Summary..............................................................................................................................67
Chapter 3:Getting Started with the Desktop................69
Logging in to CentOS.........................................................................................................69
Getting Familiar with the Desktop.................................................................................72
Touring Your Desktop................................................................................................72
Tips for Configuring Your Desktop............................................................................79
Using the GNOME Desktop..............................................................................................80
Using the Metacity Window Manager........................................................................81
Using the GNOME Panels...........................................................................................83
Using the Nautilus File Manager................................................................................88
Changing GNOME Preferences...................................................................................91
Managing Removable Media.......................................................................................92
Trying Other GNOME Applications...........................................................................93
Exiting GNOME..........................................................................................................95
Running 3D Accelerated Desktop Effects.......................................................................96
Switching Desktop Environments....................................................................................98
Using the KDE Desktop.....................................................................................................98
Starting with KDE.......................................................................................................99
KDE Desktop Basics..................................................................................................100
Managing Files with the Konqueror File Manager...................................................102
Using the Konqueror Browser Features....................................................................107
Configuring Konqueror Options...............................................................................107
Managing Windows...................................................................................................110
Configuring the Desktop...........................................................................................111
Adding Widgets.........................................................................................................113
Using the Xfce Desktop Environment...........................................................................113
Troubleshooting Your Desktop......................................................................................114
GUI Doesn’t Work at Startup...................................................................................115
Tuning Your Video Card and Monitor.....................................................................116
Configuring Video Cards for Gaming.......................................................................118
Getting More Information.........................................................................................118
Summary............................................................................................................................118
Chapter 4:Using Linux Commands....................119
The Shell Interface...........................................................................................................119
Checking Your Login Session...................................................................................120
Checking Directories and Permissions.....................................................................121
xii
Contents
Checking System Activity.........................................................................................123
Exiting the Shell........................................................................................................125
Understanding the Shell..................................................................................................125
Using the Shell in Linux.................................................................................................126
Locating Commands.................................................................................................127
Rerunning Commands..............................................................................................129
Connecting and Expanding Commands...................................................................135
Using Shell Environment Variables..........................................................................138
Managing Background and Foreground Processes...................................................141
Configuring Your Shell.............................................................................................143
Working with the Linux File System............................................................................147
Creating Files and Directories...................................................................................149
Moving,Copying,and Deleting Files.......................................................................155
Using the vi Text Editor..................................................................................................155
Starting with Vi.........................................................................................................156
Moving around the File............................................................................................159
Searching for Text.....................................................................................................159
Using Numbers with Commands.............................................................................160
Summary............................................................................................................................161
Part II Using CentOS
Chapter 5:Accessing and Running Applications.............165
Getting and Installing Software Packages...................................................................166
Downloading and Installing Applications with yum...............................................167
Getting CentOS Software Updates............................................................................175
Managing RPM Packages................................................................................................176
Using the Add/Remove Window..............................................................................176
Using the rpm Command.........................................................................................178
Using Software in Different Formats............................................................................188
Understanding Software Package Names and Formats............................................189
Understanding Different Archive Formats................................................................191
Building and Installing from Source Code...............................................................191
Using CentOS to Run Applications...............................................................................195
Finding Common Desktop Applications in Linux...................................................196
Investigating Your Desktop.......................................................................................196
Starting Applications from a Menu...........................................................................198
Starting Applications from a Run Application Window..........................................198
Starting Applications from a Terminal Window......................................................199
Running Remote X Applications...............................................................................201
Running Microsoft Windows,DOS,and Macintosh Applications..........................205
Running DOS Applications.......................................................................................207
Running Microsoft Windows Applications in Linux...............................................209
xiii
Contents
Running Applications in Virtual Environments..........................................................214
Running Applications Virtually with Xen.................................................................214
Running Applications Virtually with KVM and QEMU...........................................218
Summary............................................................................................................................220
Chapter 6:Publishing with CentOS....................221
Desktop Publishing in Linux..........................................................................................222
Using Text Editors and Notepads.............................................................................222
Using Word Processors.............................................................................................222
Using Traditional Linux Publishing Tools...................................................................226
Creating Documents in Groff or LaTeX...................................................................227
Text Processing with Groff........................................................................................228
Text Processing with TeX/LaTeX..............................................................................231
Converting Documents.............................................................................................233
Creating DocBook Documents..................................................................................234
Understanding SGML and XML...............................................................................235
Displaying PDF Files with Evince.................................................................................238
Doing Page Layout with Scribus...................................................................................239
Working with Graphics...................................................................................................241
Manipulating Images with GIMP..............................................................................241
Taking Screen Captures............................................................................................243
Creating Vector Graphic Images with Inkscape.......................................................244
Using Scanners Driven by SANE...................................................................................246
Web Publishing.................................................................................................................247
Summary............................................................................................................................248
Chapter 7:Music,Video,and Images in Linux..............249
Understanding Multimedia and Legal Issues in Linux..............................................250
Extending Freedom to Codecs.......................................................................................251
Listening to Music in Linux...........................................................................................251
Configuring a Sound Card........................................................................................253
Choosing Audio Players............................................................................................259
Automatically Playing CDs........................................................................................260
Playing and Managing Music with Rhythmbox.......................................................261
Playing Music with XMMS Audio Player.................................................................264
Using ogg123,mpg321,and play Command-Line Players.....................................267
Using MIDI Audio Players........................................................................................268
Converting Audio Files with SoX.............................................................................268
Extracting and Encoding Music................................................................................271
Creating Your Own Music CDs................................................................................274
Creating CD Labels with cdlabelgen........................................................................277
Viewing TV and Webcams..............................................................................................278
Watching TV with Tvtime........................................................................................279
Videoconferencing and VOIP with Ekiga.................................................................281
xiv
Contents
Playing Video....................................................................................................................285
Examining Laws Affecting Video and Linux............................................................285
Understanding Video Content Types.......................................................................286
Watching Video with Xine........................................................................................288
Using Totem Movie Player........................................................................................292
Using a Digital Camera...................................................................................................293
Displaying Images in gThumb..................................................................................293
Using Your Camera as a Storage Device..................................................................295
Summary............................................................................................................................296
Chapter 8:Using the Internet and the Web................297
Overview of Internet Applications and Commands...................................................297
Browsing the Web............................................................................................................300
Understanding Web Browsing..................................................................................301
Browsing the Web with Firefox................................................................................305
Setting Up Firefox.....................................................................................................308
Using Text-Based Web Browsers..............................................................................316
Communicating with E-Mail..........................................................................................317
E-Mail Basics.............................................................................................................319
Using Evolution E-Mail.............................................................................................320
Thunderbird Mail Client...........................................................................................322
Text-Based Mail Programs.........................................................................................324
Participating in Newsgroups..........................................................................................326
Instant Messaging with Pidgin.......................................................................................326
Sharing Files with BitTorrent........................................................................................328
Using Remote Login,Copy,and Execution.................................................................329
Using Telnet for Remote Login.................................................................................330
Copying Files with FTP............................................................................................331
Getting Files with Wget............................................................................................337
Using ssh for Remote Login/Remote Execution.......................................................339
Using scp for Remote File Copy...............................................................................340
Using the ‘‘r’’ Commands:rlogin,rcp,and rsh........................................................341
Summary............................................................................................................................341
Part III Adminstration
Chapter 9:Understanding System Administration............345
Using the root User Account..........................................................................................346
Becoming Super User (the su Command)....................................................................346
Learning about Administrative GUI Tools,Commands,Configuration
Files,and Log Files.....................................................................................................348
Using Graphical Administration Tools.....................................................................348
Administrative Commands........................................................................................353
Administrative Configuration Files...........................................................................354
xv
Contents
Administrative Log Files...........................................................................................358
Using Other Administrative Logins..........................................................................358
Administering Your Linux System.................................................................................360
Configuring Hardware.....................................................................................................361
Checking Your Hardware..........................................................................................361
Managing Hardware with HAL.................................................................................361
Reconfiguring Hardware with kudzu.......................................................................362
Configuring Modules.................................................................................................364
Managing File Systems and Disk Space.......................................................................366
Mounting File Systems..............................................................................................369
Using the mkfs Command to Create a File System.................................................377
Adding a Hard Disk..................................................................................................378
Using RAID Disks......................................................................................................381
Checking System Space.............................................................................................382
Monitoring System Performance...................................................................................385
Watch Computer Usage with System Monitor.........................................................385
Monitoring CPU Usage with top..............................................................................386
Monitoring Power Usage on Laptop Computers......................................................387
Using Security Enhanced Linux.....................................................................................388
Understanding Security Enhanced Linux.....................................................................389
Types and Roles in SELinux.....................................................................................389
Users in SELinux.......................................................................................................390
Policies in SELinux....................................................................................................390
Tools in SELinux.......................................................................................................390
Using SELinux in CentOS...............................................................................................391
SELinux.....................................................................................................................391
Checking Whether SELinux Is On...........................................................................392
Checking SELinux Status..........................................................................................393
Summary............................................................................................................................394
Chapter 10:Setting up and Maintaining User Accounts..........395
Creating User Accounts...................................................................................................395
Adding Users with useradd.......................................................................................396
Adding Users with User Manager.............................................................................400
Setting User Defaults.......................................................................................................402
Supplying Initial Login Scripts.................................................................................405
Supplying Initial.bashrc and.bash_profile Files.....................................................406
Supplying an Initial.tcshrc File................................................................................407
Configuring System-Wide Shell Options..................................................................407
Setting System Profiles..............................................................................................408
Adding User Accounts to Servers.............................................................................409
Creating Portable Desktops............................................................................................410
Providing Support to Users............................................................................................411
xvi
Contents
Creating a Technical Support Mailbox.....................................................................412
Resetting a User’s Password......................................................................................412
Modifying Accounts.........................................................................................................413
Modifying User Accounts with usermod..................................................................413
Modifying User Accounts with User Manager..........................................................415
Deleting User Accounts...................................................................................................416
Deleting User Accounts with userdel.......................................................................417
Deleting User Accounts with User Manager.............................................................418
Checking Disk Quotas.....................................................................................................418
Using Quota to Check Disk Usage...........................................................................418
Using du to Check Disk Use....................................................................................423
Removing Temp Files Automatically........................................................................423
Sending Mail to All Users...............................................................................................424
Summary............................................................................................................................425
Chapter 11:Automating System Tasks..................427
Understanding Shell Scripts...........................................................................................427
Executing and Debugging Shell Scripts....................................................................428
Understanding Shell Variables..................................................................................429
Performing Arithmetic in Shell Scripts.....................................................................431
Using Programming Constructs in Shell Scripts......................................................432
Some Useful External Programs................................................................................438
Trying Some Simple Shell Scripts.............................................................................439
System Initialization........................................................................................................441
Starting init................................................................................................................442
The inittab File..........................................................................................................442
System Startup and Shutdown......................................................................................446
Starting Run-Level Scripts.........................................................................................447
Understanding Run-Level Scripts.............................................................................447
Understanding What Start-Up Scripts Do................................................................450
Changing Run-Level Script Behavior........................................................................452
Reorganizing or Removing Run-Level Scripts..........................................................453
Adding Run-Level Scripts.........................................................................................455
Managing xinetd Services..........................................................................................456
Manipulating Run Levels..........................................................................................457
Scheduling System Tasks................................................................................................458
Using at.allow and at.deny.......................................................................................458
Specifying When Jobs Are Run................................................................................458
Submitting Scheduled Jobs.......................................................................................459
Viewing Scheduled Jobs............................................................................................460
Deleting Scheduled Jobs...........................................................................................460
Using the batch Command.......................................................................................461
Using the cron Facility..............................................................................................461
Summary............................................................................................................................465
xvii
Contents
Chapter 12:Creating Backups and Restoring Data............467
Making a Simple Backup Archive.................................................................................467
Doing a Simple Backup with rsync...............................................................................469
Backing Up Files Locally...........................................................................................469
Backing Up Files Remotely.......................................................................................470
Choosing Backup Tools..................................................................................................472
Selecting a Backup Strategy...........................................................................................472
Full Backup...............................................................................................................473
Incremental Backup...................................................................................................473
Disk Mirroring...........................................................................................................473
Network Backup........................................................................................................474
Selecting a Backup Medium...........................................................................................474
Magnetic Tape...........................................................................................................474
Writable CD Drives...................................................................................................476
Writable DVD Drives................................................................................................480
Writing CDs or DVDs with growisofs......................................................................481
Backing Up to a Hard Drive...........................................................................................482
Backing Up Files with dump..........................................................................................483
Creating a Backup with dump..................................................................................484
Understanding Dump Levels....................................................................................486
Automating Backups with cron.....................................................................................487
Restoring Backed-Up Files..............................................................................................488
Restoring an Entire File System................................................................................490
Recovering Individual Files.......................................................................................491
Configuring Amanda for Network Backups................................................................493
Creating Amanda Directories....................................................................................494
Creating the amanda.conf file...................................................................................495
Creating a disklist File..............................................................................................497
Adding Amanda Network Services...........................................................................498
Performing an Amanda Backup................................................................................499
Using the pax Archiving Tool........................................................................................499
Summary............................................................................................................................503
Chapter 13:Security...........................505
Linux Security Checklist.................................................................................................505
Using Password Protection.............................................................................................508
Choosing Good Passwords........................................................................................508
Using a Shadow Password File.................................................................................509
Securing Linux with iptables Firewalls........................................................................511
Using the Security Level Configuration Window.....................................................512
Configuring an iptables Firewall...............................................................................513
Controlling Access to Services with TCP Wrappers..................................................525
Checking Log Files...........................................................................................................528
xviii
Contents
Replacing the sysklogd Package................................................................................528
Understanding the rsyslogd Service..........................................................................528
Tracking Log Messages with logwatch.....................................................................531
Using the Secure Shell Package.....................................................................................532
Starting the SSH Service...........................................................................................533
Using the ssh,sftp,and scp commands...................................................................533
Using SSH,SCP,and SFTP without Passwords.......................................................535
Securing Linux Servers....................................................................................................536
Understanding Attack Techniques............................................................................536
Protecting against Denial-of-Service Attacks............................................................537
Protecting against Distributed DOS Attacks.............................................................540
Protecting against Intrusion Attacks.........................................................................544
Securing Servers with SELinux.................................................................................548
Protecting Web Servers with Certificates and Encryption.......................................548
Summary............................................................................................................................558
Part IV Networking
Chapter 14:Setting Up Network Connections and LANs.........561
Connecting to the Network with NetworkManager...................................................561
Connecting to a Wireless Network...........................................................................563
Connecting to a Wired Network..............................................................................563
Setting Up a Virtual Private Network Connection...................................................564
Understanding Local Area Networks............................................................................565
Planning,Getting,and Setting Up LAN Hardware..................................................566
Configuring TCP/IP for Your LAN...........................................................................571
Setting Up a Wireless LAN.............................................................................................575
Understanding Wireless Networks...........................................................................576
Choosing Wireless Hardware....................................................................................577
Getting Wireless Drivers...........................................................................................582
Installing Wireless Linux Software...........................................................................584
Configuring the Wireless LAN..................................................................................584
Testing Distances.......................................................................................................590
Setting Wireless Extensions......................................................................................590
Understanding Internet Protocol Addresses................................................................591
IP Address Classes.....................................................................................................593
Understanding Netmasks..........................................................................................593
Classless Inter-Domain Routing................................................................................594
Getting IP Addresses.................................................................................................596
Troubleshooting Your LAN.............................................................................................597
Did Linux Find Your Ethernet Driver at Boot Time?..............................................597
Can You Reach Another Computer on the LAN?....................................................597
Is Your Ethernet Connection Up?.............................................................................598
xix
Contents
Troubleshooting a Wireless LAN..............................................................................600
Watching LAN Traffic with Wireshark.....................................................................604
Summary............................................................................................................................609
Chapter 15:Setting Up an Internet Connection..............611
Understanding How the Internet Is Structured..........................................................611
Internet Domains.......................................................................................................613
Hostnames and IP Addresses....................................................................................615
Routing......................................................................................................................616
Proxies.......................................................................................................................617
Using Dial-Up Connections to the Internet.................................................................617
Getting Information...................................................................................................617
Setting Up Dial-Up PPP............................................................................................618
Creating a Dial-Up Connection with the Network Configuration Window...........619
Launching Your PPP Connection.............................................................................621
Launching Your PPP Connection on Demand.........................................................621
Checking Your PPP Connection...............................................................................622
Connecting Your LAN to the Internet...........................................................................629
Setting Up Linux as a Router.........................................................................................630
Configuring the Linux Router...................................................................................630
Configuring Network Clients....................................................................................633
Configuring a Virtual Private Network Connection...................................................634
Understanding IPsec..................................................................................................635
Using IPsec Protocols................................................................................................635
Using IPsec in CentOS..............................................................................................636
Configuring an OpenVPN Server.............................................................................637
Setting Up Linux as a Proxy Server..............................................................................643
Starting the Squid Daemon.......................................................................................644
Using a Simple squid.conf File.................................................................................645
Modifying the Squid Configuration File...................................................................648
Debugging Squid.......................................................................................................651
Setting Up Proxy Clients.................................................................................................653
Configuring Firefox to Use a Proxy..........................................................................654
Configuring Other Browsers to Use a Proxy............................................................655
Summary............................................................................................................................655
Chapter 16:Setting Up Printers and Printing...............657
Common UNIX Printing Service....................................................................................658
Setting Up Printers..........................................................................................................658
Using the Printer Configuration Window................................................................659
Using Web-Based CUPS Administration..................................................................667
Configuring the CUPS Server (cupsd.conf)..............................................................670
Configuring CUPS Printer Options..........................................................................672
Using Printing Commands..............................................................................................673
Using lpr to Print......................................................................................................673
xx
Contents
Listing Status with lpc...............................................................................................674
Removing Print Jobs with lprm................................................................................674
Configuring Print Servers...............................................................................................675
Configuring a Shared CUPS Printer.........................................................................675
Configuring a Shared Samba Printer........................................................................676
Summary............................................................................................................................677
Chapter 17:Setting Up a File Server...................679
Goals of Setting Up a File Server..................................................................................679
Setting Up an NFS File Server.......................................................................................680
Sharing NFS File Systems.........................................................................................682
Using NFS File Systems............................................................................................689
Unmounting NFS File Systems.................................................................................694
Other Cool Things to Do with NFS.........................................................................695
Setting Up a Samba File Server.....................................................................................696
Getting and Installing Samba....................................................................................697
Configuring a Simple Samba Server.........................................................................698
Configuring Samba with SWAT...............................................................................701
Working with Samba Files and Commands.............................................................710
Setting Up Samba Clients.........................................................................................714
Troubleshooting Your Samba Server........................................................................715
Summary............................................................................................................................718
Chapter 18:Setting Up a Mail Server...................719
Introducing SMTP and Sendmail..................................................................................719
Installing and Running Sendmail..................................................................................720
Starting Sendmail......................................................................................................721
Other Programs.........................................................................................................722
Logging Performed by Sendmail...............................................................................722
Configuring Sendmail......................................................................................................724
Getting a Domain Name...........................................................................................725
Configuring Basic Sendmail Settings (sendmail.mc)................................................725
Defining Outgoing Mail Access.................................................................................729
Configuring Virtual Servers.......................................................................................731
Configuring Virtual Users.........................................................................................732
Adding User Accounts..............................................................................................733
Starting Sendmail and Generating Database Files....................................................733
Re-Directing Mail......................................................................................................734
Introducing Postfix..........................................................................................................737
Stopping Spam with SpamAssassin..............................................................................738
Using SpamAssassin..................................................................................................738
Setting Up SpamAssassin on Your Mail Server........................................................739
Setting E-Mail Readers to Filter Spam......................................................................741
Getting Mail from the Server (POP3 or IMAPv4).......................................................741
Accessing Mailboxes in Linux...................................................................................742
xxi
Contents
Configuring IMAPv4 and POP3 with Dovecot.........................................................743
Getting Mail from Your Browser with SquirrelMail..................................................744
Administering a Mailing List with Mailman...............................................................746
Summary............................................................................................................................749
Chapter 19:Setting Up an FTP Server..................751
Understanding FTP Servers............................................................................................752
Attributes of FTP Servers..........................................................................................752
FTP User Types.........................................................................................................753
Using the Very Secure FTP Server.................................................................................753
Quick-Starting vsFTPd..............................................................................................754
Configuring vsFTPd..................................................................................................755
Getting More Information about FTP Servers.............................................................761
Summary............................................................................................................................761
Chapter 20:Setting Up a Web Server...................763
Introduction to Web Servers..........................................................................................764
The Apache Web Server...........................................................................................764
Other Web Servers Available for CentOS................................................................765
Quick-Starting the Apache Web Server........................................................................766
Configuring the Apache Server......................................................................................768
Configuring the Web Server (httpd.conf)................................................................769
Configuring Modules and Related Services (/etc/httpd/conf.d/*.conf)....................804
Starting and Stopping the Server..................................................................................806
Monitoring Server Activities...........................................................................................807
Displaying Server Information..................................................................................808
Displaying Server Status............................................................................................808
Further Security of Server-Info and Server-Status...................................................810
Logging Errors...........................................................................................................811
Logging Hits..............................................................................................................811
Analyzing Web-Server Traffic...................................................................................812
Summary............................................................................................................................814
Chapter 21:Setting Up an LDAP Address Book Server..........815
Understanding LDAP.......................................................................................................816
Defining Information in Schemas.............................................................................817
Structuring Your LDAP Directories..........................................................................819
Setting Up the OpenLDAP Server..................................................................................819
Installing OpenLDAP Packages.................................................................................819
Configuring the OpenLDAP Server (slapd.conf)......................................................819
Starting the OpenLDAP Service................................................................................822
Setting Up the Address Book.........................................................................................822
More Ways to Configure LDAP.....................................................................................828
Accessing an LDAP Address Book from Thunderbird...............................................829
Summary............................................................................................................................831
xxii
Contents
Chapter 22:Setting Up a DHCP Boot Server...............833
Using the Dynamic Host Configuration Protocol.......................................................834
Setting Up a DHCP Server..............................................................................................834
Opening Your Firewall and SELinux for DHCP......................................................835
Configuring the/etc/dhcpd.conf File........................................................................836
Starting the DHCP Server.........................................................................................842
Setting Up a DHCP Client..............................................................................................843
Summary............................................................................................................................844
Chapter 23:Setting Up a MySQL Database Server............845
Finding MySQL Packages...............................................................................................846
Configuring the MySQL Server......................................................................................848
Using MySQL User/Group Accounts........................................................................848
Adding Administrative Users....................................................................................848
Setting MySQL Options............................................................................................849
Using Sample my.cnf Files........................................................................................854
Starting the MySQL Server.............................................................................................855
Checking That MySQL Server Is Working...................................................................856
Working with MySQL Databases..................................................................................857
Starting the mysql Command...................................................................................857
Creating a Database with MySQL.............................................................................858
Adding Data to a MySQL Database Table................................................................860
Understanding MySQL Tables.......................................................................................863
Displaying MySQL Databases........................................................................................868
Displaying All or Selected Records...........................................................................868
Displaying Selected Columns....................................................................................869
Sorting Data...............................................................................................................870
Making Changes to Tables and Records......................................................................871
Altering the Structure of MySQL Tables..................................................................871
Updating and Deleting MySQL Records...................................................................872
Adding and Removing User Access...............................................................................873
Adding Users and Granting Access..........................................................................873
Revoking Access........................................................................................................874
Backing Up Databases....................................................................................................875
Checking and Fixing Databases....................................................................................875
Summary............................................................................................................................877
Chapter 24:Making Servers Public with DNS..............879
Determining Goals for Your Server...............................................................................880
Using a Hosting Service............................................................................................880
Connecting a Public Server............................................................................................881
Choosing an ISP........................................................................................................881
Getting a Domain Name...........................................................................................884
Configuring Your Public Server.....................................................................................886
Configuring Networking...........................................................................................886
xxiii
Contents
Configuring Servers...................................................................................................887
Managing Security.....................................................................................................888
Setting Up a Domain Name System Server.................................................................890
Understanding DNS..................................................................................................890
DNS Name Server Example......................................................................................894
Quick-Starting a DNS Server....................................................................................895
Checking That DNS Is Working...............................................................................903
Getting More Information about BIND........................................................................905
Summary............................................................................................................................905
Appendix A:About the Media......................907
Index...................................911
xxiv
W
ith the CentOS operating system and the instructions provided in this book,you can
transform your computers into free,safe,and powerful enterprise-class systems.Not
only can you configure your server to share files,printers,web pages,or directory
services to other computers,but you can also use CentOS on everyday workstations as well to
benefit from its security and stability.
Because CentOS includes enterprise-class software,the skills you learn by using CentOS can be
applied to work with the largest,most secure,and most diverse Linux systems in the world.
Using this book is a great start for becoming a Linux professional.
Who You Are
You don’t need to be a programmer to take advantage of this book.Perhaps you are someone
who just wants to use Linux to run programs,access the Internet,and so on.Or,perhaps you
are someone who wants to learn how to administer an enterprise-grade Linux system.
We assume that you are somewhat computer literate but may have little or no experience with
Linux (or UNIX).You may be migrating from Microsoft operating systems to Linux because of its
networking and multiuser features.You may be looking to start a career as a computer technician
or network administrator and find that spending a few dollars for an entire operating system and
book is more economical than taking those technical classes offered on late-night television.Or
you might just think a ‘‘free’’ enterprise operating system is cool.
This Book’s Learn-Through-Tasks Approach
The best way to learn a computer system is to get your hands on it.To help you learn Linux
and CentOS,this book takes a task-oriented approach.Where possible,we step you through the
process of working with a feature,such as setting up a network or configuring your desktop.
When you are done with a task,you should have a good,basic setup of the feature that it covers.
After that,we often provide pointers to further information on tweaking and tuning the feature.
Instead of assuming that you already know about cryptic topics such as DNS,NFS,and TCP/IP,
we ease you into those features with headings such as ‘‘Making Your Servers Public,’’ ‘‘Setting Up
xxv
Introduction
a File Server,’’ and ‘‘Connecting to the Internet.’’ If you already knew what all those things were
and how to get them working,you wouldn’t need us,would you?
You will find that there are a lot of choices available in the Linux world.When many tools can
be used to achieve the same results,we usually present one or two examples.In other words,
we don’t describe six different Web browsers,12 different text editors,and three different mail
servers.We tell you how to get one or two similar tools really working and then note that others
are available.
What You Need
To follow along with this book,you can install the complete CentOS 5 software found on the
accompanying DVD.If you don’t have a DVD drive,you can use the CD that comes with this
book to try out CentOS without installing it.Of course,you can also follow along on an existing
CentOS system.
To install CentOS with the media that comes with this book,you need a PC with the follow
general configuration:
■ An Intel Pentium or compatible CPU,200MHz Pentium or better (for text mode);
400MHz PentiumII or better (for GUI mode)
■ At least 64 MB of RAM(text-based install) or 128 MB of RAM(graphical install).To run
the GNOME or KDE desktops,192 MB are needed,although the CentOS Project recom-
mends at least 512 MB.
■ At least 3.0 GB of hard disk space for a typical workstation installation,or at least 1.1 GB
of space for a server installation
■ A DVD or CD drive.This is recommended for installation (because an installation DVD is
provided along with this book),although you can install CentOS over a network or from
a local hard disk instead.Chapter 2 describes methods of launching installations if you
don’t have a bootable DVD drive.
Not every piece of PC hardware works with CentOS.You can see what hardware is supported by
visiting the following site:
www.centoslinuxhcl.org
.
Conventions Used in This Book
Throughout the book,special typography indicates code and commands.Commands and code
are shown in a monospaced font:
This is how code looks
xxvi
Introduction
In the event that an example includes both input and output,the monospaced font is still used,
but input is presented in bold type to distinguish the two.Here’s an example:
$ ftp ftp.example.com
Name (home:timothy):timothy
Password:*****
The following boxes are used to call your attention to points that are particular important.
A Note box provides extra information to which you need to pay special attention.
A Tip box shows a special way of performing a particular task.
A Warning box alerts you to take special care when executing a procedure,or damage
to your computer hardware or software could result.
A Cross-Reference box refers you to further information on a subject that you can find
outside the current chapter.
HowThis Book Is Organized
This book is organized into four parts:Getting Started,Using CentOS,Administration,and Net-
working.
Part I:Getting Started
Part I consist of Chapters 1 through 4.Chapters 1 and 2 contain brief descriptions of the Linux
technology and tell you what you need to get the operating system installed.Chapter 1 serves
as an introduction to the Linux OS and to CentOS in particular.Chapter 2 discusses what you
need to install CentOS and how to make the decisions you’ll be faced with during installation.It
includes procedures for installing from DVD,hard disk,or network connections (NFS,FTP,or
HTTP servers).
In Chapter 3,you learn about the GNOME and KDE desktop environments.These GUIs provide
graphical means of using CentOS.Chapter 4 describes ways of exploring and understanding
CentOS primarily from the Linux shell command interpreter.You learn how to use the
bash
shell,the
vi
text editor,and the commands for moving around the Linux file system.
Part II:Using CentOS
Part II consists of Chapters 5 through 8,which include information for the average user who
wants to use Linux to run applications and access the Internet.
xxvii
Introduction
Chapter 5 contains information on obtaining,installing,and running Linux applications.It also
helps you run applications from other operating systems in Linux.Chapter 6 describes both
old-time publishing tools and new,graphical word processors that are available with CentOS.
Old tools include the
troff
and TeX text processing tools,whereas newer publishing software
includes OpenOffice.org (included on the DVD) and StarOffice (available commercially).
Chapter 7 describes how to use audio and video players,as well as how to configure sound
cards and CD burners.Chapter 9 describes tools for browsing the Web (such as the Firefox Web
browser) and related tools (such as e-mail clients).
Part III:Administration
Part III consists of Chapters 9 through 13,which cover general set-up and system mainte-
nance tasks,including how to set up user accounts,automate system tasks,and back up your
data.Chapter 9,in which you learn what you need to know about basic system administration,
describes the
root
login,administrative commands,configuration files,SELinux,and log files.
Chapter 10 describes how to set up and provide support for multiple users on your CentOS
system.
In Chapter 11,you learn to create shell scripts and to use the
cron
facility to automate a variety
of tasks on your CentOS system.Techniques for backing up your system and restoring files
from backup are described in Chapter 12.Chapter 13 describes issues related to securing your
computing assets in CentOS.
Part IV:Networking
Part IV consists of Chapters 14 through 24,which describe step-by-step procedures for setting
up a variety of server types.Simple configurations for what might otherwise be complex tasks
are contained in each chapter.Learn to arrange,address,and connect your Linux computes to
a local area network (LAN) in Chapter 14.Chapter 15 describes techniques for connecting your
CentOS computer and LAN to the Internet,using features such as Point-to-Point Protocol (PPP),
IP forwarding,IP masquerading,routing,and proxy servers.
Chapter 16 describes how to set up different types of print server interfaces,including Samba (to
share with Windows systems) and native Linux CUPS printing.Chapter 17 describes file servers,
such as Network File System (NFS) servers and Samba file servers.Chapter 18 describes how to
configure Sendmail or Postfix e-mail servers.
Chapter 19 describes how to configure and secure an FTP server,as well as how to access the
server using FTP client programs.Chapter 20 teaches you how to set up CentOS as a Web Server,
focusing on the popular Apache server software.Chapter 21 explains how to use LDAP to create a
shared address book.Chapter 22 describes how to set up a DHCP server to distribute information
to client workstations on the network.
Chapter 23 describes how to set up and use a MySQL database server in CentOS.Chapter 24
takes you through the process of making the servers you configured in the other chapters avail-
able on the Internet by setting up a Domain Name System (DNS) server.
xxviii