Showing posts with label Hungry Minds. Show all posts

by Rick Greenwald and Jim Milbery

Oracle9iAS™PortalBible

Hungry Minds, Inc.
Best-Selling Books • Digital Downloads • e-Books • Answer Networks • e-Newsletters • Branded Web Sites • e-Learning

New York, NY ♦ Cleveland, OH ♦ Indianapolis, IN

e-books shop
Oracle 9i AS Portal Bible

Acknowledgments
The authors would like to thank all the people at Oracle who helped them in the
creation of this book, including Rob Giljum and the entire development team. In
particular, we would like to thank Steven Leung, Sue Vickers, and Mohana Narayan,
who provided invaluable assistance in the late-going stages. Most important, we
would like to bow in reverence in the general direction of the inestimable Todd D.
Vender, who provided timely advice and insight into the Oracle9iAS Portal development
process.

About the Authors
Rick Greenwald is a marketing manager in the server technologies group at Oracle
Corporation. He has been active in the field of data processing for over 15 years,
including stints with Data General, Cognos, and Gupta. He is the author of six other
books on technology and dozens of articles and analyst pieces.

Jim Milbery has been involved in the software business for over 16 years and has
worked for a variety of high-tech companies, including Digital Equipment
Corporation, Ingres, Uniface, and Revere. He is currently a partner with the technology
consulting firm Kuromaku Partners LLC, where he provides strategic consulting
to a diverse group of clients. Jim lives in Easton, Pennsylvania, with his lovely wife,
Renate, and two spoiled cats.


Preface

This book is essentially the second edition of Oracle WebDB Bible. The product formerly
known as WebDB is called Oracle9iAS Portal in its current incarnation, which
indicates that it is both bundled with the Oracle9i Application Server product and
that the focus of the product has been modified to encompass the fast-growing
world of information portals. Consequently, the organization of this book has been
enhanced and modified to fit in with the new product direction.

How This Book Is Organized
As with the previous version, the first section of this book is an introduction to
Oracle9iAS Portal — what it is, how to install it, and the basics of the development
environment you will be using.
The second section of the book jumps right into the topic of portals. Chapter 6
introduces the concept of portals, portlets, and how Oracle9iAS Portal handles
these entities. Chapter 7 walks you through the creation of a portal page.
Part III of the book covers the creation of a variety of components. These are the
same components that were supported in WebDB — reports, forms, charts, calendars,
hierarchies, and dynamic HTML pages. Each of these components retains the
functionality it had in WebDB, but each of them also has been enhanced in the new
version of the product.
Part IV of the book covers some of the topics you will need to understand to create
complete applications with Oracle9iAS Portal. For instance, you will almost
inevitably be using lists-of-values to help your users properly utilize components,
and Oracle9iAS Portal menus are essential for navigating through an application.
Validation, the use of templates, and linking are also integral to creating complete
applications, and these areas have also been changed and enhanced from their
counterparts in WebDB. Finally, there will be times when you will need to use
PL/SQL procedures to extend the functionality of your Oracle9iAS Portal components,
which is also covered in this section.

In Oracle9iAS Portal, as in WebDB, you have the ability to create Content Areas,
which were referred to as sites in WebDB. Part V of the book explores this area of
the product, including how to deploy your content collections.
Part VI targets the administration of the Oracle9iAS Portal environment. Oracle9iAS
Portal, even more than WebDB, is aimed at the enterprise. In order to operate in an
enterprise environment, Oracle9iAS Portal has to include administration and monitoring
tools, as well as a robust security model. The security model, in particular,
has been dramatically changed since WebDB, so there is a great deal of new material in this section.
The last section of this book, Part VII, delves into some of the more advanced topics
surrounding Oracle9iAS Portal. First and foremost of these topics is the ability
to create your own portlets. Chapter 28 gives you a high-level view of the APIs and
processes involved in creating your own custom portlets. Chapter 29 covers a variety
of techniques that we felt were slightly outside of the scope of the other chapters
in the book, but still of great interest to you, the potential Oracle9iAS Portal developer.

