The Book of Webmin

Or: How I Learned to Stop Worrying and Love UNIX

Joe Cooper

Abstract

Documents system configuration and ongoing system maintenance using the Webmin web-based administration tool.


Table of Contents

Preface
Conventions Used in This Book
Who Webmin is For
Who This Book is For
Why a Webmin Book?
How to Contact the Author and Errata
How to Contact No Starch Press
Acknowledgments
1. Obtaining and Installing Webmin
Where to Download Webmin
Installing Webmin
Installing from a tar.gz
Installing from an RPM
Installing from a pkg
After Installation
Changing Webmin Passwords from the Command Line
Changing the Webmin Port from the Command Line
Restarting Webmin from the Command Line
2. Logging In
Logging in with Netscape or Internet Explorer
Logging in with Lynx
A First Look
3. Webmin Category
Webmin Actions Log
Webmin Configuration
IP Access Control
Port and Address
Logging
Proxy Servers
User Interface
Webmin Modules
Operating System
Language
Index Page Options
Upgrade Webmin
Authentication
Reassign Modules
Edit Categories
Webmin Themes
Trusted Referers
Anonymous Module Access
SSL Encryption
Certificate Authority
Webmin Servers
Webmin Users
Editing a Webmin User
Creating Webmin Users
Webmin Groups
Tutorial: Securing Webmin
Password Policy
Setting Network Access Controls
Enabling SSL
Firewall Configuration
Other Security Techniques and Tools
4. Usermin: A Webmin for Users
Introduction to Usermin
Usermin Installation
Checking for the Authen-PAM Perl Module
Obtaining Usermin
Installing the Package or Tarball
Installing Usermin from an RPM
Usermin Configuration
Usermin Module Configuration
Available Modules
When to Use Usermin
5. General System Configuration
Bootup and Shutdown
Change Password
Configuring Access Control for Change Password
Disk Quotas
Linux Native Filesystem Mount Details
Linux Advanced Mount Options
Solaris Filesystem Options
Solaris Advanced Mount Options
System Documentation
System Documentation Search
Searching documentation from another module
Process Manager
Scheduled Commands
Scheduled Cron Jobs
Software Packages
Introduction to Package Managers
Supported Operating Systems
Using the Package Manager
System Logs
Adding a System Log
Users and Groups
Users and Groups Module Configuration
Creating a new User
6. Server and Daemon Configuration
Introduction to Servers
7. Apache Webserver
Global Configuration
Processes and Limits
Networking and Addresses
Apache Modules
About Apache Modules
MIME Types
Miscellaneous
CGI Programs
Per-Directory Options Files
Virtual Servers
Log Files
Document Options
Error Handling
User and Group
Aliases and Redirects
Directory Indexing
Image Maps
Proxying
Server Configuration
Tutorial: A Basic Apache Configuration
Configuring Apache Paths
Module Selection
Adding Content
Starting Apache
Tutorial: Name-Based Virtual Hosting With Apache
Converting a Default Server to a Virtual Server
Adding Other Virtual Server Names
8. BIND
A brief history of BIND
Walking through an example query
The BIND Module
Global Server Options
Other DNS Servers
Logging and Errors
Access Control Lists
Files and Directories
Forwarding and Transfers
Addresses and Topology
Miscellaneous Options
Control Interface Options
Control options
DNS Keys
Installing a key
Zone Defaults
Defaults for new master zones
Default zone settings
Existing DNS Zones
Creating a New Zone
Creating a Forward Master Zone
Creating a Reverse Master Zone
Adding Records to a Master Zone
Creating a Slave or Stub Zone
Creating a Forward Zone
Tutorial: Setting up a Caching Nameserver with BIND
Initializing the named.conf
Adding Forwarders
Tutorial: Name Resolution for Virtual Hosts
Create a new master forward zone
Adding Address Records
Adding an Mail Server Record for Mail
Troubleshooting BIND
Using host
Using dig
9. FTP Server
Users and Classes
Messages and Banners
Limits and Access Control
Networking
Logging
Aliases and Paths
Anonymous FTP
Permissions
Miscellaneous Options
10. Postfix
General Options
Most Useful General Options
Other General Options
Address Rewriting and Masquerading
Mail Aliases
Aliases Options
Aliases
Canonical Mapping
Canonical Mapping Tables
Editing Canonical Mappings
Virtual Domains
Transport Mapping
Relocated Mapping
Local delivery
General resource control
SMTP server options
SMTP Client Options
Delivery Rates
Debugging features
Postfix, Unsolicited Commercial Email and Access Controls
Access Control List Order
Tutorial: Setting up a basic Postfix mail server
Tutorial: Virtual Hosting email with Postfix
11. Sendmail
Configuring Sendmail
The Sendmail Module
Options
Other Support Files
Mail Aliases
Local Domains
Domain Masquerading
Trusted Users
Address Mapping
Domain Routing
Outgoing Addresses (generics)
Outgoing Domains
Domain Mapping
Spam Control
Relay Domains
Mail Queue
User Mailboxes
Editing the m4 Configuration File
Adding a Feature
Tutorial: Setting Up Sendmail
Configuring Domains to Receive Mail For
Permitting Local Users to Relay
Tutorial: Virtual Hosting Email with Sendmail
Adding Address Mapping Entries
12. Squid
Ports and Networking
Other Caches
Internet Cache Protocol
Parent and Sibling Relationships
When to Use ICP
Other Proxy Cache Servers
Edit Cache Host
Cache Selection Options
Memory Usage
Logging
Cache Options
Cache directories
Other Cache Options
Helper Programs
Authentication Programs
Basic and Digest authentication options
NTLM authentication options
Access Control
Access Control Lists
Administrative Options
Miscellaneous Options
Tutorial: A Basic Squid Proxy Configuration
Opening access to local clients
Initializing the Cache Directory
Starting Squid and Testing
Tutorial: Interception Proxying
Configuring Squid for Transparency
Linux Firewall Configuration For Transparent Proxying
13. Networking Configuration
NFS Exports
Export details
Export security
Network Configuration
Network Interfaces
Routing and Gateways
DNS Client
Host Addresses
14. Hardware Configuration
Linux Boot Configuration
GRUB Boot Loader
Global Options
Edit Boot Option
Partition Manager
Printer Administration
15. Others Category
Command Shell
Custom Commands
File Manager
Editing
Info
EXT
Perl Modules
System and Server Status
Adding a Monitor
Scheduled Monitoring
Index

