From 03a009e528f3a052c5b44ef87b75efc1a8b09d7f Mon Sep 17 00:00:00 2001
From: gferg <>
Date: Mon, 2 Dec 2002 17:24:25 +0000
Subject: [PATCH] updated
---
LDP/howto/docbook/HOWTO-INDEX/appsSect.sgml | 4 +-
LDP/howto/docbook/HOWTO-INDEX/howtoChap.sgml | 4 +-
LDP/howto/linuxdoc/Apache-Overview-HOWTO.sgml | 1561 ++++++++---------
3 files changed, 708 insertions(+), 861 deletions(-)
diff --git a/LDP/howto/docbook/HOWTO-INDEX/appsSect.sgml b/LDP/howto/docbook/HOWTO-INDEX/appsSect.sgml
index cbcc8f24..4f6d540f 100644
--- a/LDP/howto/docbook/HOWTO-INDEX/appsSect.sgml
+++ b/LDP/howto/docbook/HOWTO-INDEX/appsSect.sgml
@@ -788,9 +788,9 @@ News using the free software package Leafnode.
Apache-Overview-HOWTO,
-Apache Overview How-to
+Apache Overview HOWTO
-Updated: February 2002.
+Updated: October 2002.
An overview of the Apache webserver and related
projects. It provides pointers for further
information and implementation details.
diff --git a/LDP/howto/docbook/HOWTO-INDEX/howtoChap.sgml b/LDP/howto/docbook/HOWTO-INDEX/howtoChap.sgml
index 40b35e5d..cbd92e98 100644
--- a/LDP/howto/docbook/HOWTO-INDEX/howtoChap.sgml
+++ b/LDP/howto/docbook/HOWTO-INDEX/howtoChap.sgml
@@ -144,9 +144,9 @@ mod_dynvhost, mod_roaming, mod_jserv, and mod_php.
Apache-Overview-HOWTO,
-Apache Overview How-to
+Apache Overview HOWTO
-Updated: February 2002.
+Updated: October 2002.
An overview of the Apache webserver and related
projects. It provides pointers for further
information and implementation details.
diff --git a/LDP/howto/linuxdoc/Apache-Overview-HOWTO.sgml b/LDP/howto/linuxdoc/Apache-Overview-HOWTO.sgml
index 96fb0fac..d9987835 100644
--- a/LDP/howto/linuxdoc/Apache-Overview-HOWTO.sgml
+++ b/LDP/howto/linuxdoc/Apache-Overview-HOWTO.sgml
@@ -1,53 +1,36 @@
-
-
-
Apache Overview HOWTO
Daniel Lopez Ridruejo, v0.7, 2002-02-28
+v0.9, 2002-10-10
-This document gives you an overview of the Apache webserver and
-related projects. It provides pointers for further information and
-implementation details.
+This document gives you an overview of the different Apache projects,
+such as the Apache HTTP server and the Tomcat Servlet and JSP engine.
+It provides pointers for further information and implementation details.
Introduction
-This document gives you an overview of the Apache web server and
-related projects. Apache is the . New Apache users,
-especially those coming from a Windows background, are often unaware
-of the possibilities of Apache, its useful addons and, more in
-general, how everything works together. This document aims to show a
-general picture of such possibilities with a brief description of each
-one and pointers for further information. The information has been
-gathered from many sources, including projects' web pages, conference
-talks, mailing lists, Apache websites and my own hands-on
+This document gives you an overview of the Apache world, including
+Apache Software Foundation projects such as the Apache web server
+and commercial and open source third party software. Apache is the . New Apache users, especially those
+coming from a Windows background, are often unaware of the possibilities of
+Apache, its useful addons and, more in general, how everything works
+together. This document aims to show a general picture of such possibilities
+with a brief description of each one and pointers for further information.
+The information has been gathered from many sources, including projects' web
+pages, conference talks, mailing lists, Apache websites and my own hands-on
experience. Full credit is given to these authors. Without them and
their work, this document would not have been possible or necessary.
-
Disclaimer: I work for . We provide products and support
-services for the Apache webserver, and I mention some of them here, as
-I do for our competitors and similar open source projects.
-
If you find typos, errors, or if you have suggestions for improvement
-or comments, please let me know so I can correct the document.
Copyright 2002 Daniel Lopez Ridruejo
@@ -56,6 +39,27 @@ under the terms of the Open Content Open Publication License, Version
1.1. A copy of the license is included in the appendix entitled "Open
Content Open Publication License", or at www.opencontent.org/openpub/.
+Apache Software Foundation
+
+The Apache Software Foundation provides support for the Apache community of
+open-source software projects. The Apache projects are characterized by a
+collaborative, consensus based development process, an open and pragmatic
+software license, and a desire to create high quality software that leads
+the way in its field. We consider ourselves not simply a group of projects
+sharing a server, but rather a community of developers and users.
+
The ASF is home to many successful Open Source projects, such as the
+Tomcat Servlet/JSP engine and the ANT build tool.
+
You can learn more about the foundation .
+
+Structure of this document
+
The first part of this document deals with the Apache Web Server and
+related modules. It covers the history, architecture and capabilities of the
+server and describes ways in which you can extend and customize it.
+
The second part of this document covers projects of the Apache Software
+Foundation, such as those form the Jakarta and Java XML communities. Rather
+than organizing the projects around a certain programming language or
+technology, they are organized based on functionality provided.
+
Apache
Apache is the leading internet web server, with over 60% market share, according
to the .
@@ -69,7 +73,7 @@ with a variety of backgrounds and an open development process based on technical
Modular architecture. Apache users can easily add functionality or tailor Apache to their
specific enviroment.
Portable: Apache runs on nearly all flavors of Unix (and Linux), Windows, BeOs, mainframes...
-Robustness and security
+Robustness and security.
Many commercial vendors have adopted Apache-based solutions for their products, including , and .
@@ -81,730 +85,221 @@ is good enough for them, it is also good enough for you :)
-
+
->From the :
+>From the :
-The Apache Project is a collaborative software development effort aimed at creating a robust, commercial-grade, featureful, and freely-available source code implementation of an HTTP (Web) server.
+The Apache HTTP Server Project is an effort to develop and maintain an
+open-source HTTP server for modern operating systems including UNIX and
+Windows NT. The goal of this project is to provide a secure, efficient and
+extensible server that provides HTTP services in sync with the current HTTP
+standards.
+
Apache started its life as modifications to the NCSA Web server,
+one of the first HTTP servers. You can learn more about Apache's history
+:
-The Apache project has grown beyond building just a web server into other critical server side technologies
-like Java or XML. The Apache Software Foundation, described in the next section, serves as an umbrella for these projects.
+The Apache project has grown beyond building just a web server into developing other
+critical server side technologies. The Apache Software Foundation, described
+in a later section, serves as an umbrella for these projects.
-
Related talk
-
-W09: Introduction to the Apache Web Server
-F16: Licensing issues in commercial OSS products
-
-
-Apache Software Foundation
+Architecture
+
There are two main versions of Apache, the 1.3 series and the
+2.0 series. Although both versions are considered production quality, they
+differ in architecture and capabilities.
-The Apache Software Foundation exists to provide organizational, legal, and financial support for the Apache open-source
-software projects. Formerly known as the Apache Group, the Foundation has been incorporated as a membership-based, not-for-profit
-corporation in order to ensure that the Apache projects continue to exist beyond the participation of individual volunteers, to
-enable contributions of intellectual property and funds on a sound basis, and to provide a vehicle for limiting legal exposure
-while participating in open-source software projects.
-
Or, as Roy T. Fielding, the chairman of the ASF describes it:
-The mission of the Apache Software Foundation is to facilitate and support
-collaborative software development projects that use the Apache methods of
-collaboration over the Internet to create, maintain, and extend the infrastructure
-of the Web and enforce the standards that define it.
-
You can learn more about the foundation .
+2.1.1 Apache 1.3
+
Apache 1.3 has been ported to a great variety of Unix platforms and is
+the most widely deployed Web server on the Internet.
-Developing web applications with Apache
+Process-based Web server
-There are several ways of providing content with Apache.
+Apache 1.3 on Unix is a process-based Web server. The Apache program forks
+several children at startup. Forking means that a parent process makes identical copies
+of itself, called children. Each one of the children can serve a
+request independent of the others. This approach has the advantage of
+improved stability: If one of the children misbehaves (runs out of control
+or has memory leaks) it can be terminated without affecting the others.
+The stability comes with a performance penalty. In most Unix operating
+systems, creating processes and context switching (assigning processor time
+to each process) are expensive operations. Since processes are isolated from
+each other, they cannot easily share code and data, consuming system resources.
-
Related talk
-
-W07: Web Application Technologies - surveying the landscape
-
-
-Static Content
+Windows support
-Apache can serve static content, like HTML files, images, etc.
-If this is all you need, Apache is probably right for you.
-A low end Pentium running Linux and Apache can easily saturate a 10Mbps
-line serving static content. If that is your primary use of Apache, make
-sure you also check the section.
-
-Dynamic content
-
For many websites, the information changes constantly and pages need to
-be updated periodically or generated on the fly. This is what server side
-programming is all about: programming languages, tools and frameworks that
-help developers query and modify information from different sources (databases,
-directory services, customer records, other websites) and deliver the content
-to the user.
-CGI scripts
-
-CGI stands for Common Gateway Interface. CGI scripts are external programs
-that are called when a user requests a certain page. The CGI receives information
-from the web server (form variable values, type of browser, IP
-address of the client, etc) and uses that information to output a web page to the client.
-Pros: Since it is an external program, it can be coded in any
-language. The same script will also be portable among different web
-servers. The CGI protocol is simple, and the return result consists of writing
-the response to the standard output. It is a mature technology, and there are
-plenty of online and book references and examples.
-
-Cons: Spawning and initializing a process takes time. Since a
-CGI script is external to the server and an instance has to be
-launched/destroyed for every request there is a performance hit. If
-the process has to load external libraries or perform a connection to
-an external database the delay can be important. Same thing if the
-number of hits per second is high. CGIs are stateless and session
-management has to be achieved by external means.
-
-Since CGI usually involves heavy text manipulation, scripting languages are
-the natural choice. Part of
-popularity stems from its being the CGI programming language of choice. This is due
-to its extensive support for string handling and text processing. There are plenty
-of freely available CGI scripts and libraries. A good starting point is:
-
-Site generators
-
If your site is high volume, you may run into performance problems
-when generating content dynamically. Offline content generators are an
-alternative. These solutions separate content from presentation. The
-HTML generator reads both content and presentation data and outputs
-the static files that build the website. The generator can be run
-periodically or triggered by content changes.
-Future versions of
-plan on having a batch mode to accomplish this. Another option is the
-.
-Out of process servers
-
-The web server can pass dynamic requests to another program. This program
-sits idle until a request arrives. The request is processed and returned to the
-webserver which in turn returns it to the client. This eliminates the overhead
-associated with CGI scripts. Examples of this approach are , , etc.
-Fast CGI