Table of Contents


Acknowledgments
What is an Internet-Enhanced Book?
Preface
Conventions

Chapter One. The Global Recipe

Chapter Two. Introduction

2.1 What is the Internet?
2.2. What it Means to Serve the Internet
2.2.1 Canon of Conduct
2.3. Internet 101
2.3.1 Addresses
2.3.2 The Mechanics of Server Access
2.3.3 MIME Types
2.4. Client Server 101
2.4.1 E-mail as an Example
2.5. Internet Information Related Tools 101
2.5.1 File Transfer with ftp
2.5.1.1 Searching ftp Archives with Archie
2.5.2 Mail Services
2.5.3 Web Browsers
2.5.3.1 Line-oriented Web Browsers
2.5.3.2 Graphical Web Browsers
2.5.3.3 3-D Browsers
2.5.4 Compute-capable Browsers
2.5.5 Search Engines
2.5.6 Audio Players
2.5.7 Video Players
2.5.9 Format Convertors
2.5.10 Authoring and Editing Tools
Languages

Chapter Three. Planning for the Server

3.1. Who Is the Intended Audience? 30
3.2. What Services Should I Support? 31
3.2.1 Choice of ftp Servers * 32
3.2.2 Mail Services 34
3.2.2.1 Choice of Mail Information Servers * 35
3.2.2.2 Choice of Listservers * 36
3.2.2.3 Choice of Miscellaneous Mail-related Tools * 37
3.2.3 Choice of Web (http) Servers * 38
3.2.4 Emerging Server Technology 41
3.3. What Information Types Will I Encounter? 41
3.3.1 Text Files 43
3.3.2 Tar Files 43
3.3.3 Compressed Files 45
3.3.4 Binary 47
3.3.5 Sound 47
3.3.6 Images (Including Graphics) 48
3.3.7 Movies 49
3.3.8 Hypertext Markup Language (HTML) 49
3.3.9 TeX 49
3.3.10 PostScript 50
3.3.11 Rich Text Format 50
3.3.12 troff/nroff/roff 50
3.3.13 Mail Files 51
3.4. What Browsers, Viewers and Players Will I Need? 51
3.4.1 Browsers 51
3.4.1.1 2-D 52
3.4.1.2 3-D 54
3.4.2 Viewers, Editors, and Players 54
3.5. What Filters Will I Need? 56
3.6. What Editors Will I Need? 58
3.6.1 HTML Editors 58
3.7. What Search Engines Will I Need? 60
3.8. What Other Tools Will I Need? 61
3.9. What Non-software Resources Will I Need? 62
3.9.1 Hardware 62
3.9.1.1 Network Bandwidth 63
3.9.1.2 Disk Space 63
3.9.1.3 Memory Requirements 64
3.9.1.4 CPU Requirements 64
Human 65

Chapter Four. Prerequisite Infrastructure

4.1. Internet Access 66
4.1.1 A Note on Internet Service Providers (ISPs) * 67
4.1.2 A Physical Network Connection 68
4.1.3 Getting an IP Address * 71
4.1.4 Network Protocols 72
4.1.5 Configuring the Network Software 73
4.1.6 Testing the Connection 74
4.1.7 Name Serving 75
4.1.8 Further Reading * 76
4.2. Configuration 78
4.2.1 Naming the Server 78
4.2.2 Mail Aliases 79
4.2.3 UNIX 80
4.2.4 X/Motif 81
4.3. Security 82
4.3.1 Checklist 82
Further Reading * 84

Chapter Five. Information Layout
5.1. Introduction 86
5.2. Types of Information to Organize 87
5.3. Directory Hierarchy 88
5.3.1 A Note on Symbolic Links 91
File Naming 92

Chapter Six. Clients

6.1. Using ftp 96
6.1.1 Downloading - An Example 97
6.1.2 Installing archie * 102
6.1.2.1 Software Snapshot 102
6.1.3 Using archie 102
6.2. Using a Listserver 104
6.3. Web Browsers (Clients) 109
6.3.1 lynx 109
6.3.1.1 Software Snapshot * 109
6.3.1.2 Installing and Configuring Lynx - A Template for all Software Installations 110
6.3.1.3 Using lynx 112
6.3.2 Mosaic 112
6.3.2.1 Software Snapshot * 113
6.3.2.2 Compiling - An Example 113
6.3.2.3 Installation Notes 120
6.3.3 Netscape Navigator 121
6.3.3.1 Software Snapshot * 121
6.3.3.2 Installation Notes 121
6.3.4 HotJava 124
6.3.4.1 Software Snapshot * 124
6.3.5 VRML Browsers 125
6.3.5.1 Software Snapshot * 125
6.4. Graphics Viewers 125
6.4.1 Ghostview 125
6.4.1.1 Software Snapshot * 126
6.4.1.2 Installation Notes 127
6.4.2 xv 127
6.4.2.1 Software Snapshot * 127
6.4.2.2 Installation Notes 127
6.5. Sound Players 128
6.6. Video Viewer 129
6.6.1.1 Software Snapshot * 129
6.6.1.2 Installation Notes 129

