mirror of
https://github.com/apache/httpd.git
synced 2025-05-17 15:21:13 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87505 13f79535-47bb-0310-9956-ffa450edef68
215 lines
6.6 KiB
HTML
215 lines
6.6 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE>The Apache TPF Port</TITLE>
|
|
</HEAD>
|
|
<BODY>
|
|
<A NAME="top"></A>
|
|
<blockquote><strong>Warning:</strong>
|
|
This document has not been updated to take into account changes
|
|
made in the 2.0 version of the Apache HTTP Server. Some of the
|
|
information may still be relevant, but please use it
|
|
with care.
|
|
</blockquote>
|
|
<H1 align="center">Overview of the Apache TPF Port</H1>
|
|
<HR>
|
|
<CENTER>[ <A HREF="#configuration_files">Configuration Files</A>
|
|
| <A HREF="#whats_available">What's Available</A>
|
|
| <A HREF="#porting_notes">Porting Notes</A> ]
|
|
</CENTER>
|
|
<HR>
|
|
<BR>
|
|
|
|
<P>
|
|
This version of Apache includes changes allowing it to run on
|
|
IBM's EBCDIC-based
|
|
<A HREF="http://www.s390.ibm.com/products/tpf/tpfhp.html">TPF</A>
|
|
(Transaction Processing Facility) operating system.
|
|
Unless otherwise noted TPF version 4.1 PUT09 is required.
|
|
<BR><BR>
|
|
Refer to htdocs/manual/<A HREF="install-tpf.html">install-tpf.html</A>
|
|
for step-by-step installation instructions.
|
|
<BR><BR>
|
|
As this is the first cut at making Apache run on TPF,
|
|
performance tuning has not been done.
|
|
<BR><BR>
|
|
This port builds upon the <A HREF="ebcdic.html">EBCDIC changes</A>
|
|
previously made to Apache.
|
|
<BR>
|
|
</P>
|
|
|
|
<A NAME="configuration_files"> </A>
|
|
<H2 align=center>Apache Configuration Files</H2>
|
|
<P>
|
|
The distributed configuration files (httpd.conf-dist and
|
|
mime.types, both located in the conf subdirectory)
|
|
work on TPF. Performance considerations may dictate setting KeepAlive to "Off"
|
|
(the default is "On") or lowering the Timeout value from the default
|
|
300 seconds (5 minutes) in order to reduce the number of active ECBs on your system.
|
|
</P>
|
|
|
|
<A NAME="whats_available"> </A>
|
|
<H2 align=center>What's Available in this Version</H2>
|
|
|
|
(The Apache organization provides
|
|
<A HREF="http://www.apache.org/docs/">online documentation</A>
|
|
describing the various modules and components of the server.)
|
|
|
|
<H3>Components/modules tested on TPF:</H3>
|
|
|
|
<multicol COLS=3><UL>
|
|
<LI>alloc.c
|
|
<LI>ap_base64.c
|
|
<LI>ap_checkpass.c
|
|
<LI>ap_cpystrn.c
|
|
<LI>ap_fnmatch.c
|
|
<LI>ap_md5c.c
|
|
<LI>ap_sha1.c
|
|
<LI>ap_signal.c
|
|
<LI>ap_slack.c
|
|
<LI>ap_snprintf.c
|
|
<LI>buff.c
|
|
<LI>buildmark.c
|
|
<LI>ebcdic.c
|
|
<LI>gen_test.char.c
|
|
<LI>gen_uri_delims.c
|
|
<LI>htpasswd.c <i><small>(requires PUT10)</small></i>
|
|
<LI>http_config.c
|
|
<LI>http_core.c
|
|
<LI>http_log.c
|
|
<LI>http_main.c
|
|
<LI>http_protocol.c
|
|
<LI>http_request.c
|
|
<LI>http_vhost.c
|
|
<LI>logresolve.c <i><small>(requires PUT10)</small></i>
|
|
<LI>mod_access.c <A HREF="#notes"> <i><small>(see note 1)</small></i></A>
|
|
<LI>mod_actions.c
|
|
<LI>mod_alias.c
|
|
<LI>mod_asis.c
|
|
<LI>mod_auth.c
|
|
<LI>mod_auth_anon.c
|
|
<LI>mod_autoindex.c
|
|
<LI>mod_cern_meta.c
|
|
<LI>mod_cgi.c <i><small>(requires PUT10)</small></i>
|
|
<LI>mod_digest.c
|
|
<LI>mod_dir.c
|
|
<LI>mod_env.c
|
|
<LI>mod_example.c
|
|
<LI>mod_expires.c
|
|
<LI>mod_headers.c
|
|
<LI>mod_imap.c
|
|
<LI>mod_include.c <A HREF="#notes"> <i><small>(see note 2)</small></i></A>
|
|
<LI>mod_info.c
|
|
<LI>mod_log_agent.c
|
|
<LI>mod_log_config.c
|
|
<LI>mod_log_referer.c
|
|
<LI>mod_mime.c
|
|
<LI>mod_mime_magic.c
|
|
<LI>mod_negotiation.c
|
|
<LI><A HREF="http://hpwww.ec-lyon.fr/~vincent/apache/mod_put.html">mod_put.c</A>
|
|
<i> <small>(third party module)</small></i>
|
|
<LI>mod_proxy.c
|
|
<LI>mod_setenvif.c
|
|
<LI>mod_speling.c
|
|
<LI>mod_status.c
|
|
<LI>mod_tpf_shm_static.c <i><small>(third party module, requires PUT10)</small></i>
|
|
<LI>mod_unique_id.c <i><small>(requires PUT10)</small></i>
|
|
<LI>mod_userdir.c
|
|
<LI>mod_usertrack.c
|
|
<LI>os.c
|
|
<LI>os-inline.c
|
|
<LI>proxy_cache.c
|
|
<LI>proxy_connect.c
|
|
<LI>proxy_ftp.c
|
|
<LI>proxy_http.c
|
|
<LI>proxy_util.c
|
|
<LI>regular expression parser
|
|
<LI>regular expression test tool <i><small>(requires PUT10)</small></i>
|
|
<LI>rfc1413.c
|
|
<LI>rotatelogs.c <i><small>(requires PUT10)</small></i>
|
|
<LI>util.c
|
|
<LI>util_date.c
|
|
<LI>util_md5.c
|
|
<LI>util_script.c
|
|
<LI>util_uri.c
|
|
</UL></MULTICOL>
|
|
<A NAME="notes"></A><b>Notes:</b>
|
|
<ol>
|
|
<li>Use of mod_access directives "<tt>Allow from</tt>" & "<tt>Deny from</tt>"
|
|
with host <i>names</i> (verses ip addresses) requires TPF version 4.1 PUT10
|
|
<li>CGI execution requires TPF version 4.1 PUT10
|
|
</ol>
|
|
|
|
<H3>Components/modules not yet supported on TPF:</H3>
|
|
|
|
<multicol COLS=3><UL>
|
|
<LI>htdigest.c
|
|
<LI>lib/expat-lite
|
|
<LI>mod_auth_digest.c
|
|
<LI>mod_rewrite.c
|
|
<LI>mod_vhost_alias.c
|
|
</UL></MULTICOL>
|
|
|
|
<H3>Components/modules that don't apply or that probably won't ever be available on TPF:</H3>
|
|
|
|
<multicol COLS=3><UL>
|
|
<LI>ab.c
|
|
<LI>ap_getpass.c
|
|
<LI>mod_auth_db.c
|
|
<LI>mod_auth_dbm.c
|
|
<LI>mod_auth_db.module
|
|
<LI>mod_mmap_static.c
|
|
<LI>mod_so.c
|
|
<LI>suexec.c
|
|
</UL></MULTICOL>
|
|
|
|
<A NAME="porting_notes"> </A>
|
|
<H2 align=center>Porting Notes</H2>
|
|
<P>
|
|
<H3>Changes made due to differences between UNIX and
|
|
TPF's process models:</H3>
|
|
<UL>
|
|
<LI><STRONG>Signals</STRONG>: On TPF a signal that is sent to a process
|
|
remains unhandled until the process explicitly requests that signals
|
|
be handled using the <CODE>tpf_process_signals()</CODE> function.
|
|
Additionally, the default action for an alarm on TPF is to take
|
|
an OPR-7777 dump and exit. (On UNIX the default is the equivalent
|
|
of <CODE>exit()</CODE> with no dump taken.)
|
|
These differences necessitated a few modifications:
|
|
<BR><BR>
|
|
<UL>
|
|
<LI>bypass the use of <CODE>ap_block_alarms()</CODE> &
|
|
<CODE>ap_unblock_alarms()</CODE>
|
|
<LI>add <CODE>tpf_process_signals()</CODE> calls
|
|
<LI>add <CODE>select()</CODE> calls to prevent blocking.
|
|
</UL>
|
|
<BR>
|
|
</UL>
|
|
|
|
<H3>Find that function...</H3>
|
|
<P>Some simple functions & definitions initially needed to be added
|
|
on TPF, such as <CODE>FD_SET()</CODE>.
|
|
We've put these in src/os/tpf/os.h for now.
|
|
</P>
|
|
|
|
<H3>EBCDIC changes:</H3>
|
|
<P>TPF-specific conversion tables between US-ASCII and
|
|
EBCDIC (character set IBM-1047 to be exact) were created
|
|
and put into ebcdic.c in the src/os/tpf directory.
|
|
</P>
|
|
|
|
<H3>Miscellaneous, minor changes:</H3>
|
|
<P>Various minor changes (such as casting) were made due to
|
|
differences in how some functions are implemented on TPF.
|
|
</P>
|
|
|
|
<HR>
|
|
<CENTER>[ <A HREF="#top">top</A>
|
|
| <A HREF="#configuration_files">Configuration Files</A>
|
|
| <A HREF="#whats_available">What's Available</A>
|
|
| <A HREF="#porting_notes">Porting Notes</A> ]
|
|
</CENTER>
|
|
|
|
</BODY>
|
|
</HTML>
|