ftp.nice.ch/pub/next/unix/network/www/apache.1.3b5.NIHS.bs.tar.gz#/apache.1.3b5.NIHS.bs/docs

ABOUT_APACHE
 
ANNOUNCEMENT
 
CHANGES
 
KEYS
 
LICENSE
 
README
 
README.NT
 

README

                                 Apache
                             Version 1.3 (and up)

What is it?
-----------

Apache is an HTTP server designed as a plug-in replacement for the NCSA
server version 1.3 (or 1.4). It fixes numerous bugs in the NCSA server and
includes many frequently requested new features, and has an API which
allows it to be extended to meet users' needs more easily.

Documentation
-------------

The documentation available as of the date of this release is also
included, in HTML format, in the htdocs/manual/ directory. For the
most up-to-date documentation, visit us on the WWW, at
<URL:http://www.apache.org/>.

New Installations
-----------------

NOTE: Windows users please see http://www.apache.org/docs/windows.html,
      or the htdocs/manual/windows.html file included with Apache. The
      following applies only to Unix users.

Unless you grabbed a binary distribution of Apache, you must compile
it for your specific platform.  In order to compile it, you must set
compile-time options (in particular, system type) for your system by
editing a Configuration file, run a script which generates a Makefile
and a small piece of C code, and then compile it.

For instructions on compilation, see the file 'INSTALL' in the src/ directory.

After compilation, you will have a binary called "httpd" in the src/
directory.  If you received a binary distribution of apache, you
should have this file already.

The next step is to edit the configuration files for the server.  In
the subdirectory called "conf" you should find distribution versions
of the three configuration files: srm.conf-dist, access.conf-dist, and
httpd.conf-dist.  Copy them to srm.conf, access.conf, httpd.conf
respectively.

First edit httpd.conf.  This sets up general attributes about the
server - the port number, the user it runs as, etc.  Next edit the
srm.conf file - this sets up the root of the document tree, special
functions like server-parsed HTML or internal imagemap parsing, etc.
Finally, edit the access.conf file to at least set the base cases of
access. Documentation for all of these is located at
<URL:http://www.apache.org/docs/>.

Finally, make a call to httpd, with a -f to the full path to the
httpd.conf file.  I.e., the common case:

  /usr/local/apache/httpd -f /usr/local/apache/conf/httpd.conf

And voila!  The server should be running.

By default the srm.conf and access.conf files are located by name - to
specifically call them by other names, use the AccessConfig and
ResourceConfig directives in httpd.conf.

Upgrading an Existing Apache Environment
----------------------------------------

