LINUX SYSTEM ADMINISTRATION Other Linux resources from O’Reilly Related titles DNS and BIND Running Linux Linux in a Nutshell LPI Linux Certification in a Linux iptables Pocket Nutshell Reference Linux Server Hacks™ Linux Pocket Guide Linux Security Cookbook™ Linux Network Administrator’s Guide Linux Books linux.oreilly.com is a complete catalog of O’Reilly’s books on Resource Center Linux and Unix and related technologies, including sample chapters and code examples. ONLamp.comisthe premiersiteforthe opensource webplat- form: Linux, Apache, MySQL and either Perl, Python, or PHP. Conferences O’Reillybringsdiverseinnovatorstogethertonurturetheideas thatsparkrevolutionaryindustries.Wespecializeindocument- ing the latest tools and systems, translating the innovator’s knowledge into useful skills for those in the trenches. Visit conferences.oreilly.com for our upcoming events. Safari Bookshelf (safari.oreilly.com) is the premier online refer- ence library for programmers and IT professionals. Conduct searchesacrossmorethan1,000books.Subscriberscanzeroin on answers to time-critical questions in a matter of seconds. Read the books on your Bookshelf from cover to cover or sim- ply flip to the page you need. Try it today with a free trial. LINUX SYSTEM ADMINISTRATION Tom Adelstein and Bill Lubanovic Beijing • Cambridge • Farnham • Köln • Paris • Sebastopol • Taipei • Tokyo Linux System Administration by Tom Adelstein and Bill Lubanovic Copyright © 2007 O’Reilly Media, Inc. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (safari.oreilly.com). For more information, contact our corporate/institutional sales department: (800) 998-9938 [email protected]. Editor: Andy Oram Indexer: John Bickelhaupt Production Editor: Laurel R.T. Ruma Cover Designer: Karen Montgomery Copyeditor: Rachel Wheeler Interior Designer: David Futato Proofreader: Laurel R.T. Ruma Illustrators: RobertRomanoandJessamynRead Printing History: March 2007: First Edition. Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of O’Reilly Media, Inc. TheLinux series designations,Linux System Administration, images of the American West, and related trade dress are trademarks of O’Reilly Media, Inc. Manyofthedesignationsusedbymanufacturersandsellerstodistinguishtheirproductsareclaimedas trademarks. Where those designations appear in this book, and O’Reilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. This book uses RepKover™, a durable and flexible lay-flat binding. ISBN-10: 0-596-00952-6 ISBN-13: 978-0-596-00952-6 [M] Table of Contents Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix 1. Requirements for a Linux System Administrator . . . . . . . . . . . . . . . . . . . . . . . . 1 About This Book 2 How Can We Help? 2 Where Do You Start? 3 Do You Need a Book? 3 Who Needs You? 4 What System Managers Should Know About Linux 6 What’s Next 7 2. Setting Up a Linux Multifunction Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Server Requirements 9 Installing Debian 10 Logging in Remotely 12 Configuring the Network 13 Changing the Default Debian Packages 15 Setting Up Quotas 16 Providing Domain Name Services 18 Adding a Relational Database: MySQL 20 Configuring Mail Securely with Postfix, POP3, and IMAP 22 Putting Apache to Work 33 Adding FTP Services with ProFTPD 34 Summarizing Your Web Statistics with Webalizer 35 Synchronizing the System Clock 36 Installing Perl Modules Needed by SpamAssassin 36 What’s Next 37 v 3. The Domain Name System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 DNS Basics 38 Getting into the BIND 40 Setting Up a DNS Server 41 Configuring an Authoritative DNS Server 44 Editing the Configuration Files 50 BIND Tools 62 Troubleshooting BIND 66 What’s Next 71 4. An Initial Internet-Ready Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Installing ISPConfig 74 Setting Up a Server and Users with ISPConfig 83 Safeguarding a Linux Web Server 96 What’s Next 101 5. Mail. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Key Mail Service Terms 103 Postfix, Sendmail, and Other MTAs 103 The Postfix SMTP Mail Server on Debian 105 Adding Authentication and Encryption 111 Configuring POP3 and IMAP Mail Delivery Agents 119 Email Client Configuration 120 What’s Next 121 6. Administering Apache. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Static and Dynamic Files 122 A Simple LAMP Setup 123 Installation 124 Apache Configuration Files 127 Logfiles 140 SSL/TLS Encryption 142 suEXEC Support 143 Benchmarking 144 Installing and Administering Drupal 145 Troubleshooting 149 Further Reading 153 vi | Table of Contents 7. Load-Balanced Clusters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Load Balancing and High Availability 154 Scaling Without LB and HA 162 Further Reading 162 8. Local Network Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Distributed Filesystems 164 Introduction to Samba 164 Configuring the Network 165 DHCP 168 Gateway Services 173 Print Services 181 User Management 186 9. Virtualization in the Modern Enterprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 Why Virtualization Is Popular 194 High-Performance Computing 196 Installing Xen on Fedora 5 199 Installing VMware 204 Virtualization: A Passing Fad? 210 10. Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 bash Beginnings 212 Useful Elements for bash Scripts 218 Scripting Language Shootout 226 Further Reading 235 11. Backing Up Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 Backing Up User Data to a Server with rsync 237 tar Archives 242 Saving Files on Optical Media 245 Backing Up and Archiving to Tape with Amanda 251 Backing Up MySQL Data 254 Appendix. bash Script Samples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 Table of Contents | vii Preface As Bill Lubanovic and I were putting the final touches on this book, I overheard a conversation between two coworkers in our Cisco lab discussing Linux. The senior networking guru of the two made an interesting remark. He said that despite all his knowledge,hefeltincompleteasaprofessionalbecausehehadneverlearnedLinux. A moment later he and the other gentleman turned to me and looked me square in the eyes. I smiled and went on working. That evening, our director of Information Technology made an offhand remark to me during a conference that struck me as unusual. He said that he wanted to learn Apache,andwhenIaskedhimwhyhereplied,“Ijustwanttolearnit,”andleftitat that. Later in the conference, our director requested feedback from the group on a solu- tion for patch management, explaining and using the example of rsync. He said he wanted something similar, while launching into a detailed technical discussion of incrementalandcumulativepatchmanagement.Ihaveagoodworkingknowledgeof rsync,buthadn’theardsuchadetailedacademicexplanationofanyopensourcetool in any forum. Inbothofthosecasesandmanyothers,IwishedIhadthisbookreadytohandover to highly trained and skilled people who wanted to learn Linux administration. Per- haps you have had similar experiences and wished you had a book like this one at hand. I venture to guess that conversations like the ones I’ve just described occur many times in many places daily. When Andy Oram and I began discussing a Linux system administration book, we had a slightly different idea of what we wanted to accomplish. Andy talked about a book in which each chapter took users through the steps of building and deploying application servers without co-mingling detailed discussions. He suggested that the discussion reside in one place in each chapter and the technical steps in another. ix
Description: