After many years and several betas the Apache group were proud to
announce the general availability of Apache 2.0 on the 6th April
2002. The general availability release was based on Apache 2.0.35.
The Apache group started discussing plans for Apache 2.0 as far
back as the summer of 1996, just after the release of Apache 1.1.1.
In July 1996, Apache
Week issue 24, covered the first discussions of multithreading.
One month later, in August 1996, Apache
Week issue 128 looked at how useful filtering would be, and some
possible ways of implementing it. Filtering was finally added to
Apache 2.0 four years later, in August 2000.
In February 1997 the Apache group looked at plans for the server
after version 1.2 was released. The plans included a considerable
rewrite to include support for multithreading, filters, and OS
abstractions to allow for versions of Apache on Windows NT and other
systems. Apache
Week issue 54 covered these plans and predicted that Apache 2.0
is "likely to take some time"
May 1997 saw the group decide that Windows releases would be
outside of the main Apache development effort. The aim for 2.0 was
to ensure that the same code is used for all operating systems with
a set of platform-specific routines to handle anything that varies
between operating systems. (Apache Week issue
65) . In June, Apache 1.2 had been finally released and work
started on the requirements for the redesign of the core Apache
code. Apache
Week issue 69 discussed the need for additional processing
phases, and the plans for a graphical configuration manager.
All the plans for Apache 2.0 were summarised in February 1998, Apache Week issue
102. The major changes being discussed were multithreading,
filtering, new process models, better system configuration, API
changes, and changes to the configuration syntax. Some thought was
also given to rewriting Apache in C++, but this idea was later
dropped.
In June 1998 the Apache core developers met for the first time to
discuss the organisational structure of the Apache group as well as
the plans for Apache 2.0. Apache Week issue
121 covered this meeting.
Over a year later, in September 1999, we revisited Apache 2.0
development in a special feature, "Apache 2.0
preview". At this stage a beta was expected in late 1999 or
early 2000.
In January 2000, Apache Week issue
181, there was discussion within the group about how to deal
with feature additions to the stable Apache 1.3. It was decided that
all attention should be placed on 2.0 development and that no major
new features would be accepted into the Apache 1.3 tree.
The first Apache 2.0 alpha was launched at the final session of
the ApacheCon 2000 conference in March 2000. A number of ASF members
on stage updated the website and copied the distribution files into
the correct locations live of in front of the audience.
At ApacheCon Europe in November 2000, a meeting took place
between Ben Laurie (the author of Apache-SSL), Ralf Engelschall (the
author of mod_ssl), Mark Cox (Red Hat), and Randy Terbush
(Covalent). The meeting was held to decide the fate of SSL support
for Apache 2.0, aiming to avoid the current situation of parallel
module development for Apache 1.3.
The first Apache 2.0 beta was launched at the ApacheCon 2001
conference in March 2001, one year after the first alpha. Between
April and November a large amount of internal code changes have
taken place, with a few alpha-quality releases. The second Apache
2.0 beta was released in mid November 2001
In this section we highlight some of the news stories on the web
that mentioned Apache 2.
- May 2001: CNET reviews
Apache 2.0.16 Beta and suggests that administrators who are
interested to upgrade to Apache 2.0 prepares for the stable
release by installing the beta on a development machine. Then test
the new features and benchmark its performance in order to speed
up the eventual upgrade process.
- January 2001: Ryan Bloom discusses why the Apache
2.0 beta was delayed
- October 2000: Apache 2.0 was still in alpha release when an
eagle-eyed subscriber in Apache Week
issue 219 noticed that the high-profile Napster web site was
running Apache 2.0a6.
- August 2000: C|Net reported on Apache 2.0 in "Apache
Web software on verge of major revision". The article
interviews a few of the Apache developers and highlights some of
the advantages that version 2.0 will bring. They quote that "The
final version should be out by the end of the year" (2000)
- July 2000: In the same week two projects not related to the
Apache group announced that they would be integrated into Apache
2.0, even though this was not planned and didn't happen. Apache Week issue
206 looks at the claims from the TUX web server and BXXP
protocol projects.
In this section we highlight some of the articles on the web that
are of interest to Apache 2 users.
- In Ryan Bloom's swan song for the Apache 2.0 Basics series, he
talks about one
of the least publicised new features in Apache 2.0 which is
allowing one module to call into another module to execute an
operation. In Apache 1.3, for two modules to execute the same
operation, the feature has to be implemented in both of the
modules, making synchronisation of changes a tedious task. He uses
the mod_include and mod_cgi modules to
illustrate his points.
- O'Reilly ONLamp.com brings you the latest information about filters
for Apache 2.0 in Ryan Bloom's column. This article is just an
introduction to the subject, covering some of the basic concepts
of filtered I/O which is the ability for one module to modify the
output of an earlier module, listing three standard filters
included in the basic Apache distribution, and explaining what
filter types are. According to Ryan, developers have improved the
interface over the past few releases so that the complex task of
writing filters becomes easier.
- In "Apache
2.0: The Internals of the New, Improved A PatCHy",
Ibrahim F. Haddad gives an overview of Apache 2.0 and shares with
us the results of his Apache 2.08 performance tests. In
conclusion, he highly recommends that current Apache 1.3.x users
upgrade to Apache 2.0 once the release version is available.
- Ryan Bloom kicks off a new series of columns about Apache 2.0
for O'Reilly Network readers with his first column - "Installing
Apache 2.0". This piece proves to be merely a rehash of his
previous Apache 2.0 articles except for a mention of
mod_tls.
- eWEEK Labs tests
Apache 2.0.16 Beta and provides a brief review about its
features and shortcomings.
- In CNet Builder.com, Ryan Bloom explains how Apache 2.0 is
more than a web server as it has the potential to serve any
protocol. He reveals the benefits of using a single server for
multiple protocols and the way to implement it using Apache 2.0.
- In "Filtering
I/O in Apache 2.0", Ryan Bloom explains how filtering in
Apache 2.0 works, how modules can make use of it, and the basic
concepts for writing filters.
- Ryan Bloom investigates writing
an input filter for Apache 2.0 and shows the power of input
filters with mod_apachecon as an example.
- Ryan Bloom tells C|Net Builder.com readers how
to download, build, and install the Apache 2.0 alpha releases.
- Apache Today gives a concise guide on how to setup
and compile Apache 2.0.
- Apache Today explains some of the new technology that is
inside the fourth alpha of Apache 2.0. "Looking
at Apache 2.0 alpha 4" takes a detailed look at reliable piped
logging and the issues of running CGI scripts from a threaded web
server.
- LinuxPlanet have a feature about Apache, "Using
the Apache CVS Repository". The article explains how the
Apache developers use a master code repository for the work on
Apache 1.3 and 2.0. Anyone interested in keeping up to date with
the cutting edge developments of Apache can use the described
methods to maintain their own copy of the source tree, whilst
easily keeping with the changes being made by the Apache
developers.