Between releases of Apache, there are several files that are likely
to get changed (aside from the source, of course).  These include:

  src/Makefile.tmpl
  src/Configuration.tmpl
  src/Configure
  conf/*.conf-dist
  conf/mime.types

It's recommended that you unpack a new Apache version distribution
into a different directory than the existing one, and check these
files against the ones you already have for new or changed directives.
It's almost certain that the Configure, Configuration.tmpl, and
Makefile.tmpl files are going to change, so pay particular attention
to merging your existing Configuration settings with the ones in
the Configuration.tmpl file to make a new Configuration file in the
new Apache src directory.  Then follow the steps for a new
installation to build and test the new server before replacing
the existing Apache directory tree with the one from the new
distribution.

The Latest Version
------------------

Details of the latest version are in the apache project page (above).

Licensing
---------

Please see the file called LICENSE.

Acknowledgments
----------------

We wish to acknowledge the following copyrighted works that make up
portions of the Apache software:

Portions of this software were developed at the National Center for
Supercomputing Applications at the University of Illinois at
Urbana-Champaign.

This software contains code derived from the RSA Data Security Inc. MD5
Message-Digest Algorithm, including various modifications by Spyglass Inc.,
Carnegie Mellon University, and Bell Communications Research, Inc. 
(Bellcore).

This package contains software written and copyrighted by Henry Spencer. 
Please see the file called src/regex/COPYRIGHT. 

The NT port was started with code provided to the Apache Group
by Ambarish Malpani of ValiCert, Inc. (<http://www.valicert.com/>).

README.NT

                              Apache for Windows
                             Version 1.3 (and up)

What is it?
-----------

Apache is an HTTP server, originally designed for Unix systems. This
is the first release of Apache for Windows systems.  Like the Unix
version, it includes many frequently requested new features, and has
an API which allows it to be extended to meet users' needs more
easily. It also allows ISAPI extensions.

Documentation
-------------

The documentation available as of the date of this release is also
included, in HTML format, in the htdocs/manual/ directory. For the
most up-to-date documentation, visit us on the WWW, at
http://www.apache.org/. For Windows specific information, see
http://www.apache.org/docs/windows.html.

WARNING
-------

Apache on NT has not yet been optimized for performance.  Apache still
performs best, and is most reliable on Unix platforms.  Over time we
will improve NT performance. Folks doing comparative reviews of
webserver performance are asked to compare against Apache on a Unix
platform such as Solaris, FreeBSD, or Linux.

Changes for the Windows version
-------------------------------

1. It is multithreaded

2. It can run as a service (run apache -i to install the service)
   or as a regular program (run apache -s to avoid waiting for
   the program to hook up to the Service Manager). On Windows 95
   it runs as a regular program.

3. It executes as multiple processes (this allows for some fault tolerance -
   if a server dies, another one takes its place. Also after dealing
   with a certain number of requests, each process voluntarily exits, to
   clean up any resources it might have forgotten to free up).

By default Apache uses the directory \Apache for the ServerRoot ON THE
DRIVE WHERE THE EXECUTABLE EXISTS. This can be changed with the -d
command line argument.

There are a couple of new directives:

ThreadsPerChild         - Number of threads each server spawns)
ExcessRequestsPerChild  - Number of additional requests a server responds
                          to, after it decides to exit

Due to the behavior of NT when multiple processes have a socket open
for listening, I would recommend that you set the following in httpd.conf
(in the directory /usr/local/apache/conf):

# Start up 3 servers (in case one dies, another can take its place, while
# a new one is spawned
StartServers 3

# Don't force a server to exit after it has served some number of requests.
# If you do want server's to exit after they have run for a long time (to
# help the system clean up after the process), please set this to a pretty
# large number - like 10,000. What this will do, is, each child server will
# exit after serving 10,000 requests, and another server will take its place.
MaxRequestsPerChild 0

# Number of concurrent threads at a time (set the value to more or less
# depending on the responsiveness you want and the resources you wish
# this server to consume).
ThreadsPerChild 20

Compilation
-----------

If you have downloaded the source code you will need to compile
it. This requires Microsoft Visual C++ version 5.0 or higher. 

To compile Apache, run the command

   nmake -f Makefile.nt _apacher

in the src directory. To install Apache to the \Apache directory, run

   nmake -f Makefile.nt installr

You cannot easily use a different installation directory. You can also
build debug versions of Apache, with the targets "_apached" and
"installd".

Make sure that before you run "nmake" that you've run VCVARS32.BAT
so that your environment is configured to run nmake from the command
line.

To build Apache within MSVC, you will need to build the following
projects and Makefiles, in the following order. Make sure that you
build the same configuration (i.e. Debug or Release) for all of the
various projects.

   regex/Makefile.mak
   os/win32/ApacheOS.dsp
   src/ApacheCore.dsp
   src/Apache.dsp

Additional modules can also be built using project files in the os/win32
directory.

Installing a Binary Release
---------------------------

The binary release is not yet available.

Running Apache
--------------

Apache can run as either a service (NT only) or a regular executable. 

To run as an executable, simply run \Apache\apache from the command
line. This will print the version number, then wait to serve
requests. To stop Apache, press Control-C to stop it running. Note
that there may be a delay between typing the command line and Apache
being ready to accept requests as it checks the service manager. Use
the -s option to prevent this delay.

To run as a service, first install the service with

  \Apache\apache -i

You can now start the Apache service within the service manager
(Control Panel, Services), and set it to start automatically at boot
time if required. You can also stop Apache from the manager.

To remove the Apache service, run

  \Apache\apache -u

Uninstalling Apache
-------------------

If you installed a binary release, you can uninstall Apache using the
normal method of removing programs (Start menu, Control Panel,
Add/Remove Programs). You may have to remove the directory manually
because of the configuration files.

If you installed a source release, you should delete the directory
where you installed Apache (normally \Apache).

Known Problems
--------------

- The User directive is not supported. If you run apache as a service,
  you can change the user it runs as by going to 
  Control Panel->Services->Startup

- suexec doesn't work

- RFC 1413 not yet ported

- If you have a very busy server, when a server child process exits,
  any connections made to that child process that have not yet been
  accepted by it are aborted.

- Problem with very long running cgi scripts (their output is garbled?)

- regex does not generate *.ih headers.

- Multithreadng is not properly abstracted

- htpasswd passwords are stored in plain text because Windows lacks a
  crypt() function

Licensing
---------

Please see the file called LICENSE.

Acknowledgments
----------------

We wish to acknowledge the following copyrighted works that make up
portions of the Apache software:

Portions of this software were developed at the National Center for
Supercomputing Applications at the University of Illinois at
Urbana-Champaign.

This software contains code derived from the RSA Data Security Inc. MD5
Message-Digest Algorithm, including various modifications by Spyglass Inc.,
Carnegie Mellon University, and Bell Communications Research, Inc.
(Bellcore).

This package contains software written and copyrighted by Henry Spencer.
Please see the file called src/regex/COPYRIGHT.

The NT port was started with code provided to the Apache Group
by Ambarish Malpani of ValiCert, Inc. (www.valicert.com).

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.