The author assumes the reader has access to a computer, but does not assume detailed knowledge of Linux, web servers or the Internet. A novice should be able to use the information in this book to set up a web server, and an experienced user will also find information of value.
The 21 chapters are grouped into four parts: planning, installation, maintenance and adding advanced features to your web server.
Chapters 1 and 2 discuss non-technical issues related to creating a web site for a business and provide some background technical information for novices. Chapter 3 sells Linux as the choice platform for a web server, followed by a discussion of UNIX and Internet terminology in Chapter 4. Part I can be skimmed (or skipped) by more advanced users.
Chapter 5 reviews hardware requirements, then takes the reader through the steps of installing Linux. As I had no need to install an older version of Linux, I did not install anything from the CD. The book is not a replacement for a detailed installation guide, but does provide sufficient information so that a novice can install the software. While sparse (nine pages), the section on configuring XFree86 is quite well-written and should get most people through the ``fun'' of creating an XF86Config file. However, it does not provide a troubleshooting guide, so users with non-standard or ``problem'' hardware will need to read the HOWTOs and Release Notes. One important item missing is a warning that probing the video hardware may hang the computer. Novices need to know this, especially after learning that driving the monitor at too high a frequency can damage it. A brief discussion on network configuration follows.
Chapter 6 takes the user through installation and setup of both Apache and Netscape FastTrack web servers. FastTrack is a commercial product not included on the CD. Finally, Chapter 7 builds on the basic terminology of Chapter 3 and looks at connecting to the Internet in more detail. Over 90 pages cover everything from ``what being connected means'' to setting up DNS. The emphasis is on the requirements and available options for setting up a commercial web server.
Business issues such as advertising, search engines and gathering data are discussed briefly in Chapter 8; readers setting up personal web sites can skip it. Basic HTML is covered in Chapter 9, but not in any great depth. URLs are provided for HTML authoring tools and other information, but enough detail exists to allow a novice to create basic pages with tables, links and graphics. This information is expanded in Chapter 10 to include web site scripts and forms.
The rest of Part III (Chapters 11 to 14) covers configuration of the web server, additional services and collecting statistics. Chapter 11 is specific to Apache and provides a thorough overview, but the material is rather dated. (Apache v1.1.1 is included on the CD.) If you intend to set up a web server, I advise purchasing the O'Reilly book on Apache and visiting these web sites: http://www.apache.org/ and http:/www.apacheweek.com/.
As most people seem to be using Apache, I skipped Chapter 12 which describes configuring Netscape's Fastrack server. Chapter 13 discusses the pros and cons of web site statistics and provides URLs for web server statistical tools. Finally, Chapter 14 covers additional services such as FTP, e-mail, gopher and WAIS.
A very brief (eight page) introduction to Java and JavaScript is given in Chapter 15. Version 1.0.2 of the JDK is provided on the CD, but a list of related web sites would have been helpful as well. Those interested in Java and/or JavaScript will want to look for books on those specific topics. Almost as brief, but more detailed, Chapter 16 discusses gateways (such as e-mail and database) and provides lists of sites for gateway software. The novice will be able to learn enough about gateways to understand what they do and whether one is required. The next chapter gives a quick overview of application programming interfaces (API) for Fastrack and Apache. APIs allow the user to extend the capabilities of the server. More detailed documentation will be required by those wishing to actually do this.
Chapter 18 concerns the all-important issue of security. It begins with a summary of types of attacks, both generic and web-specific. A checklist of tests to try and files to check gives the novice a good starting point for reviewing site security. This is followed by a brief discussion on firewalls. The reader is then pointed to an on-line firewall FAQ and http://www.yahoo.com to search for more information.
The remaining chapters deal with issues of web maintenance, backup and Linux package upgrading. Chapter 19 includes a list of HTML validation tools and recommends HTML Analyzer for automated checking of your web site files. The book finishes with a description of the CD-ROM files in Appendix A.
The CD included with my copy of the book contained complete, but somewhat dated, software. For example, it installs kernel v2.0.29, Apache v1.1.1 and v1.0.2 of the Java Development Kit. However, this book is hardly unique in this respect--users will generally buy or download the latest releases elsewhere. The important issue is the CD provides all the software necessary to install and set up an Apache server on a Linux 2.0.x kernel. Some additional tools are included on the CD including (much to my surprise) Xemacs. I would like to see Xemacs included on more CD sets.
The book provides a reasonable overview of the issues and mechanics relating to implementing a web server. The target audience is beginner to intermediate-level users. If you are computer literate but a web novice, this book contains sufficient detail to enable you to set up a web server. The depth is such that more advanced people will also find the book useful, but it will not make someone an expert on Apache or Java. Throughout the book, URLs are provided so the reader can obtain more information, documentation or software related to the specific topics being discussed. This is especially useful given how quickly a printed book can become dated. If you're interested in what is involved in setting up a commercial web site, this book is a very good place to start.
Keith P. de Solla, P.Eng is an underemployed VLSI CAD Engineer, currently masquerading as a Linux guy. When not doing computer stuff, he can be found engaged in the politically incorrect (but really fun) activity of action pistol shooting. He can be reached via e-mail at kdesolla@cyberus.ca.