Contacting the Author(s)
Jim Milbery can be reached at Kuromaku Partners (http://www.kuromaku.com),
located in Easton, Pennsylvania, or through his e-mail address at
Rick Greenwald can be reached at greenie@interaccess.com.


Screenshot

e-books shop

Purchase Now !
Just with Paypal



Product details
 Price
 File Size
 58,489KB
 Pages
 985 p
 File Type
 PDF format
 ISBN
 0-7645-4749-6
 Copyright
 2001 Hungry Minds, Inc 

Contents at a Glance
Preface
Acknowledgments
Part I: Introduction
Chapter 1: Introducing Oracle9iAS Portal
Chapter 2: Installing and Configuring Oracle9iAS Portal
Chapter 3: Introducing the Oracle9iAS Portal Environment
Chapter 4: Using the Navigator
Chapter 5: Browsing the Database
Part II: Building a Portal
Chapter 6: Introducing Portals and Portlets
Chapter 7: Building a Portal Page
Part III: Oracle9iAS Portal Components
Chapter 8: Building Oracle9iAS Portal Reports
Chapter 9: Advanced Reporting Techniques
Chapter 10: Building Oracle9iAS Portal Forms
Chapter 11: Building Forms—Part II
Chapter 12: Building Charts
Chapter 13: Building Oracle9iAS Portal Calendars
Chapter 14: Working with Hierarchies
Chapter 15: Working with HTML
Part IV: Building Oracle9iAS Portal Applications 
Chapter 16: Working with Lists-of-Values (LOVs)
Chapter 17: Creating Oracle9iAS Portal Menus
Chapter 18: Building Consistency in Oracle9iAS Portal Web Sites and Applications
Chapter 19: Data Validation with Oracle9iAS Portal
Chapter 20: Using Links to Connect Oracle9iAS Portal Objects
Chapter 21: Integrating PL/SQL Logic
Part V: Building Oracle9iAS Portal Sites
Chapter 22: Using Content Areas
Chapter 23: Deploying Oracle9iAS Portal Sites
Chapter 24: Content Areas—Part II
Part VI: Administering Oracle9iAS Portal
Chapter 25: Administering Oracle9iAS Portal Components
Chapter 26: Oracle9iAS Portal Security
Chapter 27: Monitoring Oracle9iAS Portal Performance
Part VII: Advanced Techniques
Chapter 28: Creating Your Own Portlet and Provider
Chapter 29: Advanced Tips and Techniques
Appendix A: What’s On the CD-ROM
Appendix B: Loading Portal Examples
Index 
End-User License Agreement
CD-ROM Installation Instructions

Table of Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Part I: Introduction
Chapter 1: Introducing Oracle9iAS Portal . . . . . . . . . . . . . . . . . 3
Choosing Oracle9iAS Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Understanding How Oracle9iAS Portal Is Packaged . . . . . . . . . . . . . . . 5
Taking a Look at Oracle9iAS Portal Functionality . . . . . . . . . . . . . . . . 5
Understanding Oracle9iAS Portal Components . . . . . . . . . . . . . . . . . 7
Understanding Oracle9iAS Portal Organization . . . . . . . . . . . . . . . . 14
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Content Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Creating Oracle9iAS Portal Components . . . . . . . . . . . . . . . . . . . . 15
Chapter 2: Installing and Configuring Oracle9iAS Portal . . . . . . . . 17
Obtaining a Copy of Oracle9iAS Portal . . . . . . . . . . . . . . . . . . . . . 17
Installing Oracle9iAS Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Before you begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Oracle9iAS Portal installation—part 1 . . . . . . . . . . . . . . . . . . 20
Oracle9iAS Portal installation—part 2 . . . . . . . . . . . . . . . . . . 22
Configuring network protocols . . . . . . . . . . . . . . . . . . . . . . 26
Configuring Oracle9iAS Portal . . . . . . . . . . . . . . . . . . . . . . . 31
Performing Post-Installation Checks . . . . . . . . . . . . . . . . . . . . . . . 38
Creating and Using the NetU Database . . . . . . . . . . . . . . . . . . . . . 44
Installing the NetU sample data . . . . . . . . . . . . . . . . . . . . . . 45
Creating an application for NetU . . . . . . . . . . . . . . . . . . . . . 47
Creating a privileged developer account . . . . . . . . . . . . . . . . . 50
Chapter 3: Introducing the Oracle9iAS Portal Environment . . . . . . 53
Introducing the Oracle9iAS Portal Environment . . . . . . . . . . . . . . . . 53
The banner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
The help system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
The banner properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
The my Links portlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
The my Work portlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
The On The Web portlet . . . . . . . . . . . . . . . . . . . . . . . . . . 69
The Build Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
A Few Words about Wizards . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Chapter 4: Using the Navigator . . . . . . . . . . . . . . . . . . . . . . . 79
Introducing the Navigator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
The Pages Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
The Content Areas Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
The Applications Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Using the Find Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Chapter 5: Browsing the Database . . . . . . . . . . . . . . . . . . . . 93
Basic Database Object Definitions . . . . . . . . . . . . . . . . . . . . . . . . 93
The Database Objects Tab of the Navigator . . . . . . . . . . . . . . . . . . 95
Accessing database objects with the Database Navigator . . . . . . 100
Working with the Database Navigator . . . . . . . . . . . . . . . . . . 104
Browsing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Interacting with Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Updating data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Inserting data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Issues with writing data . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Creating Database Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Creating a table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Part II: Building a Portal
Chapter 6: Introducing Portals and Portlets . . . . . . . . . . . . . . 131
Understanding What a Portal Is . . . . . . . . . . . . . . . . . . . . . . . . . 132
Understanding What a Portlet Is . . . . . . . . . . . . . . . . . . . . . . . . 133
Supporting Portlets in Oracle9iAS Portal . . . . . . . . . . . . . . . . . . . 136
Portlet management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Framework services . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Automatic portlet generation . . . . . . . . . . . . . . . . . . . . . . . 137
Runtime Implementation of Portals . . . . . . . . . . . . . . . . . . . . . . 137
Caching in Oracle9iAS Portal . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Types of caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Levels of caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Caching precautions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Chapter 7: Building a Portal Page . . . . . . . . . . . . . . . . . . . . 143
Creating a Portal Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Page layout and style . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Customizing the banner . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Adding Portlets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Working with regions . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Finishing the page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Customizing the Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Making Changes as a Page User . . . . . . . . . . . . . . . . . . . . . . . . . 161
Working with the HTML portlet . . . . . . . . . . . . . . . . . . . . . 161
Creating a personal version of a page . . . . . . . . . . . . . . . . . . 164
Promoting a page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Designating a default page . . . . . . . . . . . . . . . . . . . . . . . . 169
Part III: Oracle9iAS Portal Components
Chapter 8: Building Oracle9iAS Portal Reports . . . . . . . . . . . . . 173
Building a QBE Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Defining a report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Shaping your report . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Allowing users to shape the report . . . . . . . . . . . . . . . . . . . 190
Using templates and adding text to your report . . . . . . . . . . . . 192
Running Your Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Creating a Report with the Query Wizard . . . . . . . . . . . . . . . . . . . 207
Editing Your Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Chapter 9: Advanced Reporting Techniques . . . . . . . . . . . . . . 217
Creating a Report from a SQL Statement . . . . . . . . . . . . . . . . . . . . 217
Extending Reports with SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Using the Custom Layout for Reports . . . . . . . . . . . . . . . . . . . . . 227
Adding Parameters to Your Report . . . . . . . . . . . . . . . . . . . . . . . 230
Using Multiple Tables in a Report . . . . . . . . . . . . . . . . . . . . . . . . 234
Multiple tables for reference information . . . . . . . . . . . . . . . . 235
Multiple tables for master-detail relationships . . . . . . . . . . . . . 240
Using Reports as Portlets . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Calling Your Reports Directly . . . . . . . . . . . . . . . . . . . . . . . . . . 247
More Information on Reporting . . . . . . . . . . . . . . . . . . . . . . . . . 248
Chapter 10: Building Oracle9iAS Portal Forms . . . . . . . . . . . . . 251
Understanding Forms in Oracle9iAS Portal . . . . . . . . . . . . . . . . . . 251
Form types supported by Oracle9iAS Portal . . . . . . . . . . . . . . 253
Creating Forms Based on Tables . . . . . . . . . . . . . . . . . . . . . . . . 253
The first part of the table-based Form Wizard . . . . . . . . . . . . . 254
Oracle9iAS Portal form-creation concepts . . . . . . . . . . . . . . . 256
Form options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Button options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Data field options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Finishing the form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Running your form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Adding a Form to a Portal Page . . . . . . . . . . . . . . . . . . . . . . . . . 278
Chapter 11: Building Forms—Part II . . . . . . . . . . . . . . . . . . . 281
Forms Based on Stored Procedures . . . . . . . . . . . . . . . . . . . . . . 281
What are stored procedures? . . . . . . . . . . . . . . . . . . . . . . . 281
Oracle9iAS Portal and stored procedures . . . . . . . . . . . . . . . . 282
The sample stored procedure . . . . . . . . . . . . . . . . . . . . . . 282
Building a form based on a stored procedure . . . . . . . . . . . . . 283
Master-Detail Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Building a master-detail form . . . . . . . . . . . . . . . . . . . . . . . 289
Formatting options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Running your master-detail form . . . . . . . . . . . . . . . . . . . . . 294
Chapter 12: Building Charts . . . . . . . . . . . . . . . . . . . . . . . . 301
Creating Charts with the Query Wizard . . . . . . . . . . . . . . . . . . . . 301
Beginning the chart-building process . . . . . . . . . . . . . . . . . . 302
Describing the chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Display options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Finishing the chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Running your chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Creating a more complex chart . . . . . . . . . . . . . . . . . . . . . . 313
Creating Charts Based on a SQL Statement . . . . . . . . . . . . . . . . . . 316
Charts based on multiple tables . . . . . . . . . . . . . . . . . . . . . 316
Formatting values and limiting rows . . . . . . . . . . . . . . . . . . . 323
Adding a Chart as a Portlet . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Chapter 13: Building Oracle9iAS Portal Calendars . . . . . . . . . . 329
Understanding Oracle Dates . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Date arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Date formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Building a Simple Calendar . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Calendar query format . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Formatting the display . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Specifying customization entry form
display options for the calendar . . . . . . . . . . . . . . . . . . . 342
Text options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Running the Calendar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Adding information to a calendar . . . . . . . . . . . . . . . . . . . . 350
Linking from the calendar cells . . . . . . . . . . . . . . . . . . . . . . 352
Adding parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Managing calendar objects . . . . . . . . . . . . . . . . . . . . . . . . 359
Chapter 14: Working with Hierarchies . . . . . . . . . . . . . . . . . . 361
Understanding Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Building a Simple Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Navigating Through a Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . 370
Enhancing Your Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Chapter 15: Working with HTML . . . . . . . . . . . . . . . . . . . . . 379
Creating Dynamic Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Adding additional HTML code to the page . . . . . . . . . . . . . . . 387
Adding additional SQL code . . . . . . . . . . . . . . . . . . . . . . . 390
Mixing HTML and SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Adding Parameters to Dynamic Pages . . . . . . . . . . . . . . . . . . 395
Using Frame Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Connecting frame drivers to components with parameters . . . . . 404
Part IV: Building Oracle9iAS Portal Applications
Chapter 16: Working with Lists-of-Values (LOVs) . . . . . . . . . . . 411
Defining Lists-of-Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Update versus Query List-of-Values Objects . . . . . . . . . . . . . . . . . 415
Building a simple, static LOV object . . . . . . . . . . . . . . . . . . . 416
Testing your LOV object . . . . . . . . . . . . . . . . . . . . . . . . . . 420
Deploying a Static LOV Object to Another Component . . . . . . . . . . . 422
Creating a Dynamic LOV Object . . . . . . . . . . . . . . . . . . . . . . . . . 426
Using the Dynamic LOV to Update Records . . . . . . . . . . . . . . . . . . 431
Using Multiselect Lists-of-Values . . . . . . . . . . . . . . . . . . . . . . . . 434
Advanced Techniques for LOV Objects . . . . . . . . . . . . . . . . . . . . 437
Derived columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
Dynamic query lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
Multivalue tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
Lists-of-Values with BIND Variables . . . . . . . . . . . . . . . . . . . . . . . 440
Chapter 17: Creating Oracle9iAS Portal Menus . . . . . . . . . . . . 445
Understanding Universal Resource Locators . . . . . . . . . . . . . . . . . 445
Using Simple Static Pages with Portal . . . . . . . . . . . . . . . . . . . . . 448
Adding a Virtual Path to the System . . . . . . . . . . . . . . . . . . . . . . 452
Building a Portal Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
Using the Portal Menu Builder Wizard . . . . . . . . . . . . . . . . . . 456
Editing the menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
Adding menu items to menus and submenus . . . . . . . . . . . . . . 462
Linking Root Menus and
Advanced Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Advanced menu options . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Using Menus as Portlets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
Chapter 18: Building Consistency in Oracle9iAS
Portal Web Sites and Applications . . . . . . . . . . . . . . . . . . . . 477
Content Creation versus Standards Enforcement . . . . . . . . . . . . . . . 478
Adding Color to Your Components . . . . . . . . . . . . . . . . . . . . . . . 479
Video display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
Video color settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
Defining portal colors . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
Using Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
Adding fonts to Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
Editing fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
Deploying colors and fonts . . . . . . . . . . . . . . . . . . . . . . . . 493
Adding Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
Portal image types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
Adding images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
Using Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
Adding a new template . . . . . . . . . . . . . . . . . . . . . . . . . . 502
Using unstructured templates . . . . . . . . . . . . . . . . . . . . . . 506
Deploying Templates into Your Components . . . . . . . . . . . . . . . . . 511
Chapter 19: Data Validation with Oracle9iAS Portal . . . . . . . . . . 513
Data Validation Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
Using JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
JavaScript compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . 517
JavaScript form elements . . . . . . . . . . . . . . . . . . . . . . . . . 519
JavaScript elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
JavaScript dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
Creating JavaScript Validations with Portal . . . . . . . . . . . . . . . . . . 532
Testing the JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
Building More Complicated Scripts . . . . . . . . . . . . . . . . . . . . . . . 540
Attaching Validations to Forms . . . . . . . . . . . . . . . . . . . . . . . . . 545
Using Other JavaScript Events . . . . . . . . . . . . . . . . . . . . . . . . . 547
Adding JavaScript code to templates . . . . . . . . . . . . . . . . . . 549
Performing Cross-Field Validations . . . . . . . . . . . . . . . . . . . . . . . 551
Performing Cross-Record Validations . . . . . . . . . . . . . . . . . . . . . 555
Performing Server-Side Validations . . . . . . . . . . . . . . . . . . . . . . . 557
Chapter 20: Using Links to Connect Oracle9iAS Portal Objects . . . 559
Defining Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
Linking from an Existing Component . . . . . . . . . . . . . . . . . . . . . . 560
Linking the STUDENTS report to the CLASSES report . . . . . . . . . 562
System parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Testing a Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
Making a Dynamic Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
Using Links to Update Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
Using Portal Parameter Arrays . . . . . . . . . . . . . . . . . . . . . . . . . 580
Chapter 21: Integrating PL/SQL Logic . . . . . . . . . . . . . . . . . . 585
Using Oracle HTML Packages . . . . . . . . . . . . . . . . . . . . . . . . . . 585
Printing and formatting . . . . . . . . . . . . . . . . . . . . . . . . . . 587
Document structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
Advanced document structure procedures . . . . . . . . . . . . . . . 589
Additional procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
Using Oracle9iAS’s PL/SQL Web Toolkit . . . . . . . . . . . . . . . . . . . . 595
Working with OWA_COOKIE . . . . . . . . . . . . . . . . . . . . . . . 596
Integrating HTP and PL/SQL Web Toolkit Procedures with Portal . . . . . 598
Adding database access code to PL/SQL blocks . . . . . . . . . . . . 602
Advanced PL/SQL code . . . . . . . . . . . . . . . . . . . . . . . . . . 605
Debugging and Advanced Concepts . . . . . . . . . . . . . . . . . . . . . . 611
Part V: Building Oracle9iAS Portal Sites
Chapter 22: Using Content Areas . . . . . . . . . . . . . . . . . . . . . 617
Understanding the Content Area Architecture . . . . . . . . . . . . . . . . 617
Creating a Content Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
Customizing Content Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622
Manipulating Styles with the Style Manager . . . . . . . . . . . . . . . . . . 629
Setting the banners . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
Modifying items and backgrounds . . . . . . . . . . . . . . . . . . . . 632
Changing the folder layout . . . . . . . . . . . . . . . . . . . . . . . . 634
Modifying the Navigation Bar . . . . . . . . . . . . . . . . . . . . . . . 640
Adding Categories and Perspectives . . . . . . . . . . . . . . . . . . . . . . 647
Adding categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
Adding perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650
Modifying Content Area Properties . . . . . . . . . . . . . . . . . . . . . . . 651
Setting basic properties . . . . . . . . . . . . . . . . . . . . . . . . . . 652
Modifying Content Area quota . . . . . . . . . . . . . . . . . . . . . . 652
Setting folder properties . . . . . . . . . . . . . . . . . . . . . . . . . 652
Setting Content Area logo and database access descriptors . . . . . 652
Chapter 23: Deploying Oracle9iAS Portal Sites . . . . . . . . . . . . . 657
Understanding Portal Deployment Components and Its Architecture . . . 658
Replacing the listener . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
Modifying Database Access Descriptors . . . . . . . . . . . . . . . . . . . . 663
Understanding Application Schemas . . . . . . . . . . . . . . . . . . . . . . 672
Deploying Portal Applications . . . . . . . . . . . . . . . . . . . . . . . . . 675
Schema definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676
Staging areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677
Server configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678
Component deployment . . . . . . . . . . . . . . . . . . . . . . . . . . 679
Using Direct Access URLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680
Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681
Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
Categories and perspectives . . . . . . . . . . . . . . . . . . . . . . . 685
Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
Chapter 24: Content Areas—Part II . . . . . . . . . . . . . . . . . . . 689
Reviewing the Content Area Concept . . . . . . . . . . . . . . . . . . . . . 689
Applying and Securing Content Areas . . . . . . . . . . . . . . . . . . . . . 691
Creating user accounts for Content Areas . . . . . . . . . . . . . . . 691
Adding users and groups to folders . . . . . . . . . . . . . . . . . . . 695
Adding Content to Your Site . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
Adding Content with Advanced Components to the Site . . . . . . . . . . 707
Application components . . . . . . . . . . . . . . . . . . . . . . . . . 707
Application components with parameters . . . . . . . . . . . . . . . 710
Calling PL/SQL procedures . . . . . . . . . . . . . . . . . . . . . . . . 712
Java code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
Using Other Accounts to Add Content . . . . . . . . . . . . . . . . . . . . . 718
Considering Some Advanced Topics . . . . . . . . . . . . . . . . . . . . . . 721
Item management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
Advanced searching . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
Content Areas on portal pages . . . . . . . . . . . . . . . . . . . . . . 724
Part VI: Administering Oracle9iAS Portal
Chapter 25: Administering Oracle9iAS Portal Components . . . . . 729
Using Oracle9iAS Portal Version Control . . . . . . . . . . . . . . . . . . . 729
Managing Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732
The Develop tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732
The Manage tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737
The Access tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741
Managing Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743
Exporting and Importing Components and Applications . . . . . . . . . . 744
Single sign-on accounts . . . . . . . . . . . . . . . . . . . . . . . . . . 745
Security data for users and groups . . . . . . . . . . . . . . . . . . . 746
Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747
Shared components . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748
Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
Content Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
Administering the Oracle9iAS Portal Environment . . . . . . . . . . . . . . 750
Services portlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751
Provider portlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754
Node portlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755
Chapter 26: Oracle9iAS Portal Security . . . . . . . . . . . . . . . . . 757
Understanding Oracle Database Security . . . . . . . . . . . . . . . . . . . 757
Creating Privileged Accounts with Portal . . . . . . . . . . . . . . . . . . . 760
Testing the default developer account settings . . . . . . . . . . . . 766
Modifying account privilege settings . . . . . . . . . . . . . . . . . . 770
Creating Groups and Group Privileges . . . . . . . . . . . . . . . . . . . . . 775
Creating groups and assigning privileges . . . . . . . . . . . . . . . . 777
Creating Privileges on Individual Objects . . . . . . . . . . . . . . . . . . . 781
Setting Schema Privileges . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785
Using the Login Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790
Chapter 27: Monitoring Oracle9iAS Portal Performance . . . . . . . 795
Using Portal Monitoring Tools . . . . . . . . . . . . . . . . . . . . . . . . . 796
Working with the Log registry . . . . . . . . . . . . . . . . . . . . . . 799
Object monitoring tools . . . . . . . . . . . . . . . . . . . . . . . . . . 805
Answers to common questions—customizing the interface . . . . . 813
Monitoring Database Objects . . . . . . . . . . . . . . . . . . . . . . . . . . 818
Database information section . . . . . . . . . . . . . . . . . . . . . . 820
Database Memory Consumption, Transactions, and
Locks section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
Database objects and storage tools . . . . . . . . . . . . . . . . . . . 825
Changing the Activity Log Settings . . . . . . . . . . . . . . . . . . . . . . . 827
Part VII: Advanced Techniques
Chapter 28: Creating Your Own Portlet and Provider . . . . . . . . . 833
Using the Portal Development Kit . . . . . . . . . . . . . . . . . . . . . . . 833
Categories of portlets . . . . . . . . . . . . . . . . . . . . . . . . . . . 834
Using Portlet Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835
Creating a Portlet with PL/SQL . . . . . . . . . . . . . . . . . . . . . . . . . 836
Exposing the Oracle9iAS Portal APIs . . . . . . . . . . . . . . . . . . 836
Creating a Database Provider with PL/SQL . . . . . . . . . . . . . . . . . . 842
Registering Your Provider . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845
Using Your Portlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847
Customizing Your Portlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
Creating user customization stores . . . . . . . . . . . . . . . . . . . 850
Creating a customization form . . . . . . . . . . . . . . . . . . . . . . 851
Enabling customization . . . . . . . . . . . . . . . . . . . . . . . . . . 852
Calling a Built-in Portlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853
Creating a Web Provider and Portlet with Java Server Pages . . . . . . . . 855
Using the URL Portlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 861
Chapter 29: Advanced Tips and Techniques . . . . . . . . . . . . . . 865
Learning Tips and Tricks in PL/SQL . . . . . . . . . . . . . . . . . . . . . . 865
Passing generated default values to forms . . . . . . . . . . . . . . . 866
Generating primary keys using sequences and/or triggers . . . . . . 869
Working with Cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873
Cookie source code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 877
Adding Custom Attributes and Types . . . . . . . . . . . . . . . . . . . . . 886
Appendix A: What’s On the CD-ROM . . . . . . . . . . . . . . . . . . . 897
Appendix B: Loading Portal Examples . . . . . . . . . . . . . . . . . . 907
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915
End-User License Agreement . . . . . . . . . . . . . . . . . . . . . . . . . 958
CD-ROM Installation Instructions . . . . . . . . . . . . . . . . . . . . . . . 960

  ●▬▬▬▬▬❂❂❂▬▬▬▬▬●
●▬▬❂❂▬▬●
●▬❂▬●

═════ ═════

Debian GNU Linux Bible
Debian GNU Linux Bible

About the Author
Steve Hunger has spent the last 10 years in the computer industry, the last four
supporting and integrating multiple platforms for a Fortune 500 Company. Having
been introduced to UNIX while attending Purdue University, he quickly latched onto
Linux as the primary platform for his startup Web hosting and development business
in 1996. He continues operating his Web business, consulting with local businesses,
and freelance writing. When not conquering the world with Linux, he has
co-written and contributed to several books for Macmillan USA and Brady Games,
including work on the line of Mandrake Linux products. His latest work has been for
AOL Press called Powering Up the Internet.

In his spare time he enjoys relaxing with his wife, riding bicycles, and tinkering with
an R/C model that is evolving into something that looks amazing like a plane. He is
also on the Board of Directors for the Central Indiana Linux Users Group
(www.cinlug.org). Steve can be reached at steve@rhinoworld.com.

Preface
As Linux becomes more and more popular, resources to learn and use Linux
become more important. These resources help to guide, direct, and inform an
individual to make the best use of the tools available, just as a stack of boards,
nails, and a hammer don’t make a house—it takes the skilled craftsmanship of a
carpenter to turn the parts into a whole house. Debian GNU/Linux Bible gives you
the skilled guidance to help you turn the individual parts into a system.


Contents at a Glance
Foreword
Preface 
Acknowledgments
Part I: Getting Started
Chapter 1: Introduction to Linux .. . 3
Chapter 2: Installing Debian . . 13
Chapter 3: First Steps as a Linux User  . . 41
Chapter 4: Choosing a GUI . . 63
Chapter 5: Networking . . . 91
Chapter 6: Setting Up for the Internet .  113
Part II: Working with Debian
Chapter 7: Applications. . 133
Chapter 8: Productivity Applications . . 157
Chapter 9: Essential Tools. . 179
Chapter 10: Multimedia .  . 203
Chapter 11: Games . . 217
Part III: Administering Linux
Chapter 12: System Administration .  . 237
Chapter 13: Scripting . . 265
Chapter 14: Shells . . 293
Chapter 15: Linux Kernel . .313
Part IV: Maintenance and Upgrade
Chapter 16: Finding Updated Files . .  337
Chapter 17: Hardware . . 347
Chapter 18: Backups . . 371
Part V: Linux Server 
Chapter 19: Security . . 397
Chapter 20: Firewall. . . 415
Chapter 21: Web Server . 431
Chapter 22: FTP Server .  . . 463
Chapter 23: Network Information System . . 485
Chapter 24: File Server .  . 495
Chapter 25: Mail
Appendix A: What’s On the CD-ROM  . 539
Appendix B: Linux Commands . . 543
Appendix C: Debian Packages  . . 557
Index   . 625
GNU General Public License . .   659
CD-ROM Installation Instructions .  . 664
++++++++++++++++
Contents
Foreword
Preface
Acknowledgments
Part I: Getting Started
Chapter 1: Introduction to Linux
Understanding the Role of the Operating System . . . . . . . . . . . . . . . . 3
History of GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Linux versus Other Operating Systems . . . . . . . . . . . . . . . . . . . . . . 6
The Word on Free Software and Open Source . . . . . . . . . . . . . . . . . . 8
What’s So Special about GNU/Linux? . . . . . . . . . . . . . . . . . . . . . . . 8
Understanding the Debian Distribution . . . . . . . . . . . . . . . . . . . . . 10
Chapter 2: Installing Debian
Preparing Your System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Basic Debian Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Booting off the CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
The main menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Configuring the keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Partitioning a hard disk . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Initializing and activating a swap partition . . . . . . . . . . . . . . . . 18
Initializing a Linux partition . . . . . . . . . . . . . . . . . . . . . . . . 18
Initializing the operating system kernel and modules . . . . . . . . . 19
Configuring device driver modules . . . . . . . . . . . . . . . . . . . . 20
Configuring the network . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Installing the base system . . . . . . . . . . . . . . . . . . . . . . . . . 22
Configuring the base system . . . . . . . . . . . . . . . . . . . . . . . . 23
Booting Linux directly from the hard drive . . . . . . . . . . . . . . . 24
Making a boot floppy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Rebooting the system . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Configuring the Debian system . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Apt configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Using the Debian Package-Management System . . . . . . . . . . . . . . . . 31
What are deb packages? . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Adding deb packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Changing the package archive source . . . . . . . . . . . . . . . . . . 35
Gnome-apt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Installing Non-Debian Software . . . . . . . . . . . . . . . . . . . . . . . . . . 37
RPM packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
tar packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Chapter 3: First Steps as a Linux User 
Logging In and Out of Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Basic Navigation with Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Finding special file locations . . . . . . . . . . . . . . . . . . . . . . . . 43
Finding ready-reference documentation . . . . . . . . . . . . . . . . . 45
Maneuvering through the files . . . . . . . . . . . . . . . . . . . . . . . 48
Stopping the System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Using the reboot, halt, and poweroff commands . . . . . . . . . . . . 56
Using the shutdown command . . . . . . . . . . . . . . . . . . . . . . . 57
Working with the Filesystem and Related Commands . . . . . . . . . . . . . 58
Mounting drives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Chapter 4: Choosing a GUI
Linux’s Graphical User Interface . . . . . . . . . . . . . . . . . . . . . . . . . 63
Deciding on a Graphical Interface . . . . . . . . . . . . . . . . . . . . . . . . 65
Installing and Configuring the X Environment . . . . . . . . . . . . . . . . . 66
X system requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Installing fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Installing the Display Manager . . . . . . . . . . . . . . . . . . . . . . . 69
XF86Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Starting the X server . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Starting X remotely . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Managing the X server . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Installing and Using Window Managers . . . . . . . . . . . . . . . . . . . . . 79
FVWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Enlightenment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Window Maker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Installing and Using Desktop Environments . . . . . . . . . . . . . . . . . . 84
GNOME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
KDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Troubleshooting Your New Components . . . . . . . . . . . . . . . . . . . . 88
Chapter 5: Networking . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Components of the Linux Network . . . . . . . . . . . . . . . . . . . . . . . . 91
TCP/IP Network Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
IP addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Network classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Ports and services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Netmasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Understanding Host Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Understanding Domain Names and the DNS . . . . . . . . . . . . . . . . . . 97
Setting Up the Physical Network . . . . . . . . . . . . . . . . . . . . . . . . 100
Ethernet cards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Hubs and switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Cables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Setting Up the Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Making Changes to the Network . . . . . . . . . . . . . . . . . . . . . . . . 104
Making manual changes . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Adding IP addresses to one Ethernet card . . . . . . . . . . . . . . . 105
Troubleshooting the Network . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Using dmesg to troubleshoot . . . . . . . . . . . . . . . . . . . . . . . 106
Using ifconfig to troubleshoot . . . . . . . . . . . . . . . . . . . . . . 106
Using ping to troubleshoot . . . . . . . . . . . . . . . . . . . . . . . . 108
Using traceroute to troubleshoot . . . . . . . . . . . . . . . . . . . . 109
Using route to troubleshoot . . . . . . . . . . . . . . . . . . . . . . . 110
Chapter 6: Setting Up for the Internet
Connecting to an ISP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Using wvdial to connect . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Using diald to connect . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Web Browsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
E-Mail Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Balsa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Netscape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
mutt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Mail utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
News Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
PAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Netscape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
tin newsreader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
FTP Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Telnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Dial-in PPP Server Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Part II: Working with Debian
Chapter 7: Applications
Installing Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Using the Windows Application with Linux . . . . . . . . . . . . . . . . . . 134
DOSEMU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Wine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
VMware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Plex86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Graphics Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Gimp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
ImageMagick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Browsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Lynx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Mozilla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Opera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Netscape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Chapter 8: Productivity Applications
StarOffice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
The StarOffice desktop . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Applixware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Navigating Applixware . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Alternatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Gnome Office . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Publishing documents with text files . . . . . . . . . . . . . . . . . . 174
TeX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Groff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
File Converters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Chapter 9: Essential Tools
Using Text Editors in Debian GNU . . . . . . . . . . . . . . . . . . . . . . . 179
Learning to use vi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Learning to use Emacs . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Using Commands and Programs . . . . . . . . . . . . . . . . . . . . . . . . 188
alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
grep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
find . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
locate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
cat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
The more program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
The less program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Automating Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
The at command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
The batch command . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
The cron command . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
The anacron command . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Chapter 10: Multimedia
Listening to Audio Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Audio file formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Audio CDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
MP3 on Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Recording CDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Streaming audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Watching Videos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
MPEG videos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
DVD videos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Using Live Voice Chat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Chapter 11: Games
System Considerations for Gaming . . . . . . . . . . . . . . . . . . . . . . . 217
Graphical interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Sound system requirements . . . . . . . . . . . . . . . . . . . . . . . 218
Other system demands . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Playing Debian-Packaged Games . . . . . . . . . . . . . . . . . . . . . . . . 219
Adventure games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Arcade games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Board games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Card games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Simulation games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Strategy games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Multi-player games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
GNOME games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Playing Commercial Games . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
SimCity 3000 Unlimited . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Unreal Tournament . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Part III: Administering Linux
Chapter 12: System Administration
The Roles of the System Administrator . . . . . . . . . . . . . . . . . . . . 237
The System Administrator and the Root Account . . . . . . . . . . . . . . 239
Using the su command . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Using the sudo command . . . . . . . . . . . . . . . . . . . . . . . . . 241
Administering and Setting up Accounts . . . . . . . . . . . . . . . . . . . . 242
The passwd file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
The purpose of shadow passwords . . . . . . . . . . . . . . . . . . . 243
The group file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Employing adduser to add a user account . . . . . . . . . . . . . . . 244
The new user template—skel . . . . . . . . . . . . . . . . . . . . . . 245
Using userdel to remove a user . . . . . . . . . . . . . . . . . . . . . . 246
Restricting access to the root account . . . . . . . . . . . . . . . . . 246
Setting File and Directory Permissions . . . . . . . . . . . . . . . . . . . . . 246
Access with chmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Changing user ownership with chown . . . . . . . . . . . . . . . . . . 249
Changing group membership with chgrp . . . . . . . . . . . . . . . . 250
Using Quotas for Accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Installing quotas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Using edquota . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Quota reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Using System Monitoring Tools . . . . . . . . . . . . . . . . . . . . . . . . . 255
Monitoring system log files . . . . . . . . . . . . . . . . . . . . . . . . 255
Disk monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
User monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Automated monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Chapter 13: Scripting
Working with Perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Finding documentation for Perl . . . . . . . . . . . . . . . . . . . . . 265
Using modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Using Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Using Kaffe and the Sun JDK . . . . . . . . . . . . . . . . . . . . . . . 273
Using gcj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Finding documentation for Java . . . . . . . . . . . . . . . . . . . . . 274
Using Java libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Using Tcl/Tk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Finding documentation for Tcl/Tk . . . . . . . . . . . . . . . . . . . . 277
Adding Tcl/Tk libraries . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Programming With Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Finding documentation for Python . . . . . . . . . . . . . . . . . . . . 278
Installing Python libraries . . . . . . . . . . . . . . . . . . . . . . . . . 279
Using C/C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Finding C/C++ documentation . . . . . . . . . . . . . . . . . . . . . . 284
Using C/C++ tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Using C/C++ libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Chapter 14: Shells
What Is a Shell? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Using the shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
The Command Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Standard input and output . . . . . . . . . . . . . . . . . . . . . . . . 295
Command substitution . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Jobs and job control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Escaping—special characters . . . . . . . . . . . . . . . . . . . . . . 303
Shell variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
The Shell Variants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Bourne shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
C shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Korn shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Special shell characters . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Shell Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Chapter 15: Linux Kernel
Configuring the Linux Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Kernel code and versions . . . . . . . . . . . . . . . . . . . . . . . . . 315
Kernel modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Adding modules on the fly . . . . . . . . . . . . . . . . . . . . . . . . 317
Upgrading and updating the kernel . . . . . . . . . . . . . . . . . . . 318
Making changes to the kernel . . . . . . . . . . . . . . . . . . . . . . . 319
Compiling and installing a new kernel . . . . . . . . . . . . . . . . . . 322
Using the Linux Boot Loader . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Configuring LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Adding the new kernel to LILO . . . . . . . . . . . . . . . . . . . . . . 326
Booting to other operating systems . . . . . . . . . . . . . . . . . . . 327
Testing and installing a new LILO configuration . . . . . . . . . . . . 327
System Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Run levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Initialization scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Adding and removing daemon programs . . . . . . . . . . . . . . . . 334
Part IV: Maintenance and Upgrade
Chapter 16: Finding Updated Files
Defining System Bugs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Bugless software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Stable versus secure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Bugs versus features . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Getting help and reporting bugs . . . . . . . . . . . . . . . . . . . . . 340
Patches that fix bugs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Updating Debian Files with the Package-Management System . . . . . . . 341
Upgrading from an older Debian version . . . . . . . . . . . . . . . . 343
Upgrading over the Internet . . . . . . . . . . . . . . . . . . . . . . . 343
Upgrading from installation CD-ROMs . . . . . . . . . . . . . . . . . . 345
Chapter 17: Hardware
Finding Linux-Compatible Hardware . . . . . . . . . . . . . . . . . . . . . . 347
Finding Linux-Compatible Laptops . . . . . . . . . . . . . . . . . . . . . . . 353
Adding Hardware to Your Linux System . . . . . . . . . . . . . . . . . . . . 356
Hard drives and CD-ROM drives . . . . . . . . . . . . . . . . . . . . . 357
Changing video cards . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Adding and changing network cards . . . . . . . . . . . . . . . . . . . 359
Adding Peripheral Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Iomega drives (Zip, Jaz, and so on) . . . . . . . . . . . . . . . . . . . 361
Scanners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Offline printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Setting up printer queues . . . . . . . . . . . . . . . . . . . . . . . . . 367
Apsfilter configuration tool . . . . . . . . . . . . . . . . . . . . . . . . 368
Chapter 18: Backups
Planning for Failure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Choosing a Backup Technique . . . . . . . . . . . . . . . . . . . . . . . . . 372
Knowing what to back up . . . . . . . . . . . . . . . . . . . . . . . . . 373
Knowing what to back up with caution . . . . . . . . . . . . . . . . . 374
Choosing adequate media . . . . . . . . . . . . . . . . . . . . . . . . . 375
Choosing a backup method . . . . . . . . . . . . . . . . . . . . . . . . 377
Selecting Your Backup and Restore Tools . . . . . . . . . . . . . . . . . . . 378
amanda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
dump/restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
KBackup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
mirrordir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Taper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
tar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Creating a backup using a CD-ROM . . . . . . . . . . . . . . . . . . . 390
Recovering from a Crashed System . . . . . . . . . . . . . . . . . . . . . . 392
Rescue disk boot options . . . . . . . . . . . . . . . . . . . . . . . . . 393
Fixing disk problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Part V: Linux Server
Chapter 19: Security
Understanding the Need for Security . . . . . . . . . . . . . . . . . . . . . . 397
Avoiding crackers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Tools of the Trade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Authentication tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Network monitoring tools . . . . . . . . . . . . . . . . . . . . . . . . . 401
Service and integrity tools . . . . . . . . . . . . . . . . . . . . . . . . 402
Diagnostic tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
Other helpful tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
Limiting the Available Services . . . . . . . . . . . . . . . . . . . . . . . . . 405
Viruses, worms, and other creepy things . . . . . . . . . . . . . . . . 407
Setting secure permissions . . . . . . . . . . . . . . . . . . . . . . . . 407
A word about passwords . . . . . . . . . . . . . . . . . . . . . . . . . 408
Tips for Securing Your System . . . . . . . . . . . . . . . . . . . . . . . . . 409
The compromised system . . . . . . . . . . . . . . . . . . . . . . . . . 412
Sources for additional information . . . . . . . . . . . . . . . . . . . . 413
Chapter 20: Firewall 
Protecting a Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Hardware Requirements and Preparations . . . . . . . . . . . . . . . . . . 416
Adding a Second Network Card . . . . . . . . . . . . . . . . . . . . . . . . . 417
Using ipchains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Masquerading a Private Network . . . . . . . . . . . . . . . . . . . . . . . . 422
Configuring a Firewall with PMFirewall . . . . . . . . . . . . . . . . . . . . 423
Locking Down the Firewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Squid Proxy Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
Accessing the Internet through a Firewall/Proxy . . . . . . . . . . . . . . . 428
Chapter 21: Web Server
Introduction to Apache Web Server . . . . . . . . . . . . . . . . . . . . . . 431
Installing the Apache Server . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
Configuration files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
The httpd.conf configuration file . . . . . . . . . . . . . . . . . . . . . 434
The srm.conf configuration file . . . . . . . . . . . . . . . . . . . . . . 444
The access.conf configuration file . . . . . . . . . . . . . . . . . . . . 453
Controlling the daemon . . . . . . . . . . . . . . . . . . . . . . . . . . 456
Monitoring the Web server . . . . . . . . . . . . . . . . . . . . . . . . 456
Setting Controls for Web Pages . . . . . . . . . . . . . . . . . . . . . . . . . 457
.htaccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
htpasswd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
Enabling Virtual Hosting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
Chapter 22: FTP Server
All About FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
Anonymous FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
Installing and Configuring an FTP Server . . . . . . . . . . . . . . . . . . . 465
The ftpd server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
The wu-ftpd server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
The proftpd server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
Administering an FTP Server . . . . . . . . . . . . . . . . . . . . . . . . . . 475
Using FTP Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
The ftp client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
The ncftp client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
The xftp client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
gftp clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
Browsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
Chapter 23: Network Information System
The Network Information System . . . . . . . . . . . . . . . . . . . . . . . . 485
An overview of NIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Configuring a Master NIS Server . . . . . . . . . . . . . . . . . . . . . . . . 487
Configuring a NIS Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
Configuring a NIS Slave Server . . . . . . . . . . . . . . . . . . . . . . . . . 490
Using NIS Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Administering NIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
Chapter 24: File Server
Using the Network File System . . . . . . . . . . . . . . . . . . . . . . . . . 496
Installing and running NFS . . . . . . . . . . . . . . . . . . . . . . . . 496
Setting up the NFS shares in /etc/exports . . . . . . . . . . . . . . . . 497
Mounting an NFS share automatically . . . . . . . . . . . . . . . . . . 499
Mounting an NFS file system manually . . . . . . . . . . . . . . . . . 501
Unmounting an NFS filesystem . . . . . . . . . . . . . . . . . . . . . . 502
Sharing Files Using Samba . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
Installing Samba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
Configuring Samba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
Testing the Samba server . . . . . . . . . . . . . . . . . . . . . . . . . 511
Configuring Samba with SWAT . . . . . . . . . . . . . . . . . . . . . . 512
Configuring Samba with gnosamba . . . . . . . . . . . . . . . . . . . 513
Checking the network with smb-nat . . . . . . . . . . . . . . . . . . . 514
Connecting to a Samba server from Linux . . . . . . . . . . . . . . . 514
Connecting to a Samba server from Windows . . . . . . . . . . . . . 515
Sharing files between Linux and Windows machines . . . . . . . . . 515
Chapter 25: Mail
Understanding Internet E-Mail Protocols and Standards . . . . . . . . . . 517
exim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Using Sendmail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
Questions during installation . . . . . . . . . . . . . . . . . . . . . . . 525
Alternatively configuring sendmail . . . . . . . . . . . . . . . . . . . 528
Testing and using sendmail . . . . . . . . . . . . . . . . . . . . . . . . 529
General Mail Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . 530
E-mail aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
Forwarding your mail . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
Virtual mail server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
DNS and Internet mail . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
Using mailing lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
Setting Up POP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
Installing and configuring POP . . . . . . . . . . . . . . . . . . . . . . 534
Testing POP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
Setting Up IMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
Installation and configuration . . . . . . . . . . . . . . . . . . . . . . 536
Testing IMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
Getting Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
Appendix A: What’s On the CD-ROM
Using the CD with Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
What’s On the CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
Source code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
Appendix B: Linux Commands
Linux Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
bin commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
sbin commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
usr commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
Appendix C: Debian Packages
Administration utilities . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Base utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
Communication programs . . . . . . . . . . . . . . . . . . . . . . . . 565
Editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
Mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
Newsgroups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
Other OS’s and file systems . . . . . . . . . . . . . . . . . . . . . . . . 600
Shells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603
Sound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603
Utilities for I/O and storage . . . . . . . . . . . . . . . . . . . . . . . . 609
Web software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
GNU General Public License
CD-ROM Installation Instructions

Whom This Book Is For
This book covers the many aspects of the Debian GNU/Linux system, from the initial
install of this reputable operating system to the more advanced functions like
Web servers or file servers. You do not need to have any special programming experience
to use this book. You may just want to learn how to use Debian as a workstation environment.

This book does assume some level of general computer knowledge, even though
not specifically related to Linux or UNIX. Many people get introduced to Linux after
becoming familiar with another operating system. You may be someone who wants
to learn something new, someone who wants to know what all the buzz is about
Linux, or someone who just likes the idea that the software and upgrades are free.

Whatever the reason you are reading this book, I’m sure that you will find assistance
in the pages of this book. You will find everything from installation to administration
to server setup. This book will give you the boost needed to set up a home
or office network and to maintain that network of computers.

 Screenshot 

Debian GNU Linux Bible, Hungry Minds

Purchase Now !
Just with Paypal



Product details
 Price
 File Size
 6,798 KB
 Pages
 677 p
 File Type
 PDF format
 ISBN
 0-7645-4710-0
 Copyright
 2001 Hungry Minds, Inc  
●▬▬▬▬▬❂❂❂▬▬▬▬▬●
●▬▬❂❂▬▬●
●▬❂▬●


═════ ═════

Loading...
DMCA.com Protection Status