List of Figures

2.1. Entering the URL
2.2. Session Authentication
2.3. A First Look
2.4. A first look from Lynx
3.1. Webmin Configuration
3.2. Webmin Servers
3.3. Editing User Access Controls
3.4. Create Webmin User
4.1. Usermin Configuration index
4.2. Configurable options for Read Mail
4.3. Default user preferences for Read Mail
5.1. System Category
5.2. Mounted Filesystems
5.3. Linux Native Filesystem Mount Details
5.4. Advanced Mount Options
5.5. System Documentation
5.6. Running Processes
5.7. Create Cron Job
5.8. Software Package Management on Solaris
5.9. Install Package
5.10. Edit Package
5.11. System Logs
5.12. Creating a new user
5.13. Editing a group
6.1. Servers Category
7.1. Apache Global Configuration
7.2. Networking and Addresses
7.3. Apache Modules
7.4. Apache MIME Types
7.5. Apache Miscellaneous Page
7.6. Apache CGI Programs
7.7. Per-Directory Options File
7.8. Virtual Servers
7.9. Creating a new virtual host
8.1. The BIND start page
8.2. Configuring Other Servers
8.3. Creating a new logging channel
8.4. Forwarding and Transfers
8.5. Zone defaults
8.6. Creating a new master zone
8.7. Creating a Reverse Master Zone
8.8. Edit Master Zone
8.9. Adding an Address Record
8.10. Creating a Slave Zone
8.11. An example master zone
9.1. WU-FTPD Server
9.2. Users and Classes
9.3. Messages and Banners
9.4. Logging
10.1. Postfix
10.2. Most Useful General Options
10.3. Other General Options
10.4. Address Rewriting and Masquerading
10.5. Local Delivery
10.6. General resource control
10.7. The Virtual Domains Table
11.1. Sendmail module
11.2. User Email
11.3. M4 Configuration File
12.1. Squid Proxy Main Page
12.2. Edit Cache Host Page
12.3. Some global ICP options
12.4. Memory and Disk Usage
12.5. Logging Configuration
12.6. Setting Squid Debug Levels
12.7. Configuring Squids Cache Directories
12.8. Other Cache Options
12.9. Cache Helper Program
12.10. Configuring a Redirector
12.11. Authentication Configuration
12.12. Autentication Programs
12.13. Access Control Lists
12.14. ACL section
12.15. Edit an ACL
12.16. Creating an ACL
12.17. Administrative Options
12.18. Miscellaneous Options
12.19. Transparent Configuration of Squid
13.1. Create NFS Export
13.2. Network Configuration
13.3. Network Interfaces
13.4. Editing a Bootup Interface
13.5. Routing and Gateways
13.6. DNS Client
13.7. Host Addresses
14.1. Hardware Configuration
14.2. Linux Bootup Configuration
14.3. Editing Boot Kernel
14.4. GRUB Boot Loader
14.5. Global Options
14.6. Edit Boot Option
14.7. Partition Manager
14.8. Printer Administration
14.9. Adding a New Printer
14.10. Adding a New Printer (cont'd)
15.1. Command Shell
15.2. Create a New Custom Command
15.3. Output From Pinger Custom Command
15.4. Ping Host Custom Command
15.5. File Manager
15.6. Editing
15.7. Info
15.8. EXT
15.9. Installed Perl Modules
15.10. System and Server Status
15.11. Create Monitor