|
|
Apache for MPE/iX supports a rich feature set. The entire
feature set is determined by both the modules that are compiled
into the Apache program and by the extension modules (Dynamic Shared
Objects) that are loaded at Apache runtime.
In addition to the http core (http_core.c)
which is the heart of the Apache code, there are a number of other
compiled-in modules. These modules provide the following major features:
- HTTP/1.1, the latest HTTP protocol
Capabilities new to HTTP/1.1 include content negotiation (the server
returns the data type and human language most preferred by the browser),
persistent connections (the server uses the same socket for more than one
request from the same client), and HOSTNAME variable in the request (for
implementing virtual hosts on the server).
- Advanced Logging
Apache supports multiple log files, customized log files, and logging
on events such as error status.
- Access Control
Basic access control to resources, such as a directory, is provided
through usernames and passwords (Basic Authentication). Access can also
be limited by IP address, domain, or even by HTTP method (i.e., POST or
GET).
- Common Gateway Interface applications (CGI)
CGI is a mechanism for executing external applications from the
browser. These CGI applications can be written in any script or
programming language which runs on MPE/iX. CGI provides dynamic output
to the user. That is, the result returned to the client may be different
each time the CGI is run.
- Server Side Includes (SSI)
SSI also provides dynamic output to a client. SSI is a set of commands
that are embedded in an HTML page and are parsed and executed when the
page is accessed. SSI commands include flow control statements, variable
declarations, and execution of programs.
- Cookies
Cookies are pieces of information generated by the web server and sent
back to the browser for storage. For each subsequent request from the
same client, the cookie is returned to the server. Cookies are useful for
tracking which clients are accessing a server.
- Server-side Imagemaps
Server-side imagemaps are zones defined in an image that, when
clicked, will send the client to a different URL. This functionality has
largely been replaced by the newer client-side imagemaps. Client-side
imagemaps are implemented by a browser and are more efficient since there
is no need to return to the server for a redirect to the intended target
page.
- URL Alias and Redirection
One part of the server's file system is mapped to another part when
URL aliasing or redirection is used. This is useful for accessing
documents outside of the document tree.
- Directory Indexing
For URLs ending in a "/" (a directory request), Apache will return
either an index file or a directory listing. The behavior is determined
by what is configured in the httpd.conf file.
- Fix Typos in URLS
Apache will correct single character misspellings in a URL and will
return the file it thinks you want.
- As-is Files
Apache has the ability to send documents to a client without HTTP
headers. This is useful for document writers who what to write their own
headers.
- Proxy Server
Apache can act as a proxy server, or intermediary, when clients make
web server requests. Instead of a client making a direct request to the
web server, the client makes a request to the proxy server. The proxy
server then makes the actual request to the web server or can simply
return a cached document without actually contacting the web
server.
- Rewrite
URLs can be translated on-the-fly to new addresses. A complex set of
translation rules allows server variables, environment variables, HTTP
headers, time stamps, and other values to be used in these address
translations.
- Virtual Hosts (Vhost)
A single copy of the Apache web server can be made to look like
multiple web servers by using virtual hosts. Each alias IP address and
alias name that resolves to your web server's actual IP address can be
configured as its own virtual host with its own directives (such as its
own document root). It is usually easier to register additional server
names (for name-based virtual hosts) than to acquire additional IP
addresses (for IP-based virtual hosts) and name-based virtual hosts are
the preferred method. With Apache, large numbers of virtual hosts can be
added and/or configured without restarting Apache.
- Digest Authentication
Digest Authentication is a new authentication scheme under
consideration for web browsers. Web browsers currently implement Basic
Authentication.
- Dynamic Shared Objects (DSOs)
DSOs are pieces of program code in a special format for loading at
runtime into the address space of the Apache program. With DSOs, Apache
functionality can easily be extended with third-party modules without
recompiling the Apache binary.
For a complete list of Apache compiled-in (static) modules, run the program
file with the -l option:
shell/iX> /APACHE/PUB/HTTPD -lCompiled-in modules:http_core.c
mod_vhost_alias.c
mod_env.c
mod_log_config.c
mod_log_agent.c
mod_log_referer.c
mod_mime_magic.c
mod_mime.c
mod_negotiation.c
mod_status.c
mod_info.c
mod_include.c
mod_autoindex.c
mod_dir.c
mod_cgi.c
mod_asis.c
mod_imap.c
mod_actions.c
mod_speling.c
mod_userdir.c
mod_alias.c
mod_rewrite.c
mod_access.c
mod_auth.c
mod_auth_anon.c
mod_digest.c
mod_proxy.c
mod_cern_meta.c
mod_expires.c
mod_headers.c
mod_usertrack.c
mod_unique_id.c
mod_so.c
mod_setenvif.c
Version Identification
To view the Apache version, run the program file with the -v option.
Each Apache release has an open source version number (for example, Apache
1.3.14) and an MPE/iX version number (i.e., A.02.00).
shell/iX> ./HTTPD -v
Server version: Apache/1.3.14 (HP MPE/iX A.02.00)
Server built: Apr 2 2001 11:58:16
System Requirements for Installation
The following are estimates for hardware resources required for an Apache
installation.
32 MB of memory (64 MB recommended for machines with high
traffic).
25 MB Disk Space (Apache directories, Apache files and log files)
used approximately in the following way:
5 MB for Apache and its assorted static files.
10 MB for the access log (about 100,000 requests).
10 MB for the error log (about 100,000 errors).
Additional disk space for your documents.
If using less than the estimated disk space required for the
log files, HP recommends monitoring their size. Each request or
error message is about 100 bytes and both logs, but especially the
access log, can grow quite large. Each request to the web server
creates one entry in the access log.
To periodically purge or archive the log files, refer to the section on
"Managing Log Files".
Product Installation
Earlier versions of Apache for MPE/iX were installed under PUB.APACHE.
Starting with Apache 1.3.14, each Apache version is installed in its own
directory tree under the APACHE account and in a group named by its
MPE/iX version. For example, Apache 1.3.14 has an MPE/iX version number of
A.02.00 (VUUFF) so it resides in /APACHE/A0200
(/APACHE/VUUFF). The next release of Apache will reside in
/APACHE/A0300 and so on. A version-specific group is created for each
new release of Apache for MPE/iX and all the files for that release are
installed under that group.
The APACHE account and PUB group is still used and file
access is still through the /APACHE/PUB directory. Symbolic links
point from files and directories in PUB.APACHE to their corresponding
files and directories in the version-specific group.
The installation also creates a symlink named CURRENT that points to
the active version-specific group, since the system may contain multiple
version-specific groups, for example (/APACHE/A0200,
APACHE/A0300, etc.). To view which version of Apache is the current
version:
shell/iX> ll /APACHE/CURRENT
lrwxrwxrwx 1 MGR.APACHE APACHE 5 Mar 27 20:03
CURRENT -> A0200
The symlinks in PUB.APACHE point indirectly via the CURRENT
symlink into the version-specific group. For instance, the bin directory will
point to the bin directory of the CURRENT version, so that a reference
to /APACHE/PUB/bin/htpassword accesses
/APACHE/A0200/bin/htpasswd.
shell/iX> ll /APACHE/PUB/bin
lrwxrwxrwx 1 MGR.APACHE APACHE 9 Mar 27 20:21
/APACHE/PUB/bin -> /APACHE/CURRENT/bin
Users should modify or add files below the PUB group and never in the
version-specific group. The version-specific group only contains files
distributed as part of the Apache product. This makes it possible to remove
old releases by simply remove the entire /APACHE/VUUFF directory.
Examples of files that should reside under /APACHE/PUB are
configuration files, the Apache startup job (JHTTPD), documents served to
clients in htdocs/, and cgi scripts.
The installation creates new files or directories under /APACHE/PUB
if needed for operation with a new Apache version.
With new Apache releases, the previous version-specific group is not purged.
When satisfied with the new version, the user can execute :PURGEGROUP
on the previous version-specific group to remove it from the machine.
:PURGEGROUP /APACHE/VUUFF
To backdate, the CURRENT symlink should be purged and recreated to
point to previous version-specific group.
shell/iX> cd /APACHE
shell/iX> rm CURRENT
shell/iX> ln -s VUUFF CURRENT
|