Using Open Source Web Software with Windows, by Eric Hunley, ISBN: 1-58450-430-7

Reviewed by: Songmuh Jong, February 2006
Published by: Charles River Media
Requires: Windows, Internet connection
MSRP: US$39.95, CA$53.95

Open source software has been around since the beginning of the Internet. Developers on every platform benefit by sharing source code. Most of the new open source projects freely provide binary and source files for each platform, including Linux and Windows. There has recently been a lot of popular discussion about how to run Linux, Apache HTTP Server, MySQL, and PHP (LAMP). It is now interesting to find a matching (WAMP) book for Windows. This book adds Perl to the discussion, widely accepted on UNIX and Linux as a scripting language, usually also installed with any flavor of Linux.

The server editions of Windows function as web servers with minimal effort. For desktop versions of Windows, however, open source software is the easiest solution. Is there any reason to turn a desktop Windows installation into a web server? The most obvious reason is for developers to test out their web applications before the applications are deployed to a real web server. You might even want to load the server editions of Windows with the open source applications in order to save a bundle on the licensing fees.

Apache HTTP Server is introduced in two chapters. Chapter two is a simple but easy to follow guide on installing the server. Chapter three is packed with important tips on configuring the server. Some readers will be surprised to find that a web server can be up and running on a regular desktop Windows machine in a few steps. Moreover, the book shows readers how to create virtual host names, set up directory securities, use server-side includes, and use Netscape OpenSSL for encrypting data during transaction.

Learning Perl in the context of a web server setup is a good idea and is discussed in chapter four. Not only does it guide readers through the Perl installation, it also delves into the Perl language basics such as scalars, arrays, hashes, conditionals, loops, and subroutines. In addition, it demonstrates the that collects user inputs. Using Perl is like having a more powerful batch processor on your machine.

PHP discussion is extensive. Chapter five details the three types of PHP installations: PHP as a CGI executable, PHP as a module of Apache server, and PHP with Microsoft Internet Information Services (IIS). The configuration of PHP for MySQL is also discussed. Chapter six goes into the language of PHP, including variables, operators, arrays, conditionals, loops, and includes. Again, the discussion is coupled with web examples, so the learning process is fun. It shows examples of using PHP to work with HTML forms, including GET, POST, variable receiving, array values submission, and self-posting forms. The final example is a slide show within the browser.

The discussion of PHP is extended in chapter seven which explains how PHP gets access to the file system and how to enable the GD support in PHP and create shapes, images, and fancy web pages. The chapter also discusses how to enable SMTP in PHP, although this part is only applicable to IIS. I noticed that there is no information about how to add open source e-mail functionality to the Apache server.

The MySQL database is covered in the last two chapters. Chapter eight guides readers through the installation of MySQL. It also provides the basics of Data Definition Statements such as create/drop database, and create/drop/alter table. It briefly mentions the Data Manipulation Statements for querying and updating the database. Finally, it shows how to use PHPMyAdmin for creating database and tables. The last chapter uses a video collection example to illustrate the use of MySQL, Perl DBI module, and the integration with web forms. It repeats the whole example with the PHP extension mysqli.

At first glance the book looks simple, yet it explores every topic in more depth than other similar books. Even the brief software histories are interesting and to the point. The book title doesn't reveal the true focus of the book. Developers who want to try out a personal web server using WAMP should read this book. This approach of using Windows as a development web server will save a lot of time mainly because there's no need to spend any time learning and setting up Linux. Even if you are interested in setting up a LAMP system, this book should be read first. Highly recommended.

KSN Product Rating:

Comments? Questions? Qualms? Technical problems? Send an e-mail!





© Copyright 2000-2006 All rights reserved. legal notice
home | previous reviews | hot news | about us | search | store | subscribe


Forums Search Home Previous Reviews About Us Store Subscribe