In this issue
Over a million sites are now hosted with the Apache web
server, according to the April Netcraft Server
Survey. This gives Apache a 47.85% share of all the
surveyed sites, rising to 52.45% if the servers definitely
identified as being based on Apache code are also included.
Apache is the first server to run on more that a million
sites, and the nearest other server, Microsoft IIS, is run on
less than half a million sites (21.73%). Apache's share has
increased by just over 1% since last month, whilst
Microsoft's has gone up by slightly more than a tenth of a
percent. Netscape and NCSA dropped by 0.16% and 0.21%
respectively.
Apache Site: www.apache.org
Release: 1.2.6 (Released 24th March 1998)
(local
download sites)
Beta: 1.3b5 (Released 19th February 1998)
(local
download sites)
Apache 1.2.6 is the current stable release. Users of Apache
1.2.5 and earlier should upgrade to this version since it
fixes a number of bugs and potential security problems.
The bugs listed below now include a link to the entry in the
Apache bug database where the problem is being tracked. These
entries are called "PR"s (Problem Reports). Some bugs do not
correspond to problem reports if they are found by
developers.
Bugs found in 1.3b5
These bugs have been found in 1.3 and will be fixed in the
next beta (1.3b6)
-
RLimitCPU was not
working on Solaris because Apache ignores with SIGXCPU
signal, and this was being inherited by child processes.
Similarly for RLimitMEM and SIGXFSZ. PR#2009.
-
Using RewriteCond
with -l to test for
links was not working. PR#2010.
-
Using Options
+Includes when Options IncludesNoExec is in
force did not re-enable "exec" includes.
Patches for bugs in Apache 1.2.6 may be made available in the
apply_to_1.2.6 subdirectory of the patches
directory on the Apache site (this directory may not exist if
no patches are available). Some new features and other
unofficial patches are available in the 1.2
patches directory (these may not apply cleanly to 1.2.6).
For details of all previously reported bugs, see the Apache
bug database
and known
bugs pages. Many common configuration questions are
answered in the Apache FAQ.
Development has slowed down to prepare for the release of
Apache 1.3. During the beta release cycle Apache is in a
"feature freeze" where no major new features will be added.
New Build Process
The traditional way to build Apache on Unix is to do the
following steps:
-
Copy Configuration.tmpl to Configuration
-
Edit Configuration
-
Run ./Configure
-
Run make
The second step is where you configure various compilation
options, and choose which modules to build. This will continue
to work for future 1.3 releases. However a new method of
configuration will come with 1.3b6 and later which should
simplify the build process in many cases.
The new configuration process uses a new script, configure, which creates the
required configuration based on command line parameters. This
program takes arguments to specify which modules are to be
built, what directories are to be used for the installed
files, and whether dynamic (shared) modules are to be used.
This is similar to the configure program that comes with
many other software projects. Details of how to use
configure are in the
INSTALL file which will
come with Apache.
One of the main advantages of configure is that it is used to set
the final installation directories, as well as (optionally)
paths to required files such as configuration files. These
get compiled into Apache, and the "make install" step
correctly installs all the required Apache files into the
appropriate locations.
Another advantage is that modules are selected without having
to edit the Configuration file by hand, and it
will be easy to configure some or all modules to be built and
loaded as dynamic modules. Also the interface to this program
will be familar for people used to projects configured by
"autoconf" (although Apache does not use autoconf itself to
automatically configure the build process).
Helper for Building Dynamic Modules
The next beta of Apache will include much better support for
dynamic modules on Unix. Dynamic modules (also called
"dynamic shared objects" or "DSO") lets you load modules into
the server while it is running, to extend its functionality
without recompiling or stopping the server. This is now
supported on a range of operating systems, and the new build
process (see above) provides options to enable dynamic
modules, and to build modules ready for dynamic loading. When
a module is built as a "dynamic module" it ends with an
extension of ".so" and can be loaded into Apache with the
LoadModule directive.
(The operating systems which support dynamic modules are
Linux, FreeBSD, Solaris, SunOS, IRIX, OSF1 and UnixWare).
Once you have Apache compiled with dynamic module support,
adding additional modules normally involves re-configuring
Apache and then recompiling it, along with the new modules to
be built. However a new support tool, apxs, has been added to the
src/support directory.
This is a perl program which lets you build dynamic modules
without having to reconfigure or recompile Apache itself.
This tool obtains the configuration information from the
Apache build, then builds the module for dynamic loading,
installs it into the live Apache directory and adds the
required LoadModule
line to the Apache configuration files. All you have to do is
send a USR1 signal to Apache (typically with the apachectl script) to get it to
re-read the configuration and load in the new module without
affecting transfers in progress.
While initially designed for small modules (those contained
in a single file), the apxs tool is also capable of
building large modules for dynamic loading. It comes with
information about how to build PHP3 as a dynamic module (this
will require a recent version of PHP3).
Everyone that uses Apache, either as a program or by using
the source code, is subject to the Apache licence. This
licence places no restrictions on the use of source code or
the binaries, unless they are being redistributed. In this
case, it requires a notice about Apache in advertising and in
the redistribution itself.
The current licence also specifies that the names "Apache
Server" and "Apache Group" must not be used to endorse or
promote the redistributed product. However the licence did
not contain reference to the word "Apache" itself, although
the intention was clear. So from the next release the licence
will include an additional restriction: products derived from
Apache code must not include the name "Apache" in their name.
Inter@ctive Week reports on the divergence between embedded
web servers and servers for traditional operating systems in
Web Servers: Offering More Services. It also covers the
multiprocess versus multithreaded issue for web servers,
where Apache for Unix is multiprocess but some other servers
(for example, IIS on NT) are multithreaded. It does not
mention that Apache is in fact multithreaded on NT. Apache is
also developed by a group of individuals, and does not have a
"lead developer".
NewsBytes covers the Netcraft survey figures, in Apache
Web Server Tops 1million Internet Sites.
|