In this issue
Apache version 1.2 is now available. This is the final,
stable version of Apache 1.2, following a long period of beta
testing which ironed out dozens of bugs and boosted
performance compared to early betas. Anyone running a beta
version of 1.2 should upgrade immediately, and people running
1.1.3 or earlier should also upgrade since there will be no
more updates to earlier versions.
All About 1.2
Apache 1.2 has many new features compared with 1.1.3 and
earlier. The Apache Week Guide to
1.2 explains everything that is new, including new
modules and directives. It also summarises the changed
directives and changes in the distributed sample
configuration files. You should read this page before
upgrading from 1.1.3 or earlier.
If you have written a module for 1.1.3 or earlier, there are
some significant changes to the module API which may well
mean your module will not work with 1.2. For the details of
these changes, see our API 1.2
Upgrading to 1.2
Apache 1.2 can be downloaded as source for all supported
systems, or binaries for a selection of systems. Select a download site
near your network location for fastest download. You can
choose whether to download using the Web (HTTP) or FTP. If
you select a HTTP mirror site, select "Download!" to go to
the download area. The FTP links take you straight to the
If you download the source distribution you will have to
compile the httpd server using the instructions given in the
README files. Once you have compiled it, or after downloading
the binary version, you are ready to try the server.
When upgrading you should read through the new sample
configuration files (access.conf and other files
in conf directory). There have been some changes
in these files to support new features in the code. For
example, there is a new BrowserMatch line in
The 1.2 Betas
Development on what was to become 1.2 started immediately
after version 1.1.1 was released. That was nearly a year ago,
around the 10th July 1996.
The first beta of 1.2 was released on 1st December 1996. By
co-incidence this is exactly a year to the day since Apache
1.0 was released as the first non-beta release of Apache. A
total of eight more betas have been released between 1st
December 1996 and today. While the last beta was numbered 11,
two versions were never released because of bugs found just
before the release. In these cases the bug was fixed and the
next beta number used. The dates of each beta are listed
below, together with a very brief summary of the main change
in that beta.
Summary of Main Changes Over Previous Beta
1st December 1996
9th December 1996
Minor bug fixes, support more operating systems
24th December 1996
31st December 1996
26th January 1997
Improved network reliability (fixed FIN_WAIT_2)
Performance enhancements, better network efficiency
8th April 1997
Some important bug fixes, better internal error
30th April 1997
More robustness in the face of timeouts, signals and
network errors. Graceful restarts fixed.
30th May 1997
A more detailed history of the early days of Apache (up to
1st December 1995 when 1.0 was released) is now available as
part of the distribution. See the file
ABOUT_APACHE in the top level directory of the
Apache distribution. This file also lists the major Apache
developers, past and present. Other people who have
contributed to Apache are listed in the
src/CHANGES file, along with their contribution.
But note that this file does not list changes made between
1.1.1 and 1.2b10, which includes many major new features by
lots of different people.
While Apache 1.2 is a full stable release, there are a number
of outstanding issues which will be resolved in a future
release. Most of these are very minor bugs, or issues which
only affect a few systems in particular configurations.
Content negotiation may not pick the smallest of otherwise
equal variants, prefering to pick the last variant
If %2f is used in the PATH_INFO part of a request, the
request will be refused.
If mod_status is used in inetd mode it can core dump
(mod_status has no use in inetd mode).
Solaris 2 has problems using more that 256 file descriptors
(this is a Solaris problem, but there is a work-around).
Compile sometimes fail with "unknown symbol __inet_notoa"
or similar. This is not an Apache bug. It is caused
by changed libraries if you install bind version 8. To make
Apache compile, add -lbind to EXTRA_LIBS in the
There are a few reports of problems with FREEBSD 2.2
systems which use a lot of virtual hosts, probably related
to use of file descriptors.
There are also a number of new features which have been
proposed during the beta testing phases. These were put on hold
until 1.2 was out, and will now be evaluated and possibly added
Release: 1.2 (Released 5th June 1997)
Bugs in 1.2:
Patches to any Apache 1.2 bugs may be available in the 1.2
patches directory on the Apache site. At time of writing
there are no patches and this directory does not exist.
For details of all previously reported bugs, see the Apache
Many common configuration questions are answered in the Apache FAQ.
The Apache 1.2 distribution includes a PGP "key ring" file
containing the PGP keys of most of the active Apache
developers. You can use this file to authenticate future
releases of Apache that have been PGP signed. Mail from
Apache developers (such as announcements or security
advisories) could also be signed with PGP.
The Apache group PGP signatures are in the file
KEYS in the top level distribution of Apache. If
you trust the site where you obtained your distribution you
can add these keys to your own keyring. Under Unix you can
usually do this by running pgp with the -ka argument, i.e.
pgp -ka KEYS
Some of the distributions are accompanied by a file
containing a PGP signature for that distribution. These
signatures are stored in files with a ".asc" extension (for
example, the signature for apache_1.2.0.tar.gz is stored in
apache_1.2.0.tar.gz.asc). These can be used to check the
validity of the distribution if you have added the KEYS file
contents to your keyring.
If you are interested in how the core Apache code is
slides may be of interest. They are Roy Fielding's
interpretation of how the Apache development is an example of
Internet collaboration and a virtual community. They also
give an insight into the development processes used, such as
how the developers work without ever meeting and how changes
are "voted" into place.
Now that Apache 1.2 is out of the door, Apache can start
being developed again. Some of the major new features planned
are Windows NT support, ability to send output of one module
to another (e.g. parse output of a CGI for SSI commands), and
extra performance through multithreading. There are also a
lot of minor new features, many proposed by Apache users,
which have been waiting for the end of the 1.2 beta period
being being applied. The next release will probably be
version 1.3 release with some of the smaller features, and
then there will be a longer period of development leading to
a largely re-written version 2.0. There is also likely to be
a Windows NT version of 1.2 at some point.