Chapter Seven. Server Installation

7.1. Anonymous ftp Error! Bookmark not defined.
7.1.1 Basic Server Configuration 132
7.1.1.1 Security * 134
7.1.1.2 Registering Your ftp Archive with Archie 134
7.1.2 Enhanced ftp 134
7.1.2.1 Software Snapshot * 135
7.1.2.2 Installation Notes * 135
7.2. A Listserver: Majordomo 138
7.2.1 Software Snapshot * 139
7.2.2 Installation Notes * 139
7.2.3 Using * 142
7.3. A Web Server: NCSA 142
7.3.1 Software Snapshot * 142
7.3.2 Installation Notes * 142
7.4. A Web Server: wn 145
7.4.1 Software Snapshot * 145
7.4.2 Installation Notes * 146
7.4.3 Using - Security Implications 152
7.5. A Search Tool: Harvest 154
7.5.1 Software Snapshot * 156
7.5.2 Installation Notes * 157
7.5.3 Using 161
Customizing 165

Chapter Eight. Web Documents

8.1. Authoring Versus Editing Versus Publishing 168
8.2. Hypertext - The Basics * 170
8.2.1 Text Markup 171
8.2.2 HTML - The Basics * 173
8.2.2.1 HTML Tags * 174
8.2.2.2 HTML Anchors 175
8.2.2.3 Including Images * 177
8.2.2.4 Basic Page Layout 181
8.2.3 Learning through View Source and Downloading 183
8.2.4 Putting It all Together - Your Home Page 183
8.2.5 More HTML Basics 187
8.2.5.1 Modified Anchors 187
8.2.5.2 Character Formatting * 188
8.2.6 Structuring Web Documents 189
8.2.7 A Group's Home Page 191
8.2.8 The Look and Feel (Style) of Web Pages 195
8.2.8.1 Look: Controlling the Background 195
8.2.8.2 Look: Controlling the Foreground * 198
8.2.8.3 Look: Using Clip Art * 199
8.2.8.4 Feel: Some Guidelines * 199
8.2.9 HTML Templates * 202
8.2.10 Debugging HTML 203
8.3. HTML Editors * 203
Publishing Your Web Pages * 204

Chapter Nine. Advanced Web Documents

9.1. Tables 207
9.1.1 A Simple Example 207
9.1.2 A More Complex Example 208
9.1.3 Further Information * 209
9.1.4 Online Tutorials * 211
9.2. Frames 211
9.2.1 Examples * 216
9.2.2 Online Tutorials * 219
9.3. Server Side Includes * 220
9.3.1 Other Types of Server Side Includes 222
9.3.2 Online Tutorials * 226
9.4. Clickable Maps 227
9.4.1 Online Tutorials * 230
9.4.2 Clickable Map Editing Tools 231
9.4.2.1 Mapedit Software Snapshot * 231
Client Side Clickable Maps 231

Chapter Ten. Web Input Processing

10.1. Introduction 234
10.2. Web Forms * 237
10.2.1 Online Tutorial * 241
10.3. The Common Gateway Interface * 242
10.3.1 CGI Online Tutorials * 245
10.3.2 Sources of Perl Information * 245
10.4. Handling Web Forms Information by Example 246
10.4.1 Soliciting Feedback - A Comments Page 246
10.4.2 Executing a Server Program 250
10.4.3 An Automated Archive: The Positions Vacant Page 255
Overcoming The Stateless Interaction 262

Chapter Eleven. The Global Computer

11.1 Computing Via the Internet 265
11.2 Java * 267
11.2.1 Overview 268
11.2.2 Major Features 270
11.2.2.1 Network Ready 271
11.2.2.2 Hardware Neutral 271
11.2.2.3 GUI Neutral 272
11.2.2.4 Extensive Class Library, Language Support, and Documentation * 272
11.2.2.5 Standard Compliant 273
11.2.2.6 Support for Threads 273
11.2.2.7 Object-Oriented and Other Language Features 273
11.2.2.8 Security 274
11.3 JavaScript * 275
11.4 Simple Examples 276
11.4.1 JavaScript 276
11.4.2 Java 279
Thoughts on Developing with Java 283

Chapter Twelve. Server Maintenance

12.1. Log and Error File Formats 285
12.1.1 ftp 285
12.1.2 Listserver 286
12.1.3 Web Server 286
12.2. Monitoring Usage 287
12.2.1 ftp with FTPWebLog * 288
12.2.2 Majordomo with logsummary.pl 290
12.2.3 WWW with Various Tools 291
12.2.3.1 Common Log Format * 291
12.2.3.2 Error Logs 294
12.2.3.3 Agent Logs 297
12.2.3.4 Referer Logs 298
12.3. Preventive Maintenance 302

Epilogue

Appendix A Internet-based Resources for Learning
UNIX and UNIX Administration
Appendix B HTML Reference Guide
Glossary