summaryrefslogtreecommitdiff
path: root/usr.sbin/httpd/htdocs/manual/readme-tpf.html
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/httpd/htdocs/manual/readme-tpf.html')
-rw-r--r--usr.sbin/httpd/htdocs/manual/readme-tpf.html634
1 files changed, 0 insertions, 634 deletions
diff --git a/usr.sbin/httpd/htdocs/manual/readme-tpf.html b/usr.sbin/httpd/htdocs/manual/readme-tpf.html
deleted file mode 100644
index fffdc5582e2..00000000000
--- a/usr.sbin/httpd/htdocs/manual/readme-tpf.html
+++ /dev/null
@@ -1,634 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
-
- <title>The Apache TPF Port</title>
- </head>
-
- <body>
- <a id="top" name="top"></a>
-
- <center>
- <h2>Overview of the Apache TPF Port</h2>
- </center>
- <hr />
-
- <center>
- [ <a href="#configuration_files">Configuration&nbsp;Files</a>
- | <a href="#whats_available">What's&nbsp;Available</a>
- | <a href="#cgi">CGI&nbsp;Scripts</a>
- | <a href="#options">Options</a>
- | <a href="#syslog">Syslog</a>
- | <a href="#porting_notes">Porting&nbsp;Notes</a>&nbsp;]
- </center>
- <hr />
-
- <p>This version of Apache includes changes allowing it to run
- on IBM's EBCDIC-based <a
- href="http://www.ibm.com/software/ts/tpf/index.html">TPF</a>
- (Transaction Processing Facility) operating system.<br />
- Unless otherwise noted TPF version 4.1 PUT09 is
- required.&nbsp;</p>
-
- <p>Refer to <a href="install-tpf.html">install-tpf.html</a> for
- step-by-step installation instructions.&nbsp;</p>
-
- <p>This port builds upon the <a
- href="http://httpd.apache.org/docs/ebcdic.html">EBCDIC
- changes</a> previously made to Apache.&nbsp;<br />
- <a id="configuration_files"
- name="configuration_files"></a></p>
-
- <center>
- <h2>Apache Configuration Files</h2>
- </center>
- 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.<br />
-
- <p>Apache on TPF does not support listening on multiple ports.</p>
-
- <a id="whats_available" name="whats_available"></a>
-
- <center>
- <h2>What's Available in this Version</h2>
- </center>
- The Apache organization provides <a
- href="http://httpd.apache.org/docs/">online documentation</a>
- describing the various modules and components of the
- server.&nbsp;
-
- <h3>Components/modules tested on TPF:</h3>
-
- <ul>
- <li>alloc.c&nbsp;</li>
-
- <li>ap_base64.c&nbsp;</li>
-
- <li>ap_checkpass.c&nbsp;</li>
-
- <li>ap_cpystrn.c&nbsp;</li>
-
- <li>ap_ebcdic.c&nbsp;</li>
-
- <li>ap_fnmatch.c&nbsp;</li>
-
- <li>ap_md5c.c&nbsp;</li>
-
- <li>ap_sha1.c&nbsp;</li>
-
- <li>ap_signal.c&nbsp;</li>
-
- <li>ap_slack.c&nbsp;</li>
-
- <li>ap_snprintf.c&nbsp;</li>
-
- <li>buff.c&nbsp;</li>
-
- <li>buildmark.c&nbsp;</li>
-
- <li>gen_test.char.c&nbsp;</li>
-
- <li>gen_uri_delims.c&nbsp;</li>
-
- <li>htpasswd.c <em>(requires PUT10)&nbsp;</em></li>
-
- <li>http_config.c&nbsp;</li>
-
- <li>http_core.c&nbsp;</li>
-
- <li>http_log.c&nbsp;</li>
-
- <li>http_main.c&nbsp;</li>
-
- <li>http_protocol.c&nbsp;</li>
-
- <li>http_request.c&nbsp;</li>
-
- <li>http_vhost.c&nbsp;</li>
-
- <li>logresolve.c <em>(requires PUT10)&nbsp;</em></li>
-
- <li>mod_access.c <em>(Use of mod_access directives
- "<tt>allow&nbsp;from</tt>" &amp; "<tt>deny&nbsp;from</tt>"
- with host <u>names</u> (versus ip addresses) requires
- PUT10)&nbsp;</em></li>
-
- <li>mod_actions.c&nbsp;</li>
-
- <li>mod_alias.c&nbsp;</li>
-
- <li>mod_asis.c&nbsp;</li>
-
- <li>mod_auth.c&nbsp;</li>
-
- <li>mod_auth_anon.c&nbsp;</li>
-
- <li>mod_autoindex.c&nbsp;</li>
-
- <li>mod_cern_meta.c&nbsp;</li>
-
- <li>mod_cgi.c <em>(requires PUT10)</em>&nbsp;</li>
-
- <li>mod_digest.c&nbsp;</li>
-
- <li>mod_dir.c&nbsp;</li>
-
- <li>mod_env.c&nbsp;</li>
-
- <li>mod_example.c&nbsp;</li>
-
- <li>mod_expires.c&nbsp;</li>
-
- <li>mod_headers.c&nbsp;</li>
-
- <li>mod_imap.c&nbsp;</li>
-
- <li>mod_include.c <em>(CGI execution requires TPF version 4.1
- PUT10)&nbsp;</em></li>
-
- <li>mod_info.c&nbsp;</li>
-
- <li>mod_log_agent.c&nbsp;</li>
-
- <li>mod_log_config.c&nbsp;</li>
-
- <li>mod_log_referer.c&nbsp;</li>
-
- <li>mod_mime.c&nbsp;</li>
-
- <li>mod_mime_magic.c&nbsp;</li>
-
- <li>mod_negotiation.c&nbsp;</li>
-
- <li><a
- href="http://hpwww.ec-lyon.fr/~vincent/apache/mod_put.html">mod_put.c</a>
- <em>(third party module)&nbsp;</em></li>
-
- <li>mod_proxy.c&nbsp;</li>
-
- <li>mod_setenvif.c&nbsp;</li>
-
- <li>mod_speling.c&nbsp;</li>
-
- <li>mod_status.c&nbsp;</li>
-
- <li>mod_tpf_shm_static.c <em>(third party module, requires
- PUT10)&nbsp;</em></li>
-
- <li>mod_unique_id.c <em>(requires PUT10)</em>&nbsp;</li>
-
- <li>mod_userdir.c&nbsp;</li>
-
- <li>mod_usertrack.c&nbsp;</li>
-
- <li>os.c&nbsp;</li>
-
- <li>os-inline.c&nbsp;</li>
-
- <li>proxy_cache.c&nbsp;</li>
-
- <li>proxy_connect.c&nbsp;</li>
-
- <li>proxy_ftp.c&nbsp;</li>
-
- <li>proxy_http.c&nbsp;</li>
-
- <li>proxy_util.c&nbsp;</li>
-
- <li>regular expression parser&nbsp;</li>
-
- <li>regular expression test tool <em>(requires
- PUT10)&nbsp;</em></li>
-
- <li>rfc1413.c&nbsp;</li>
-
- <li>rotatelogs.c <em>(requires PUT10; if PJ27214 implemented be sure to apply PJ28367)&nbsp;</em></li>
-
- <li>syslog <em>(requires PUT13; see <a href="install-tpf.html#syslog">install</a>
- and <a href="#syslog">usage</a> instructions)&nbsp;</em></li>
-
- <li>util.c&nbsp;</li>
-
- <li>util_date.c&nbsp;</li>
-
- <li>util_md5.c&nbsp;</li>
-
- <li>util_script.c&nbsp;</li>
-
- <li>util_uri.c&nbsp;</li>
- </ul>
-
- <h3>Components/modules not yet supported on TPF:</h3>
-
- <ul>
- <li>htdigest.c&nbsp;</li>
-
- <li>lib/expat-lite&nbsp;</li>
-
- <li>lib/sdbm&nbsp;</li>
-
- <li>mod_auth_digest.c&nbsp;</li>
-
- <li>mod_rewrite.c&nbsp;</li>
-
- <li>mod_vhost_alias.c&nbsp;</li>
- </ul>
-
- <h3>Components/modules that don't apply or that probably won't
- ever be available on TPF:</h3>
-
- <ul>
- <li>ab.c&nbsp;</li>
-
- <li>ap_getpass.c&nbsp;</li>
-
- <li>mod_auth_db.c&nbsp;</li>
-
- <li>mod_auth_dbm.c&nbsp;</li>
-
- <li>mod_auth_db.module&nbsp;</li>
-
- <li>mod_mmap_static.c&nbsp;</li>
-
- <li>mod_so.c&nbsp;</li>
-
- <li>suexec.c&nbsp;</li>
- </ul>
- <a id="cgi" name="cgi"></a>
-
- <center>
- <h2>How to Use CGI Scripts</h2>
- </center>
-
- <p>The following is a very simple example of a CGI script
- ("Hello World") and the necessary steps to run it.<br />
- Refer to the <a
- href="http://httpd.apache.org/docs/mod/mod_cgi.html">mod_cgi
- module</a> for additional information.</p>
-
- <h3>Add necessary directives to httpd.conf:</h3>
-
- <div style="margin-left: 2em">
- Example: <tt><br />
- </tt>
-
- <div style="margin-left: 2em">
- <tt>ScriptLog logs/script_log<br />
- ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/</tt>
- </div>
- <br />
- A request for <tt>http://myserver/cgi-bin/filename.cgi</tt>
- would cause the server to run the script
- <tt>/usr/local/apache/cgi-bin/filename.cgi</tt>
- </div>
-
- <h3>Create the CGI script:</h3>
-
- <div style="margin-left: 2em">
- <p>For this example <tt>QZZ1</tt> is the name of the TPF
- program that will be executed by the CGI script.<br />
- The directory path must match what is in the httpd.conf file
- for <tt>ScriptAlias</tt> directive.</p>
-
- <div style="margin-left: 2em">
- <tt>zfile echo "#!QZZ1" &gt;
- /usr/local/apache/cgi-bin/filename.cgi<br />
- zfile cat
- /usr/local/apache/cgi-bin/filename.cgi&nbsp;&nbsp;&nbsp;&nbsp;</tt>
- (this should display <tt>#!QZZ1</tt>)<br />
- <br />
- </div>
- </div>
-
- <h3>Mark the script as executable:</h3>
-
- <div style="margin-left: 2em">
- <tt>zfile chmod 755
- /usr/local/apache/cgi-bin/filename.cgi<br />
- <br />
- </tt>
- </div>
-
- <h3>Create, load, and activate a loadset containing the CGI
- program (QZZ1xx):</h3>
-
- <div style="margin-left: 2em">
- <code>/** QZZ1-- simple "Hello world" program to demonstrate
- basic CGI output **/<br />
- <br />
- #include &lt;stdio.h&gt;<br />
- <br />
- void main() {<br />
- <br />
- </code>
-
- <div style="margin-left: 2em">
- <code>/** Print the CGI response header, required for all
- HTML output. **/<br />
- /** Note the extra \n, to send the blank line. **/<br />
- <br />
- printf("Content-type: text/html\n\n");<br />
- <br />
- /** Print the HTML response page to stdout. **/<br />
- printf("&lt;html&gt;\n");<br />
- printf("&lt;head&gt;&lt;title&gt; CGI Output
- &lt;/title&gt;&lt;/head&gt;\n");<br />
- printf("&lt;body&gt;\n");<br />
- printf("&lt;h1&gt; Hello world &lt;/h1&gt; \n");<br />
- printf("&lt;/body&gt;\n");<br />
- printf("&lt;/html&gt;\n");<br />
- <br />
- </code>
- </div>
- <code>}<br />
- </code>
- </div>
-
- <h3>Request the CGI script from a browser:</h3>
-
- <div style="margin-left: 2em">
- <tt>http://myserver/cgi-bin/filename.cgi</tt><br />
- </div>
- <a id="options" name="options"></a>
-
- <center>
- <h2>How to Use Apache's "Dash" Options</h2>
- </center>
-
- <h3>Overview of Apache's "dash" options:</h3>
-
- <p>Apache can be invoked with various options, such as "-f".
- Some of these options display information about the server or perform syntax checks
- but they don't actually start the server.
- These "information only" options are useful with TPF's ZFILE command line feature:
- -h, -l, -L, -S, -t, -T, -v, and -V.
- </p>
-
- <p>Another option, -X, is used when actually running the server.
- It is passed to Apache through the ZINET XPARM field since ZINET is the only way to start the server on TPF.</p>
-
- <p>A third group of options apply to both the informational displays (ZFILE) and
- running the server (ZINET XPARM): -d, -D and -f.</p>
-
- <p>The rest of Apache's options are either not applicable or are not supported on TPF.</p>
-
- <p>Using dash options requires PJ27277 which shipped on PUT13.</p>
-
- <h3>Table of supported Apache options</h3>
-
- <div style="margin-left: 2em">
- <table border="1" cellpadding="5">
- <tr><td><b>Option&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b>
- </td><td><b>ZFILE</b></td>
- <td><b>ZINET</b>
- </td><td><b>Description</b></td></tr>
-
- <tr><td valign="top"><b>-d</b> <i>path</i></td>
- <td valign="top">ZFILE</td>
- <td valign="top">ZINET</td>
- <td valign="top">Set the initial value for the ServerRoot directive.</td></tr>
-
- <tr><td valign="top"><b>-D</b> <i>define</i></td>
- <td valign="top">ZFILE</td>
- <td valign="top">ZINET</td>
- <td valign="top">Set a configuration parameter which can be used with &lt;IfDefine&gt;...&lt;/IfDefine&gt; sections in the configuration file to conditionally skip or process commands.</td></tr>
-
- <tr><td valign="top"><b>-f</b> <i>filename</i></td>
- <td valign="top">ZFILE</td>
- <td valign="top">ZINET</td>
- <td valign="top">Use an alternate configuration file instead of the default conf/httpd.conf file.</td></tr>
-
- <tr><td valign="top"><b>-h</b></td>
- <td valign="top">ZFILE</td>
- <td valign="top">&nbsp;</td>
- <td valign="top">List a short summary of available command line options then exit.
- Note that this outputs all options, not just those supported on TPF.</td></tr>
-
- <tr><td valign="top"><b>-l</b></td>
- <td valign="top">ZFILE</td>
- <td valign="top">&nbsp;</td>
- <td valign="top">List modules compiled into the server then exit.</td></tr>
-
- <tr><td valign="top"><b>-L</b></td>
- <td valign="top">ZFILE</td>
- <td valign="top">&nbsp;</td>
- <td valign="top">List available configuration directives then exit. Note that this outputs all configuration directives, not just those supported on TPF.</td></tr>
-
- <tr><td valign="top"><b>-S</b></td>
- <td valign="top">ZFILE</td>
- <td valign="top">&nbsp;</td>
- <td valign="top">Show the settings as parsed from the configuration file then exit. Currently Apache only shows the virtual host settings.</td></tr>
-
- <tr><td valign="top"><b>-t</b></td>
- <td valign="top">ZFILE</td>
- <td valign="top">&nbsp;</td>
- <td valign="top">Run syntax tests for configuration files with document root checks then exit.</td></tr>
-
- <tr><td valign="top"><b>-T</b></td>
- <td valign="top">ZFILE</td>
- <td valign="top">&nbsp;</td>
- <td valign="top">Run syntax tests for configuration files <i>without</i> document root checks then exit.</td></tr>
-
- <tr><td valign="top"><b>-v</b></td>
- <td valign="top">ZFILE</td>
- <td valign="top">&nbsp;</td>
- <td valign="top">Show the version number then exit.</td></tr>
-
- <tr><td valign="top"><b>-V</b></td>
- <td valign="top">ZFILE</td>
- <td valign="top">&nbsp;</td>
- <td valign="top">Show the version number and various compile settings then exit.</td></tr>
-
- <tr><td valign="top"><b>-X</b></td>
- <td valign="top">&nbsp;</td>
- <td valign="top">ZINET</td>
- <td valign="top">Run in single-process mode for internal debugging purposes only.
- The parent process does not fork any children.</td></tr>
-
- </table>
-
- <p>See <a href="http://httpd.apache.org/docs/programs/httpd.html">http://httpd.apache.org/docs/programs/httpd.html</a>
- for more information about these command line options.</p>
- </div>
-
- <h3>Setup for ZFILE examples</h3>
-
- <div style="margin-left: 2em">
- <p>Ensure Apache (CHTA) is loaded</p>
-
- <p>Create the httpd script:</p>
-
- <div style="margin-left: 2em">
- <tt>zfile echo "#!CHTA" &gt; /bin/httpd<br />
- zfile cat /bin/httpd&nbsp;&nbsp;</tt> (this should display
- <tt>#!CHTA</tt>)
- </div>
- <br />
- <br />
-
-
- <p>Mark the script as executable:<br />
- </p>
-
- <div style="margin-left: 2em">
- <tt>zfile chmod 755 /bin/httpd</tt>
- </div>
- <br />
-
-
- <p>(See "<em>ZFILE-Activate a TPF Segment or Script</em>" in
- the <em>Operations</em> guide for more information: <a
- href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">http://www.ibm.com/tpf/pubs/tpfpubs.htm</a>.)</p>
- </div>
-
- <h3>ZFILE example 1</h3>
-
- <div style="margin-left: 2em">
- <p><tt>zfile httpd -v</tt></p>
-
- <p><tt>FILE0001I 11.43.09 START OF DISPLAY FROM httpd
- -v<br />
- Server version: Apache/1.3.20 (TPF)<br />
- Server built: May 23 2001 09:39:22<br />
- END OF DISPLAY</tt></p>
- </div>
-
- <h3>ZFILE example 2</h3>
-
- <div style="margin-left: 2em">
- <p><tt>zfile httpd -t -f
- /usr/local/apache/conf/alt.conf</tt></p>
-
- <p><tt>FILE0002I 11.47.26 START OF ERROR DISPLAY FROM httpd
- -t ...<br />
- Syntax OK<br />
- END OF DISPLAY</tt></p>
- </div>
-
- <h3>ZINET XPARM example</h3>
- <div style="margin-left: 2em">
-
- This example uses an alternate configuration file called /usr/local/apache/conf/alt.conf.<br />
- Transfer the alternate configuration file to your TPF test system.<br />
- <tt>zinet add s-apache pgm-chta model-daemon user-root xparm--f conf/alt.conf</tt><br />
- <tt>zinet start s-apache</tt>
-
- <p>(See "<em>ZINET ADD-Add an Internet Server Application Entry</em>" and
- "<em>ZINET ALTER-Change an Internet Server Application Entry</em>" in
- the <em>Operations</em> guide for more information about using the XPARM field:
- <a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">http://www.ibm.com/tpf/pubs/tpfpubs.htm</a>.)</p>
- </div>
-
-
- <a id="syslog" name="syslog"></a>
-
- <center>
- <h2>Syslog Daemon</h2>
- </center>
-
- <h3>Syslog overview:</h3>
-
- <p>The syslog daemon is a server process that provides a message logging facility for application and system processes.
- It can be used to write messages to log files or to tapes.
- See <em>TPF Transmission Control Protocol/Internet Protocol</em> for detailed information about using the syslog daemon on TPF:
- <a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">http://www.ibm.com/tpf/pubs/tpfpubs.htm</a>.
- And see the Apache <a href="http://httpd.apache.org/docs/mod/core.html#errorlog">ErrorLog directive documentation</a>
- for details on how to use syslog with Apache.</p>
-
- <p>Syslog capabilities were added with PJ27214 which shipped with PUT13.
- You must follow the <a href="install-tpf.html#syslog">syslog specific installation instructions</a>
- in order to have the option of using syslog with Apache.</p>
-
-
- <h3>Tips on using syslog with your Apache error log:</h3>
-
- <p>This section provides some tips on using syslog with Apache.
- It is not meant to replace the syslog documentation in the TPF TCP/IP publication.</p>
-
- <ul>
-<li>The syslog daemon will not create files. If you are logging to a file (as specified in the <tt>syslog.conf</tt> configuration file) that file must already exist and
- have permissions that allow the syslog daemon to write to it.</li>
-<li>You must restart the syslog daemon for it to recognize changes to its <tt>syslog.conf</tt> configuration file.</li>
-<li>The syslog daemon must be active prior to starting Apache.</li>
-<li>To indicate you want to use syslog with your Apache error log add the following directive to your <tt>httpd.conf</tt> file:
- "<tt>ErrorLog&nbsp;syslog:</tt><i>facility</i>" where <i>facility</i> is "local0" through "local7".</li>
-<li>Apache will default the facility to "local7" if you omit the facility name from the ErrorLog directive (that is "<tt>ErrorLog&nbsp;syslog</tt>").</li>
-<li>The syslog facility name must be one that is recognized by both Apache and the syslog.h header file.
- The facility names "local0" through "local7" are explicitly set aside for your use.</li>
-<li>Although "local0" through "local7" are recommended user facility names, here is the complete list of names recognized
- by both Apache and TPF's syslog.h: auth, cron, daemon, kern, local0, local1, local2, local3, local4, local5, local6, local7,
- lpr, mail, news, syslog, user, and uucp.</li>
-<li>You won't see the normal Apache startup/shutdown messages when you use syslog with your Apache error log.</li>
-<li>Syslog does not support TCP/IP Offload devices (ZCLAW)</li>
-</ul>
-
- <a id="porting_notes" name="porting_notes"></a>
-
- <center>
- <h2>Porting Notes</h2>
- </center>
-
- <h3>Changes made due to differences between UNIX and TPF's
- process models:</h3>
-
- <ul>
- <li><b>Signals</b>: On TPF a signal that is sent to a process
- remains unhandled until the process explicitly requests that
- signals be handled using the <tt>tpf_process_signals()</tt>
- 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 <tt>exit()</tt> with no dump
- taken.) These differences necessitated a few
- modifications:&nbsp;</li>
-
- <li style="list-style: none">
- <br />
- &nbsp;
-
- <ul>
- <li>bypass the use of <tt>ap_block_alarms()</tt> &amp;
- <tt>ap_unblock_alarms()</tt>&nbsp;</li>
-
- <li>add <tt>tpf_process_signals()</tt> calls&nbsp;</li>
-
- <li>add <tt>select()</tt> calls to prevent
- blocking.&nbsp;</li>
- </ul>
- </li>
- </ul>
-
- <h3>Find that function...</h3>
- Some simple functions &amp; definitions initially needed to be
- added on TPF, such as <tt>FD_SET()</tt>. We've put these in
- src/os/tpf/os.h for now.&nbsp;
-
- <h3>EBCDIC changes:</h3>
- TPF-specific conversion tables between US-ASCII and EBCDIC
- (character set IBM-1047 to be exact) were created.&nbsp;
-
- <h3>Miscellaneous, minor changes:</h3>
- Various minor changes (such as casting) were made due to
- differences in how some functions are implemented on
- TPF.&nbsp;<br />
-
- <hr />
-
- <center>
- [ <a href="#top">top</a>
- | <a href="#configuration_files">Configuration&nbsp;Files</a>
- | <a href="#whats_available">What's&nbsp;Available</a>
- | <a href="#cgi">CGI&nbsp;Scripts</a>
- | <a href="#options">Options</a>
- | <a href="#syslog">Syslog</a>
- | <a href="#porting_notes">Porting&nbsp;Notes</a>&nbsp;]
- </center>
- </body>
-</html>
-