Tapping Open Source with Apache Web Server

The Apache Web Server is one of the open source software (OSS) community’s greatest success stories. It also may be responsible for launching the success of the Linux operating system because Linux was as a means to deploy the free and powerful Apache Web Server in many enterprise environments.

The first official distribution of the Apache Web Server was version 0.6.2, released in April 1995. Apache 0.6.2 was based on the version 1.3 release of the NCSA http Web server, which was developed and distributed by the National Center for Supercomputing Applications (NCSA, www.ncsa.edu) at the University of Illinois at Urbana-Champaign (www.uiuc.edu). NCSA was where Netscape Communications Corp.'s (www.netscape.com) principal Mark Andreesen got his start, and also where the Mosaic Web browser was initially developed.

Apache began as a close-knit collaboration among developers to patch existing bugs and introduce new features and technologies. Because of its OSS roots, the Apache Web Server -- the development of which is coordinated by the not-for-profit Apache Software Foundation (www.apache.org) -- is almost constantly in a state of development. At the time of this writing, the most recent stable release of the Apache Web Server was version 1.3.12. The next-generation version 2.0 release is currently in an alpha testing stage.

Apache is distinguished by a number of features. First, it runs on more platforms than any other HTTP server. Apache binaries are available for a wide array of platforms, including DG-UX from EMC Corp.'s (www.emc.com) subsidiary Data General; Mac OS X Server from Apple Computer Inc. (www.apple.com); Tru64 Unix from Compaq Computer Corp. (www.compaq.com); OS/2 and OS/390 from IBM Corp. (www.ibm.com); UnixWare from the Santa Cruz Operation (www.sco.com); and OSS Unix-variants such as FreeBSD (www.freebsd.org) and NetBSD (www.netbsd.org).

Apache also runs on more prosaic platforms, such as Windows NT and Windows 95/98 from Microsoft Corp. (www.microsoft.com); NetWare 5 from Novell Inc. (www.novell.com); Solaris and SunOS from Sun Microsystems Inc. (www.sun.com); AIX from IBM; and HP-UX from Hewlett-Packard Co. (www.hp.com).

In addition to its exhaustive cross-platform support, Apache’s most significant selling point might be its availability under the GNU Public License (GPL). According to the terms of the GPL, developers or organizations are free to customize Apache to their liking. They are also free to resell it, provided that the source code for changes that they’ve made is freely available to other developers and organizations.

In the hit-or-miss world of e-commerce, this is both a selling point and a liability. Apache’s flexibility and extensive documentation allow organizations to radically alter it to suit specific applications, but it also require that whatever changes are made be freely available to competitors, as well.

Apache has an impressive array of features, including standard support for HTTP 1.1. Apache also has its own API to aid in customization, supplies a DBM database feature that aids in end-user authentication, and lets developers establish password-protected Web sites capable of serving a large number of authorized users without impacting server performance.

Apache can support an unlimited number of aliases or redirects, all of which can be specified by virtue of config files. Apache can also serve clients that use latest-generation or legacy Web browsers because it has the ability to render documents in representational formats that a variety of clients are capable of accepting.

Apache provides extensive support for "virtual hosts" or multihomed servers. In this regard, Apache can distinguish between requests made to different IP addresses or names, which can be mapped to the same machine.

On the e-commerce front, there’s the Apache XML Project, an effort to develop a commercial-quality XML server based on Apache. Currently, the Apache XML Project’s Cocoon initiative enables XML-based Web publishing in Java, and other efforts -- such as Xerces, an initiative to create XML parsers in both C++ and Java -- seek to bring a broad range of XML and XSL support to Apache.

Graphics: Breakdown of Web servers and operating systems among the Fortune 500.