You are viewing a plain text version of this content. The canonical link for it is here.
Posted to docs@httpd.apache.org by sl...@apache.org on 2001/09/12 17:06:51 UTC
cvs commit: httpd-docs-1.3/htdocs/manual readme-tpf.html install-tpf.html
slive 01/09/12 08:06:51
Modified: htdocs/manual readme-tpf.html install-tpf.html
Log:
TPF doc updates
Submitted by: David McCreedy
Revision Changes Path
1.10 +470 -271 httpd-docs-1.3/htdocs/manual/readme-tpf.html
Index: readme-tpf.html
===================================================================
RCS file: /home/cvs/httpd-docs-1.3/htdocs/manual/readme-tpf.html,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -b -u -r1.9 -r1.10
--- readme-tpf.html 2000/09/27 17:37:30 1.9
+++ readme-tpf.html 2001/09/12 15:06:51 1.10
@@ -1,273 +1,472 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<TITLE>The Apache TPF Port</TITLE>
-</HEAD>
-<BODY>
-<A NAME="top"></A>
-<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="#cgi">CGI Scripts</A>
- | <A HREF="#porting_notes">Porting Notes</A> ]
-</CENTER>
-<HR>
-<BR>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<title>The Apache TPF Port</title>
+</head>
+<body>
+<a name="top"></a>
+<center>
+<h1>Overview of the Apache TPF Port</h1>
+</center>
-<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>
+<hr>
+<center>[ <a href="#configuration_files">Configuration
+Files</a> | <a href="#whats_available">What's
+Available</a> | <a href="#cgi">CGI Scripts</a>
+ | <a href="#options">Options</a>
+ | <a href="#porting_notes">Porting Notes</a>
+]</center>
-<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>
+<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. </p>
-<A NAME="whats_available"> </A>
-<H2 align=center>What's Available in this Version</H2>
+<p>Refer to <a href=
+"install-tpf.html">install-tpf.html</a> for step-by-step installation
+instructions. </p>
- (The Apache organization provides
- <A HREF="http://www.apache.org/docs/">online documentation</A>
- describing the various modules and components of the server.)
+<p>This port builds upon the <a href=
+"http://httpd.apache.org/docs/ebcdic.html">EBCDIC changes</a>
+previously made to Apache. <br>
+<a name="configuration_files"></a></p>
-<H3>Components/modules tested on TPF:</H3>
+<center>
+<h2>Apache Configuration Files</h2>
+</center>
- <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>
+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>
+<a name="whats_available"></a>
-<H3>Components/modules not yet supported on TPF:</H3>
+<center>
+<h2>What's Available in this Version</h2>
+</center>
- <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>
+The Apache organization provides <a href=
+"http://httpd.apache.org/docs/">online documentation</a> describing
+the various modules and components of the server.
-<H3>Components/modules that don't apply or that probably won't ever be available on TPF:</H3>
+<h3>Components/modules tested 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>
+<ul>
+<li>alloc.c </li>
-<A NAME="cgi"> </A>
-<H2 align=center>How to Use CGI Scripts</H2>
-<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://www.apache.org/docs/mod/mod_cgi.html">mod_cgi module</A> for
- additional information.<BR>
+<li>ap_base64.c </li>
- <H3>Add necessary directives to httpd.conf:</H3>
- <UL>
- Example:
- <tt><BR><UL>
- ScriptLog logs/script_log<BR>
- ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/
- </tt></UL><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>
- </UL>
+<li>ap_checkpass.c </li>
- <H3>Create the CGI script:</H3>
- <UL>
- 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.<BR><BR>
- <UL>
- <tt>zfile echo "#!QZZ1" > /usr/local/apache/cgi-bin/filename.cgi <BR><BR>
- zfile cat /usr/local/apache/cgi-bin/filename.cgi </tt>
- (this should display<tt>#!QZZ1</tt>)<BR><BR>
- </UL>
- </UL>
+<li>ap_cpystrn.c </li>
- <H3>Mark the script as executable:</H3>
- <UL>
- <tt>zfile chmod 755 /usr/local/apache/cgi-bin/filename.cgi<BR><BR></tt>
- </UL>
+<li>ap_ebcdic.c </li>
- <H3>Create, load, and activate a loadset containing the CGI program (QZZ1xx):</H3>
- <UL>
- <code>
- /** QZZ1-- simple "Hello world" program to demonstrate basic CGI output **/<BR><BR>
- #include <stdio.h><BR><BR>
- void main() {<BR><BR>
- <UL>
- /** Print the CGI response header, required for all HTML output. **/<BR>
- /** Note the extra \n, to send the blank line. **/<BR><BR>
+<li>ap_fnmatch.c </li>
- printf("Content-type: text/html\n\n");<BR><BR>
+<li>ap_md5c.c </li>
- /** Print the HTML response page to stdout. **/<BR>
- printf("<html>\n");<BR>
- printf("<head><title> CGI Output </title></head>\n");<BR>
- printf("<body>\n");<BR>
- printf("<h1> Hello world </h1> \n");<BR>
- printf("</body>\n");<BR>
- printf("</html>\n");<BR><BR>
- </UL>
- }<BR>
- </code>
- </UL>
+<li>ap_sha1.c </li>
- <H3>Request the CGI script from a browser:</H3>
- <UL>
- <tt>http://myserver/cgi-bin/filename.cgi</tt><BR>
- </UL>
+<li>ap_signal.c </li>
-<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>
+<li>ap_slack.c </li>
- <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>
+<li>ap_snprintf.c </li>
- <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>
+<li>buff.c </li>
- <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>
+<li>buildmark.c </li>
-<HR>
-<CENTER>[ <A HREF="#top">top</A>
- | <A HREF="#configuration_files">Configuration Files</A>
- | <A HREF="#whats_available">What's Available</A>
- | <A HREF="#cgi">CGI Scripts</A>
- | <A HREF="#porting_notes">Porting Notes</A> ]
-</CENTER>
+<li>gen_test.char.c </li>
-</BODY>
-</HTML>
+<li>gen_uri_delims.c </li>
+
+<li>htpasswd.c <em>(requires PUT10) </em></li>
+
+<li>http_config.c </li>
+
+<li>http_core.c </li>
+
+<li>http_log.c </li>
+
+<li>http_main.c </li>
+
+<li>http_protocol.c </li>
+
+<li>http_request.c </li>
+
+<li>http_vhost.c </li>
+
+<li>logresolve.c <em>(requires PUT10) </em></li>
+
+<li>mod_access.c <em>(Use of mod_access directives
+"<tt>allow from</tt>" &
+"<tt>deny from</tt>" with host
+<u>names</u> (verses ip addresses)
+requires PUT10) </em></li>
+
+<li>mod_actions.c </li>
+
+<li>mod_alias.c </li>
+
+<li>mod_asis.c </li>
+
+<li>mod_auth.c </li>
+
+<li>mod_auth_anon.c </li>
+
+<li>mod_autoindex.c </li>
+
+<li>mod_cern_meta.c </li>
+
+<li>mod_cgi.c <em>(requires
+PUT10)</font></em> </li>
+
+<li>mod_digest.c </li>
+
+<li>mod_dir.c </li>
+
+<li>mod_env.c </li>
+
+<li>mod_example.c </li>
+
+<li>mod_expires.c </li>
+
+<li>mod_headers.c </li>
+
+<li>mod_imap.c </li>
+
+<li>mod_include.c <em>(CGI execution
+requires TPF version 4.1 PUT10) </em></li>
+
+<li>mod_info.c </li>
+
+<li>mod_log_agent.c </li>
+
+<li>mod_log_config.c </li>
+
+<li>mod_log_referer.c </li>
+
+<li>mod_mime.c </li>
+
+<li>mod_mime_magic.c </li>
+
+<li>mod_negotiation.c </li>
+
+<li><a href="http://hpwww.ec-lyon.fr/~vincent/apache/mod_put.html">
+mod_put.c</a> <em>(third party
+module) </em></li>
+
+<li>mod_proxy.c </li>
+
+<li>mod_setenvif.c </li>
+
+<li>mod_speling.c </li>
+
+<li>mod_status.c </li>
+
+<li>mod_tpf_shm_static.c <em>(third party module,
+requires PUT10) </em></li>
+
+<li>mod_unique_id.c <em>(requires
+PUT10)</font> </em></li>
+
+<li>mod_userdir.c </li>
+
+<li>mod_usertrack.c </li>
+
+<li>os.c </li>
+
+<li>os-inline.c </li>
+
+<li>proxy_cache.c </li>
+
+<li>proxy_connect.c </li>
+
+<li>proxy_ftp.c </li>
+
+<li>proxy_http.c </li>
+
+<li>proxy_util.c </li>
+
+<li>regular expression parser </li>
+
+<li>regular expression test tool <em>(requires
+PUT10) </em></li>
+
+<li>rfc1413.c </li>
+
+<li>rotatelogs.c <em>(requires
+PUT10) </em></li>
+
+<li>util.c </li>
+
+<li>util_date.c </li>
+
+<li>util_md5.c </li>
+
+<li>util_script.c </li>
+
+<li>util_uri.c </li>
+</ul>
+
+<h3>Components/modules not yet supported on TPF:</h3>
+
+<ul>
+<li>htdigest.c </li>
+
+<li>lib/expat-lite </li>
+
+<li>mod_auth_digest.c </li>
+
+<li>mod_rewrite.c </li>
+
+<li>mod_vhost_alias.c </li>
+</ul>
+
+<h3>Components/modules that don't apply or that probably won't ever
+be available on TPF:</h3>
+
+<ul>
+<li>ab.c </li>
+
+<li>ap_getpass.c </li>
+
+<li>mod_auth_db.c </li>
+
+<li>mod_auth_dbm.c </li>
+
+<li>mod_auth_db.module </li>
+
+<li>mod_mmap_static.c </li>
+
+<li>mod_so.c </li>
+
+<li>suexec.c </li>
+</ul>
+
+<a 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>
+<ul>
+Example:
+<tt><br><ul>
+ScriptLog logs/script_log<br>
+ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/
+</tt></ul><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>
+</ul>
+
+<h3>Create the CGI script:</h3>
+<ul>
+<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>
+<ul>
+<tt>zfile echo "#!QZZ1" > /usr/local/apache/cgi-bin/filename.cgi<br>
+zfile cat /usr/local/apache/cgi-bin/filename.cgi </tt>
+(this should display <tt>#!QZZ1</tt>)<br><br>
+</ul>
+</ul>
+
+<h3>Mark the script as executable:</h3>
+<ul>
+<tt>zfile chmod 755 /usr/local/apache/cgi-bin/filename.cgi<br><br></tt>
+</ul>
+
+<h3>Create, load, and activate a loadset containing the CGI program (QZZ1xx):</h3>
+<ul>
+<code>
+ /** QZZ1-- simple "Hello world" program to demonstrate basic CGI output **/<br><br>
+ #include <stdio.h><br><br>
+ void main() {<br><br>
+ <ul>
+ /** 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("<html>\n");<br>
+ printf("<head><title> CGI Output </title></head>\n");<br>
+ printf("<body>\n");<br>
+ printf("<h1> Hello world </h1> \n");<br>
+ printf("</body>\n");<br>
+ printf("</html>\n");<br><br>
+ </ul>
+ }<br>
+</code>
+</ul>
+
+<h3>Request the CGI script from a browser:</h3>
+<ul>
+<tt>http://myserver/cgi-bin/filename.cgi</tt><br>
+</ul>
+
+<a name="options"></a>
+<center>
+<h2>How to Use Apache Command Line Options</h2>
+</center>
+
+<p>You cannot run Apache from the command line on TPF.
+However you can use those Apache command line options which don't actually
+start the server. This requires PJ27277 which shipped on PUT13.</p>
+
+<h3>Supported Apache options:</h3>
+<ul>
+
+<p>-d <i>directory</i><br>
+Specify an alternate initial ServerRoot <i>directory</i>.
+Default is <tt>/usr/local/apache</tt>.</p>
+
+<p>-f <i>file</i><br>
+Specify an alternate server configuration <i>file</i>.
+Default is <tt>conf/httpd.conf</tt>.</p>
+
+<p>-h<br>
+List a short summary of available command line options.
+(Note that this outputs all options, not just those supported on TPF.)</p>
+
+<p>-l<br>
+List modules compiled into the server.</p>
+
+<p>-L<br>
+List available configuration directives.
+(Note that this outputs all configuration directives, not just those supported on TPF.)</p>
+
+<p>-S<br>
+Show the settings as parsed from the configuration file.
+Currently only shows the virtualhost settings.</p>
+
+<p>-t<br>
+Run syntax tests for configuration files (with document root checks)</p>
+
+<p>-T<br>
+Run syntax tests for configuration files (without document root checks)</p>
+
+<p>-v<br>
+Show the version number.</p>
+
+<p>-V<br>
+Show the version number and various compile settings.</p>
+
+
+<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>
+
+<p>Note: On TPF Apache arguments are supported only on the command line,
+not through the ZINET XPARM field.</p>
+</ul>
+
+<h3>Setup</h3>
+<ul>
+<p>Ensure Apache (CHTA) is loaded</p>
+
+<p>Create the httpd script:
+ <ul>
+ <tt>zfile echo "#!CHTA" > /bin/httpd<br>
+ zfile cat /bin/httpd </tt>(this should display <tt>#!CHTA</tt>)
+ </ul></p>
+
+<p>Mark the script as executable:<br>
+ <ul><tt>zfile chmod 755 /bin/httpd</tt></ul></p>
+
+<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>
+
+</ul>
+
+<h3>Example 1</h3>
+<ul><tt>
+<p>zfile httpd -v</p>
+
+<p>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</p>
+
+</tt></ul>
+
+<h3>Example 2</h3>
+<ul><tt>
+<p>zfile httpd -t -f /usr/local/apache/conf/httpd.conf.new</p>
+
+<p>FILE0002I 11.47.26 START OF ERROR DISPLAY FROM httpd -t ...<br>
+Syntax OK<br>
+END OF DISPLAY</p>
+
+</tt></ul>
+
+<a 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: </li>
+
+<li style="list-style: none"><br>
+
+
+<ul>
+<li>bypass the use of <tt>ap_block_alarms()</tt> & <tt>
+ap_unblock_alarms()</tt> </li>
+
+<li>add <tt>tpf_process_signals()</tt> calls </li>
+
+<li>add <tt>select()</tt> calls to prevent blocking. </li>
+</ul>
+</li>
+</ul>
+
+<h3>Find that function...</h3>
+
+Some simple functions & 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.
+
+<h3>EBCDIC changes:</h3>
+
+TPF-specific conversion tables between US-ASCII and EBCDIC
+(character set IBM-1047 to be exact) were created.
+
+<h3>Miscellaneous, minor changes:</h3>
+
+Various minor changes (such as casting) were made due to
+differences in how some functions are implemented on TPF. <br>
+<hr>
+<center>[ <a href="#top">top</a>
+ | <a href="#configuration_files">Configuration Files</a>
+ | <a href="#whats_available">What's Available</a>
+ | <a href="#cgi">CGI Scripts</a>
+ | <a href="#options">Options</a>
+ | <a href="#porting_notes">Porting Notes</a> ]</center>
+
+</body></html>
\ No newline at end of file
1.13 +529 -354 httpd-docs-1.3/htdocs/manual/install-tpf.html
Index: install-tpf.html
===================================================================
RCS file: /home/cvs/httpd-docs-1.3/htdocs/manual/install-tpf.html,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -b -u -r1.12 -r1.13
--- install-tpf.html 2001/03/28 21:25:40 1.12
+++ install-tpf.html 2001/09/12 15:06:51 1.13
@@ -1,163 +1,285 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<TITLE>Installing Apache on TPF</TITLE>
-</HEAD>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<title>Installing Apache on TPF</title>
+</head>
+<body>
-<BODY>
-<H1 ALIGN="center">
- <A NAME="top">Installing the Apache 1.3 HTTP Server on TPF</A>
-</H1>
-<HR>
-<CENTER>[ <A HREF="#download">Download</A>
- | <A HREF="#compilation">Compilation</A>
- | <A HREF="#installation">Installation</A>
- | <A HREF="#visualage">VisualAge</A> ]
-</CENTER>
-<HR>
-<BR>
+<center>
+<h1><a name="top"></a>Installing the Apache 1.3 HTTP Server on
+TPF</h1>
+</center>
-<P>
-This document outlines the steps needed to install Apache onto a TPF system.
-</P>
-<P>
-You should first read
-htdocs/manual/<A HREF="readme-tpf.html">readme-tpf.html</A>
-for basic information on the port of Apache to TPF including required PUT level
-and supported functions & modules.
-</P>
-<H2 align=center><A NAME="download">Download</A></H2>
-Releases of the Apache server are compressed into a "tarball" file and stored on the Apache web site.
-You will need to choose a version and download the corresponding tarball to your PC.
-Additionally the source code from the tarball will need to be copied onto an MVS OS/390 Open Edition machine
-(later referred to simply as "Open Edition") for compiling.
-So here are all the details on how to get Apache and how to get it where it needs to be:
+<hr>
+<center>[ <a href="#download">Download</a> | <a href=
+"#compilation">Compilation</a> | <a href="#installation">
+Installation</a> | <a href="#visualage">VisualAge</a>
+]</center>
+
+<hr>
+<p>This document outlines the steps needed to install Apache onto a
+TPF system.</p>
+
+<p>You should first read <a href=
+"readme-tpf.html">readme-tpf.html</a> for basic information on the port
+of Apache to TPF including required PUT level and supported
+modules.<br>
+ <br>
+ <br>
+</p>
+
+<center>
+<h2><a name="download"></a>Download</h2>
+</center>
+
+Releases of the Apache server are compressed into a "tarball" file
+which must be downloaded to your PC.
+Additionally the source code from the tarball will need to be
+copied onto an OS/390 UNIX System Services machine (later referred to
+simply as "OS/390 UNIX") for compiling. Here are all the
+details on how to get Apache and how to get it where it needs to
+be:
+
<ol>
- <li><A HREF="http://www.apache.org/dist/httpd/">Download</A>
- the gzipped Apache files (the "tarball") to your PC.
- The file name on the web site will be something like <i>apache_1.3.x.tar.gz</i>.
- <br><font color=red size=4>TIP: </font>Be sure to keep the <i>.tar.gz</i> extension
- when choosing the name of the PC file.
- <br><br>
- <li>Decompress the tarball on your PC using WinZip or some other PC decompression tool.
- <br><font color=red size=4>TIP: </font>If you are using WinZip verify that the
- <EM>"TAR File Smart CR/LF Conversion"</EM> option (under Options, Configuration) is NOT checked.<br>
- This is what you can expect if you use WinZip:
- <ul>
- <li>open the tarball with WinZip (this can usually be done simply by double-clicking
- on the downloaded tarball)
- <li>you will be told that the archive contains one file (such as <i>apache_1.3.x.tar</i>) -
- allow WinZip to decompress it to a temporary folder
- <li>extract the archived files onto your PC -
- you'll be using files from the <tt>conf, htdocs,</tt> and <tt>icons</tt> directories later in the install phase
- </ul>
- <br>
- <li>FTP the tarball to your Open Edition machine using binary mode:
- <ul>
- <li>activate FTP in an MSDOS window: <tt><b>ftp <i>your.open.edition.machine.com</i></b></tt>
- <li>sign in
- <li>set mode to binary: <tt><b>binary</b></tt>
- <li>send the file to Open Edition:<br>
- <tt><b> send <i>c:\downloaded_filename.tar.gz open_edition_filename.tar.gz</i></b></tt>
- <li>exit FTP: <tt><b>bye</b></tt>
- </ul>
- <br><font color=red size=4>TIP: </font>
- Open Edition and UNIX file names are case sensitive. If you use an NFS client to transfer files
- from your PC to Open Edition (instead of using FTP as described above) verify that the NFS drive will transfer the
- file names with upper/lower case preserved.<br>
- <br>
- <li>Decompress the gzipped file on Open Edition: <tt><b>gunzip <i>open_edition_filename.tar.gz</i></b></tt>
- <br>Note that the <i>.tar.gz</i> file will be replaced by the gunzipped <i>.tar</i> archive file.
- <br><br>
- <li>Extract the archived files necessary for compiling Apache:
- <ul>
- <li><tt><b>pax -rvkf <i>open_edition_filename.tar</i> -o from=ISO8859-1,to=IBM-1047 "*/src"</b></tt><br>
- (any errors extracting files outside of the "src" directory can be ignored)
- <li>switch to the source code subdirectory of the newly extracted apache directory: <tt><b>cd <i>apache-1.3</i>/src</b></tt>
- <li>remove unnecessary subdirectories:
- <tt><b>rm -r os/bs2000 os/mpeix os/netware os/os2 os/os390 os/win32</b></tt>
- </ul>
+<li>Download the compressed
+Apache files (the "tarball") to your PC. The file name on the web
+site will be something like <tt>apache_1.3.<i>xx</i>.tar.Z</tt>.<br>
+
+<font color="#FF0000"><font size="+1">TIP:</font></font> Be sure to
+keep the <tt>.tar.Z</tt> extension when choosing the name of the PC
+file. <br>
+ </li>
+
+<li>Decompress the tarball on your PC using WinZip or some other PC
+decompression tool.<br>
+
+<font color="#FF0000"><font size="+1">TIP:</font></font> If you are
+using WinZip verify that the <i>"TAR File Smart CR/LF
+Conversion"</i> option (under Options, Configuration) is NOT
+checked.<br>
+This is what you can expect if you use WinZip:
+
+<ul>
+<li>open the tarball with WinZip (this can usually be done simply
+by double-clicking on the downloaded tarball) </li>
+
+<li>you will be told that the archive contains one file (such as
+apache_1.3.<i>xx</i>.tar) - allow WinZip to decompress it to a
+temporary folder </li>
+
+<li>extract the archived files onto your PC - you'll be using files
+from the <tt>conf, htdocs,</tt> and <tt>icons</tt>
+directories later in the install phase <br><br></li>
+</ul>
+</li>
+
+<li>FTP the tarball to your OS/390 UNIX machine using binary
+mode: </li>
+
+<ul>
+<li>activate FTP in an MSDOS window:
+<b><tt>ftp <i>your.os390.unix.machine.com</i></tt></b> </li>
+
+<li>sign in </li>
+
+<li>set mode to binary: <b><tt>binary</tt></b> </li>
+
+<li>send the file to OS/390 UNIX:<br>
+
+<b><tt>
+ send <i>c:\downloaded_filename</i>.tar.Z <i>os390_unix_filename</i>.tar.Z
+</tt></b></li>
+
+<li>exit FTP: <b><tt>bye</tt></b> </li>
+</ul>
+
+<p>
+<font color="#FF0000"><font size="+1">TIP:</font></font>
+UNIX file names are case sensitive. If you use an NFS
+client to transfer files from your PC to OS/390 UNIX (instead of
+using FTP as described above) verify that the NFS drive will
+transfer the file names with upper/lower case preserved.
+ </p>
+</li>
+
+<li>Decompress the tarball on OS/390 UNIX: <b><tt>
+gunzip <i>os390_unix_filename</i>.tar.Z</tt></b> <br>
+
+Note that the <i>.tar.Z</i> file will be replaced by the decompressed
+<i>.tar</i> archive file. <br>
+ </li>
+
+<li>Extract the archived files necessary for compiling Apache: <b><tt>
+pax -rvkf <i>os390_unix_filename</i>.tar -o from=ISO8859-1,to=IBM-1047 "*/src"
+</tt></b><br> </li>
+
+<li>Remove unnecessary subdirectories:
+ <ul><b><tt>
+ <li>cd apache_1.3.<em>xx</em>/src/os</li>
+ <li>rm -r bs2000 cygwin mpeix netware os2 os390 win32</li><br>
+ </tt></b></ul>
+ </li>
+</ul>
+</li>
</ol>
+
+<center>
+<h2><a name="compilation"></a>Compilation</h2>
+</center>
+
+Apache supports the notion of "optional modules". However, the
+server has to know which modules are compiled into it. In order for
+those modules to be effective, it is necessary to generate a short
+bit of code (modules.c) which simply has a list of them. If you are
+using the <tt>Configure</tt> utility and <tt>make</tt>, modules.c
+and other necessary files will be created for you automatically.
+
+<p>The provided instructions assume a c89 compiler and have been
+tested on an OS/390 UNIX machine running at version 2.6 that
+contained both OS/390 UNIX and TPF C header files. If you are using a
+platform other that OS/390 UNIX you may need to modify src/os/tpf/TPFExport
+and src/Configure to match your environment.<br>
<br>
-<H2 align=center><A NAME="compilation">Compilation</A></H2>
-<P>
-Apache supports the notion of "optional modules". However,
-the server has to know which modules are compiled into it. In order for
-those modules to be effective, it is necessary to generate a short bit of
-code (modules.c) which simply has a list of them. If you are using the <tt>Configure</tt> utility
-and <tt>make</tt>, modules.c and other necessary files will be created for you automatically.
-</P>
-<P>
-The provided scripts assume a c89 compiler and have only been tested on an
-Open Edition environment. If you are using a platform other that
-Open Edition you may need to modify src/os/tpf/TPFExport and src/Configure
-to match your environment.
-</P>
-<font color=red size=4>TIP: </font>
-Editing files on your PC prior to moving them to Open Edition may result
-in the loss/addition of unprintable characters. Files of concern include shell
-scripts and src/Configuration. The most common problems are with
-tab characters and CR/LF characters. Most editors will handle the CR/LF problem correctly
-but none seem to handle tab characters. If you need to edit files prior to moving them to Open Edition,
-edit them in a UNIX editor such as vi or emacs.<br>
-<P>
-Note that Open Edition commands in this section are shown in
-<TT><STRONG>bold</STRONG></TT>,
-are case sensitive, and must be made from the "src" directory.
-</P>
-<OL>
-<LI>Overlay src/Configuration with src/Configuration.tmpl:
- <TT><STRONG>cp Configuration.tmpl Configuration</STRONG></TT>
- <BR><BR>
-<LI>Edit src/Configuration. It contains the list and settings
- of various "Rules" and an additional section at the bottom that determines
- which modules to compile:
- <BR><BR>
- <UL>
- <LI>Adjust the Rules and <TT>EXTRA_CFLAGS|LIBS|LDFLAGS|INCLUDES</TT>
- if you feel so inclined.
- <BR><BR>
- <LI>Comment out (by preceding the line with a "#") lines corresponding
- to those modules you do not wish to include.
- <BR><BR>
- <LI>Uncomment (by removing the initial "#", if present) lines
- corresponding to those optional modules you wish
- to include or add new lines corresponding to any custom modules
- you have written.
- The htdocs/manual/<A HREF="readme-tpf.html">readme-tpf.html</A>
- document lists the modules that have been tested on TPF.
- </UL>
- <br>The modules placed in the Apache distribution are the ones that have been
- tested and are used regularly by various members of the Apache development
- group. Additional modules contributed by members or third parties with specific
- needs or functions are available at
- <A
-HREF="http://www.apache.org/dist/httpd/contrib/modules/">http://www.apache.org/dist/httpd/contrib/modules/</A>.
- There are instructions on that page for linking these modules into the core Apache
- code.
- <BR><BR>
-<LI><A NAME="export"></A>Set the TPF environment variables:
- <TT><STRONG>. os/tpf/TPFExport</STRONG></TT>
- <BR>
- <br><font color=red size=4>TIP:</font>
- The initial period and blank on the command are required to ensure
- the environment variables exist beyond the scope of the shell script.
- <BR><BR>
- This script will set the environment variables required to compile the
- programs for TPF. Verify that the export variables are valid for your
- installation, in particular, the system include file directories. The
- system include files must reside on your Open Edition system in the
- appropriate file structure similar to /usr/include and /usr/include/sys.
- If your system header files contain line numbers in columns 72-80, you must truncate them.
- <BR><BR>
- Do not modify the <TT>TPF=YES</TT> export variable. If this is
- changed, the "Configure" script will not recognize TPF.
- <BR><BR>
-<LI><A NAME="configure"></A>Run the "Configure" script:
- <TT><STRONG>Configure</STRONG></TT>
- <BR>
- This generates modules.c, include/ap_config_auto.h, and necessary Makefiles:
- <PRE>
+<font color="#FF0000"><font size="+1">TIP:</font></font> Editing
+files on your PC prior to moving them to OS/390 UNIX may result in
+the loss/addition of unprintable characters. Files of concern
+include shell scripts and src/Configuration. The most common
+problems are with tab characters and CR/LF characters. Most editors
+will handle the CR/LF problem correctly but none seem to handle tab
+characters. If you need to edit files prior to moving them to
+OS/390 UNIX, edit them in a UNIX editor such as vi or emacs.</p>
+
+<p>Note that OS/390 UNIX commands in this section are shown in <b>
+<tt>bold</tt></b>, are case sensitive, and must be made from the
+"src" directory.</p>
+
+<ol>
+
+
+<li>Switch to the source code subdirectory:
+<b><tt>cd apache_1.3.<em>xx</em>/src</tt></b><br> </li>
+
+
+<li>Overlay src/Configuration with src/Configuration.tmpl: <b><tt>
+cp Configuration.tmpl Configuration</tt></b><br> </li>
+
+<li>Edit src/Configuration. It contains the list and settings of
+various "Rules" and an additional section at the bottom that
+determines which modules to compile:<br> </li>
+
+<ul>
+<li>Adjust the Rules and <tt>
+EXTRA_CFLAGS|LIBS|LDFLAGS|INCLUDES</tt> if you feel so
+inclined.<br> </li>
+
+<li>Comment out (by preceding the line with a "#") lines
+corresponding to those modules you DO NOT wish to
+include.<br> </li>
+
+<li>Uncomment (by removing the initial "#", if present) lines
+corresponding to those modules you wish to include or add
+new lines corresponding to any custom modules you have written. The
+<a href="readme-tpf.html">readme-tpf.html</a>
+document lists the modules that have been tested on TPF. </li>
+</ul>
+
+<p>
+The modules placed in the Apache distribution are the ones that
+have been tested and are used regularly by various members of the
+Apache development group. Additional modules contributed by members
+or third parties with specific needs or functions are available at
+<a href="http://modules.apache.org/">
+http://modules.apache.org/</a>. There are
+instructions on that page for linking these modules into the core
+Apache code. </p>
+</li>
+
+<li>
+Indicate whether the <tt>non_socket_select</tt> function is implemented
+on your system.
+
+<p>If you are on a PUT12 or higher system, or have PJ26895 installed,
+then you probably support <tt>non_socket_select</tt>.<br>
+You can verify this by looking for the <tt>non_socket_select</tt> prototype
+in your system header files (specifically <tt>i$pwbl.h</tt>).</p>
+
+<p>If your TPF system supports <tt>non_socket_select</tt> do
+<em>one</em> of the following:<br>
+<ul>
+<li>add "<tt>#define TPF_HAVE_NONSOCKET_SELECT</tt>" to
+<tt>src/os/tpf/os.h</tt> <em>or</em></li>
+<li>add "<tt>-DTPF_HAVE_NONSOCKET_SELECT</tt>" to
+the <tt>_C89_OPTIONS</tt> export in src/os/tpf/TPFExport</li>
+</ul>
+</p>
+
+<p>Otherwise:<br>
+<ul>
+<li>add "<tt>#define TPF_NO_NONSOCKET_SELECT</tt>" to
+<tt>src/os/tpf/os.h</tt> <em>or</em></li>
+<li>add "<tt>-DTPF_NO_NONSOCKET_SELECT</tt>" to
+the <tt>_C89_OPTIONS</tt> export in src/os/tpf/TPFExport</li>
+</ul></p>
+
+<p>Without <tt>non_socket_select</tt> CGI output is buffered
+and only sent to the browser when the CGI program finishes.</p>
+</li>
+
+<li>
+Indicate whether the <tt>tpf_sawnc</tt> function is implemented
+on your system.
+
+<p>If you are on a PUT10 or higher system, or have PJ27387/PJ26188 installed,
+then you probably support <tt>tpf_sawnc</tt>.<br>
+You can verify this by looking for the <tt>tpf_sawnc</tt> prototype in your
+system header files (either <tt>tpfapi.h</tt> or <tt>i$fsdd.h</tt>).</p>
+
+<p>If your TPF system supports <tt>tpf_sawnc</tt> do <em>one</em> of the following:<br>
+<ul>
+<li>add "<tt>#define TPF_HAVE_SAWNC</tt>" to
+<tt>src/os/tpf/os.h</tt> <em>or</em></li>
+<li>add "<tt>-DTPF_HAVE_SAWNC</tt>" to
+the <tt>_C89_OPTIONS</tt> export in src/os/tpf/TPFExport</li>
+</ul>
+</p>
+
+<p>Otherwise:<br>
+<ul>
+<li>add "<tt>#define TPF_NO_SAWNC</tt>" to
+<tt>src/os/tpf/os.h</tt> <em>or</em></li>
+<li>add "<tt>-DTPF_NO_SAWNC</tt>" to
+the <tt>_C89_OPTIONS</tt> export in src/os/tpf/TPFExport</li>
+</ul></p>
+
+<p>The use of <tt>tpf_sawnc</tt> allows for a
+cleaner shutdown of Apache.</p>
+
+</li>
+
+<a name="export"></a>
+<li>Set the TPF environment variables: <b><tt>
+. os/tpf/TPFExport</tt></b> <br><br>
+<font color="#FF0000"><font size="+1">TIP:</font></font>
+The initial period and blank on the command are required to ensure
+the environment variables exist beyond the scope of the shell
+script.<br><br>
+This script will set the environment variables required to
+compile the programs for TPF. Verify that the export variables are
+valid for your installation, in particular, the system include file
+directories. The system include files must reside on your OS/390 UNIX
+system in the appropriate file structure similar to
+/usr/include and /usr/include/sys. DO NOT modify the <tt>
+TPF=YES</tt> export variable. If this is changed, the "Configure"
+script will not recognize TPF. <br>
+ </li>
+
+<li>Run the "Configure" script: <b><tt>
+Configure</tt></b> <br>
+
+<p>This generates modules.c, include/ap_config_auto.h, and necessary
+Makefiles:</p>
+
+<pre>
Using config file: Configuration
Creating Makefile
+ configured for TPF platform
@@ -174,208 +296,261 @@
Creating Makefile in lib/expat-lite
Creating Makefile in modules/standard
$ _
- </PRE>
- If you want to maintain multiple configurations, you can
- say, <EM>e.g.</EM>,
- <BR>
- <TT><STRONG>Configure -file Configuration.2nd</STRONG></TT>
- <BR>
- <PRE>
+
+</pre>
+
+If you want to maintain multiple configurations, you can say, <i>
+for example</i>, <br>
+<b><tt>Configure -file Configuration.2nd</tt></b>
+
+<pre>
Using config file: Configuration.2nd
Creating Makefile
+ configured for <whatever> platform
+ setting C compiler to <whatever>
et cetera
- </PRE>
- If you receive an error such as "<TT>Configure 146: FSUM7351 not found</TT>"
- the most likely explanation is that one or more of the <tt>make</tt> related
- files were edited on a non-UNIX platform, corrupting the end-of-line marks.
- Verify that lines ending with "\" in the flagged file do not have trailing
- spaces. Using the vi editor and the sample error above as an example...
- <BR><BR><PRE>
- pull up the flagged file: <STRONG>vi Configure</STRONG>
- turn on punctuation: <STRONG>:set list</STRONG>
- go to the line in question: <STRONG>146G</STRONG>
- or find a line with a "\": <STRONG>/\\</STRONG></PRE>
- The end of line should display as "<TT>\$</TT>". If it is displayed as
- "<TT>\ $</TT>" (with a blank between \ and $) then you should revert to the
- distributed version of the file and make the site-specific
- changes again using a UNIX compatible editor such as vi or emacs.
- Then try the Configure command again.
- <BR><PRE> close the file: <STRONG>:q </STRONG>(or <STRONG>:quit!</STRONG>)</PRE>
+</pre>
-<LI>Edit include/ap_config.h if you would like the scoreboard kept in shared
- memory instead of file or system heap.<br>
- The default behavior for Apache on all platforms <i>except</i> TPF is to use the
- file system for maintaining the scoreboard (which holds current Apache children status).
- The default behavior for Apache on TPF is to use system heap. Available with
- PUT10 is the use of shared memory for the scoreboard in place of the file system.
- This reduces file activity for the parent Apache ECB and improves performance.
- To activate shared memory, uncomment or <em>add</em> the directive
- <tt><b>#define USE_SHMGET_SCOREBOARD</b></tt>
- and comment out or <em>remove</em> the directive <tt><b>#define USE_TPF_SCOREBOARD</b></tt>
- both of which are in the TPF section in ap_config.h.
- This change will only take effect after Apache is (re)compiled.
- <br><br>
- If you prefer to use the file system instead of system heap or shared memory, ensure that both
- <tt>USE_TPF_SCOREBOARD</tt> and <tt>USE_SHMGET_SCOREBOARD</tt> are commented out or removed.
- This change will only take effect after Apache is (re)compiled.
+If you receive an error such as "<tt>Configure 146: FSUM7351 not
+found</tt>" the most likely explanation is that one or more of the
+<tt>make</tt> related files were edited on a non-UNIX platform,
+corrupting the end-of-line marks. Verify that lines ending with "\"
+in the flagged file do not have trailing spaces. Using the vi
+editor and the sample error above as an example...
+
-<A NAME="daemon"></A><br> <br>
-<LI>Determine if you will use the ZINET DAEMON model instead of the default NOLISTEN model.<br>
- The default behavior is to let Apache check the server status (active/inactive) with ZINET
- and shut itself down when appropriate. This default behavior also includes checking the activation number.
- ZINET can now perform these functions instead of Apache by using the DAEMON model
- <i>(PUT11 with APARs PJ25761 & PJ27363 required).</i>
- This model offers increased reliability and is preferred over the NOLISTEN model.
- If Apache goes down while running under the NOLISTEN model, ZINET will not reactivate it nor alert
- the operator.<br><br>
- To use the DAEMON model you must do the following:<br><br>
- <ul>
- <li>Modify the default behavior of Apache by uncommenting or adding the directive
- <code><b>#define USE_TPF_DAEMON</b></code> within the TPF section of include/ap_config.h.
- This change will only take effect after Apache is (re)compiled.<br><br>
- <li>Insert these four lines of code immediately prior to the <code>#endif</code> line in the
- <code>os_check_server</code> function in os/tpf/os.c (if they are not already there):<br><br><code><ul>
- #else<br>
- if (getppid() == 1) {<br>
- <ul>return 1;<br></ul>
- }<br><br></ul></code>
- </ul>
+<pre>
+ pull up the flagged file: <b>vi Configure
+</b> turn on punctuation: <b>:set list
+</b> go to the line in question: <b>146G
+</b> or find a line with a "\": <b>/\\</b>
+</pre>
+<ul>
+The end of line should display as "<tt>\$</tt>". If it is displayed
+as "<tt>\ $</tt>" (with a blank between \ and $) then you should
+revert to the distributed version of the file and make the
+site-specific changes again using a UNIX compatible editor such as
+vi or emacs. Then try the Configure command again.
+</ul>
-<LI>Now compile the programs: <TT><STRONG>make</STRONG></TT><BR>
- Besides compiling, <tt>make</tt> also runs main/gen_test_char.c and main/gen_uri_delims.c
- in order to create main/test_char.h and main/uri_delims.h respectively<BR><BR>
+<pre>
+ close the file: <b>:q </b> (or <b>:quit!</b>)
+</pre>
+</li>
- If during compilation you get a warning about a missing 'regex.h', set
- <TT>WANTHSREGEX=yes</TT> in the src/Configuration file and start back at the
- <A HREF="#configure"><TT><STRONG>Configure</STRONG></TT></A> step.<br><br>
+<li>Edit include/ap_config.h if you do <em>not</em> want the scoreboard kept
+in shared memory.<br>
- If you get a <tt>'Duplicate type specifier "long" ignored'</tt> error,
- append the following line to the os/tpf/TPFExport file and start back at the
- <A HREF="#export"><TT><STRONG>export</STRONG></TT></A> step:<br><br>
- <ul><tt>export _C89_OPTIONS="-W 0,langlvl(extended)"</tt></ul><br>
+<p>The default behavior for Apache on all platforms <em>except</em> TPF
+is to use the file system for maintaining the scoreboard (which
+holds current Apache children status). The default behavior for
+Apache on TPF is to use shared memory.
+This reduces file activity for the parent Apache ECB and
+improves performance. If you are on a pre-PUT10 system you must
+change ap_config.h to use either system heap or the file system.</p>
- The following compilation warnings are expected and can be ignored:<br><br>
- <ul>
- <li>util_uri.c: <tt>Function argument assignment between types "unsigned char*" and "const unsigned char*" is not allowed.</tt>
- <li>mod_put.c: <tt>#include file "ap_vercompat.h" not found</tt>
- <li>mod_tpf_shm_static.c: <tt>#include file <sys/mman.h> not found</tt>
- <li>mod_usertrack.c: <tt>#include file <sys/time.h> not found</tt>
+To use system heap for the scoreboard replace <tt>
+#define USE_SHMGET_SCOREBOARD</tt> with <tt>#define USE_TPF_SCOREBOARD</tt>
+in the TPF section of ap_config.h.
+<br><br>
-</OL>
+If you prefer instead to use the file system, remove both <tt>
+#define USE_SHMGET_SCOREBOARD</tt> and <tt>#define USE_TPF_SCOREBOARD</tt>
+from the TPF section of ap_config.h
+<br><br>
+The change will only take effect after Apache is (re)compiled.<br> </li>
-<A NAME="installation"> </A>
-<H2 align=center>Installation</H2>
-<OL>
-<LI>Link the compiled object files into a DLL.
- Sample link JCL has been included as src/os/tpf/samples/linkdll.jcl.
- You will need to modify this JCL:
- <ul>
- <li>Change the IDs, data set names, and libraries for your particular site.
- <li>Add/remove <TT>mod_<EM>xxx</EM>.o</TT> files so they correspond to the
- <TT>mod_<EM>xxx</EM>.o</TT> lines in your src/Configuration file.
- </ul>
- <br><font color=red size=4>TIP:</font>
- Do not include gen_test_char.o or gen_uri_delims.o in the link JCL since these files are only
- used during the <tt>make</tt> step.
- <br><br>
-<LI>Create a loadset. Sample loadset JCL has been included as src/os/tpf/samples/loadset.jcl.
- You will need to modify this JCL for your particular site.
- <br><br>
- A JCL condition code of 4 is expected since the C load module will contain no link map data.
- <br><br>
-<LI>Load (<tt>ZOLDR LOAD</tt>) and activate (<tt>ZOLDR ACT</tt>) the loadset on your test system.
- <br><br>
-<LI>Ensure that the program name you are using for Apache has <tt>RESTRICT</tt> and <tt>KEY0</tt> authorization.
- <tt><b>zdpat <i>pppp</i> </b>(<b>c-c</b>)</tt> will display allocation information.
- You can use <tt><b>zapat <i>pppp</i> restrict key0 </b>(<b>c-c</b>)</tt> to alter the
- authorization.
- Note that if the program name is unallocated, you must have the loadset for it activated or you will receive
- INVALID PROGRAM NAME from the <tt>zdpat/zapat</tt> entries.
- <br><br>
-<LI>
- Apache requires a configuration file to initialize itself during activation.
- (Previously three configuration files were used.)
- Copy the distribution version, /conf/httpd.conf-dist, to /conf/httpd.conf and then
- edit the /conf/httpd.conf copy with your site specific information.
- <BR><BR>
- General documentation for Apache is located at
- <A HREF="http://www.apache.org/docs/">http://www.apache.org/docs/</A>
- and in the HTML pages included with the distribution (tarball) under the
- /htdocs/manual directory.
- <BR><BR>
-<LI>On TPF activate ZCLAW and update INETD using ZINET entries, the common case:
- <BR><BR>
- <PRE>
- ZINET ADD S-TFTP PGM-CTFT PORT-69 PROTOCOL-UDP MODEL-NOWAIT
+<li>Now compile the programs: <b><tt>make</tt></b><br>
- ZINET ADD S-APACHE PGM-<EM>pppp</EM> MODEL-NOLISTEN
- or ZINET ADD S-APACHE PGM-<EM>pppp</EM> MODEL-DAEMON USER-root <A HREF="#daemon">(see notes above regarding the DAEMON model)</A></PRE>
+<p>Besides compiling, <tt>make</tt> also runs src/main/gen_test_char.c and
+src/main/gen_uri_delims.c in order to create src/main/test_char.h and
+src/main/uri_delims.h respectively</p>
- <font color=red size=4>TIP: </font>Logic changes implemented with
- PUT11 cause ZINET to <em>not</em> restart NOLISTEN servers after
- <tt>ZOLDR ACT</tt> and <tt>ZOLDR DEACT</tt> entries.
- This means that Apache running as NOLISTEN on a PUT11 or later
- system will exit whenever any <tt>ZOLDR ACT</tt> or
- <tt>ZOLDR DEACT</tt> entry is made. Therefore at PUT11 you should
- switch to the DAEMON model and ensure that you have APARs PJ25761
- and PJ27363 applied.
- <br><br>
+<ul>
- Please refer to <EM>IBM Transaction Processing Facility Transmission Control
- Protocol/Internet Protocol Version 4 Release 1</EM> for more information
- on ZCLAW, INETD, and TFTP.
- <BR><BR>
-<LI>Prior to sending a request to your Apache server from a browser,
- TFTP the configuration file, log, icons and web pages to your TPF system.
- A typical directory structure for Apache is as follows:
-<PRE> /usr/local/apache/conf
+<li>The following compilation warning is expected and can be ignored:<br><br>
+<ul>util_uri.c: <tt>Function argument assignment between types "unsigned char*" and
+ "const unsigned char*" is not allowed.</tt></ul><br></li>
+
+<li>If during compilation you get a warning about a missing 'regex.h',
+set <tt>WANTHSREGEX=yes</tt> in the src/Configuration file and start
+back at the <a href="#configure"><tt><b>Configure</b></tt></a> step.<br> </li>
+
+<li>If you get a '<tt>Duplicate type specifier "long" ignored</tt>'
+error, add "<tt>-W 0,langlvl(extended)</tt>" to the
+<tt>_C89_OPTIONS</tt> export in src/os/tpf/TPFExport and
+start back at the <a href="#export"><tt><b>export</b></tt></a> step</li>
+</li>
+</ul>
+</ol>
+
+<a name="installation"></a>
+
+<center>
+<h2>Installation</h2>
+</center>
+
+<ol>
+<li>Link the compiled object files into a DLL. Sample link JCL has
+been included as src/os/tpf/samples/linkhttp.jcl. You will need to
+modify this JCL:<br>
+
+<ul>
+<li>Change the IDs, data set names, and libraries for your
+particular site. </li>
+
+<li>Add/remove <tt>mod_<i>xxx</i>.o</tt> files so they correspond
+to the <tt>mod_<i>xxx</i>.o</tt> lines in your src/Configuration
+file. </li>
+</ul>
+
+<br>
+<font color="#FF0000"><font size="+1">TIP:</font></font> Do NOT
+include gen_test_char.o or gen_uri_delims.o in the link JCL
+since these files are only used during the <tt>make</tt> step. <br>
+
+</li>
+
+<li>Create a loadset. Sample loadset JCL has been included as
+src/os/tpf/samples/loadset.jcl. You will need to modify this JCL
+for your particular site.<br><br>
+A JCL condition code of 4 is expected since the C load module will
+contain no link map data.<br> </li>
+
+
+<li>Load (<tt>ZOLDR LOAD</tt>) and activate (<tt>ZOLDR ACT</tt>)
+the loadset on your test system.<br> </li>
+
+<li>Ensure that the program name you are using for Apache has <tt>
+RESTRICT</tt> and <tt>KEY0</tt> authorization. <b><tt>
+zdpat <i>chta</i> </b> (<b>c-c</b>)</tt> will display allocation
+information. You can use <b><tt>
+zapat <i>chta</i> restrict key0 </tt></b> <tt>(<b>c-c</b>)</tt>
+to alter the authorization.
+Note that if the program name is unallocated, you must have the
+loadset for it activated or you will receive <tt>INVALID PROGRAM NAME</tt>
+from the <tt>zdpat/zapat</tt> entries.<br> </li>
+
+<li>Create the Apache run-time configuration file.
+The server requires a configuration file to initialize itself
+during activation. (Previously three configuration files were
+used.) Copy the distribution version, /conf/httpd.conf-dist, to
+/conf/httpd.conf and then edit the /conf/httpd.conf copy with your
+site specific information.
+<p>At a minimum you must change every occurrence of "<tt>@@ServerRoot@@</tt>"
+to your document server root (for example "<tt>/usr/local/apache</tt>")
+</li>
+
+<p>General documentation for Apache is located at <a href=
+"http://httpd.apache.org/docs/">http://httpd.apache.org/docs/</a> and
+in the HTML pages included with the distribution (tarball) under
+the /htdocs/manual directory.
+ </p>
+</li>
+
+<li>On TPF activate ZCLAW
+<p>Refer to the TCP/IP Offload Support section of the <em>TPF TCP/IP</em>
+publication for more information:
+<a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">
+http://www.ibm.com/tpf/pubs/tpfpubs.htm</a>.</p>
+
+<p>Note: Apache does not currently work with Native Stack.</p>
+</li>
+
+<li>Using either TFTP or FTP, transfer the configuration file,
+icons, and web pages to your TPF system.
+A typical directory structure for Apache is as follows:<br>
+<pre><tt> /usr/local/apache/conf
/usr/local/apache/logs
/usr/local/apache/icons
- /usr/local/apache/htdocs</PRE>
- All gif, jpg, and zip files should be TFTP'd as binary; conf files and html pages should be TFTP'd as text.<br>
- <br>The logs directory must exist in order to avoid an <CODE>fopen</CODE> error while running Apache:<br><br>
- <ul>
- If you're running a PUT10 or higher version of TPF make the directory using the
- <tt><b>zfile mkdir /usr/local/apache/logs</b></tt> functional entry.
- <br><br>
- If you're running TPF version PUT09, TFTP an empty file into the logs subdirectory to create it.
- <br><br>
- Regardless of your TPF version, make sure Apache can write into the logs subdirectory by doing a
- <tt><b>zfile chmod</b></tt> on it with the appropriate permission settings.
- </ul><br>
-<LI>Start the server using the <tt><b>ZINET START S-APACHE</b></tt> command.
-</OL>
-<A NAME="visualage"> </A>
-<H2 align=center>Compiling with VisualAge TPF</H2>
-<P>
- It is not required that <tt>make</tt> be used to compile Apache for TPF:
- Individual programs may be compiled using IBM's VisualAge TPF product.
- This is particularly useful when compiling selected programs for the Debug Tool.
- <BR><BR>
- The following VisualAge compile settings are required:
-</P>
- <UL>
- <LI><EM>"DEFINE - Define preprocessor macro name(s)"</EM> must include
- <TT><STRONG>TPF, CHARSET_EBCDIC, _POSIX_SOURCE,</STRONG></TT> and
- <TT><STRONG>USE_HSREGEX</STRONG></TT>
- <BR><BR>
- <LI><EM>"LSEARCH - Path for user include files"</EM> must include
- <TT><STRONG>../src/include</STRONG></TT> and <TT><STRONG>../src/os/tpf</STRONG></TT>
- <BR><BR>
- <LI><EM>"DLL - Generate DLL code"</EM> must be checked
- <BR><BR>
- <LI><EM>"LONGNAME - Support long names"</EM> must be checked
- </UL>
-<HR>
-<CENTER>[ <A HREF="#top">top</A>
- | <A HREF="#download">Download</A>
- | <A HREF="#compilation">Compilation</A>
- | <A HREF="#installation">Installation</A>
- | <A HREF="#visualage">VisualAge</A> ]
-</CENTER>
+ /usr/local/apache/htdocs
+</tt></pre>
-</BODY>
-</HTML>
+All gif, jpg, and zip files should be transferred as binary; the configuration file
+and html pages should be transferred as text. <br><br>
+The logs directory must exist in order to avoid an <tt>fopen</tt>
+error while running Apache:<br><br>
+<ul>
+If you're running a PUT10 or higher version of TPF make the directory
+using the <b><tt>zfile mkdir /usr/local/apache/logs</tt></b> functional
+entry.<br><br>
+If you're running TPF version PUT09 TFTP an empty file into the logs
+subdirectory to create it. <br><br>
+</ul>
+Make sure Apache can write into the
+logs subdirectory by doing a <tt>zfile chmod</tt> on it with the appropriate
+permission settings.
+<p>Refer to the TFTP and FTP sections of the <em>TPF TCP/IP</em>
+publication for more information:
+<a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">
+http://www.ibm.com/tpf/pubs/tpfpubs.htm</a>.</p></li>
+
+<li>On TPF add Apache to the Internet Daemon's tables using ZINET entries,
+the common case:<br><br>
+<ul>
+<li>For PUT11 and later use the DAEMON model for Apache:<tt><b>
+ZINET ADD S-APACHE PGM-<em>chta</em> MODEL-DAEMON USER-root
+</b></tt></li>
+<li>On pre-PUT11 systems use the NOLISTEN model instead:<tt><b>
+ZINET ADD S-APACHE PGM-<em>chta</em> MODEL-NOLISTEN
+</b></tt></li>
+</ul>
+<br>
+<font color=red size=4>TIP: </font>Logic changes implemented with
+PUT11 cause ZINET to <i>not</i> restart NOLISTEN servers after
+<tt>ZOLDR ACT</tt> and <tt>ZOLDR DEACT</tt> entries.
+This means that Apache running as NOLISTEN on a PUT11 or later
+system will exit whenever any <tt>ZOLDR ACT</tt>
+or <tt>ZOLDR DEACT</tt> entry is made. Therefore at PUT11 you
+should switch to the DAEMON model and ensure that you have APARs
+PJ25761 and PJ27363 applied.<br><br>
+Refer to the Internet Daemon section of the <em>TPF TCP/IP</em>
+publication for more information:
+<a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">
+http://www.ibm.com/tpf/pubs/tpfpubs.htm</a>.</p>
+</li>
+
+<li>Start the server using the <b><tt>ZINET START S-APACHE</tt></b>
+command.<br><br></li>
+
+<li>Request a page from your browser: <tt><b>http://<i>xx.xx.xx.xx</i></b></tt>
+ (where <i>xx.xx.xx.xx</i> is your IP address)</li>
+
+</ol>
+
+<a name="visualage"></a>
+
+<center>
+<h2>Compiling with VisualAge TPF</h2>
+</center>
+
+It is not required that <tt>make</tt> be used to compile Apache for
+TPF: Individual programs may be compiled using IBM's VisualAge TPF
+product. This is particularly useful when compiling selected
+programs for the Debug Tool.
+
+<p>The following VisualAge compile settings are required:</p>
+
+<ul>
+<li><i>"DEFINE - Define preprocessor macro name(s)"</i> must
+include <b><tt>TPF, CHARSET_EBCDIC, _POSIX_SOURCE,</tt></b> and <b>
+<tt>USE_HSREGEX</tt></b><br> </li>
+
+<li><i>"LSEARCH - Path for user include files"</i> must include <b>
+<tt>../src/include</tt></b> and <b><tt>
+../src/os/tpf</tt></b><br> </li>
+
+<li><i>"DLL - Generate DLL code"</i> must be checked<br> </li>
+
+<li><i>"LONGNAME - Support long names"</i> must be
+checked<br> </li>
+</ul>
+<hr>
+<center>[ <a href="#top">top</a> | <a href="#download">
+Download</a> | <a href="#compilation">Compilation</a> |
+<a href="#installation">Installation</a> | <a href=
+"#visualage">VisualAge</a> ]</center>
+
+</body>
+</html>
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: apache-docs-unsubscribe@apache.org
For additional commands, e-mail: apache-docs-help@apache.org