gregames    00/09/27 10:37:32

  Modified:    htdocs/manual install-tpf.html readme-tpf.html
  Log:
  Update TPF platform-specific documents to reflect:
  * changes to IBM's TPF operating system made this year, and
  * suggestions from customers who are using these files.
  
  Submitted by:  David McCreedy <[EMAIL PROTECTED]>
  Reviewed by:   Greg Ames      <[EMAIL PROTECTED]>
  
  Revision  Changes    Path
  1.10      +60 -24    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.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- install-tpf.html  1999/12/21 20:43:48     1.9
  +++ install-tpf.html  2000/09/27 17:37:30     1.10
  @@ -71,7 +71,8 @@
          <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>
  +           <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>
  @@ -117,7 +118,7 @@
           if you feel so inclined.
       <BR><BR>
       <LI>Comment out (by preceding the line with a "#") lines corresponding
  -        to those modules you DO&nbsp;NOT wish to include.
  +        to those modules you do&nbsp;not wish to include.
       <BR><BR>
       <LI>Uncomment (by removing the initial "#", if present) lines
           corresponding to those optional modules you wish
  @@ -135,20 +136,24 @@
       There are instructions on that page for linking these modules into the 
core Apache
       code.
       <BR><BR>
  -<LI>Set the TPF environment variables:
  +<LI><A NAME="export"></A>Set the TPF environment variables:
       <TT><STRONG>.&nbsp;os/tpf/TPFExport</STRONG></TT>
       <BR>
  -    (The initial period and blank on the command are required to ensure
  -    the environment variables exist beyond the scope of the shell script.)
  +    <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.
  -    DO&nbsp;NOT modify the <TT>TPF=YES</TT> export variable.  If this is
  +    If your system header files contain line numbers in columns 72-80, you 
must truncate them.
  +    <BR><BR>
  +    Do&nbsp;not modify the <TT>TPF=YES</TT> export variable.  If this is
       changed, the "Configure" script will not recognize TPF.
       <BR><BR>
  -<LI>Run the "Configure" script:
  +<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:
  @@ -166,16 +171,17 @@
         Creating Makefile in os/tpf
         Creating Makefile in ap
         Creating Makefile in main
  +      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.ai</STRONG></TT>
  +    <TT><STRONG>Configure -file Configuration.2nd</STRONG></TT>
       <BR>
         <PRE>
  -      Using config file: Configuration.ai
  +      Using config file: Configuration.2nd
         Creating Makefile
          + configured for &lt;whatever&gt; platform
          + setting C compiler to &lt;whatever&gt;
  @@ -216,25 +222,48 @@
       This change will only take effect after Apache is (re)compiled.
   
   <A NAME="daemon"></A><br>&nbsp;<br>
  -<LI>Edit include/ap_config.h if you plan on using the ZINET DAEMON model 
instead of the NOLISTEN model.<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.  The default behavior also 
includes checking Apache's activation number.
  -    Available with PUT11 (PJ25761) ZINET can perform these functions instead 
of Apache by using the DAEMON model.
  +    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>(PUT12 with APARs PJ25761 &amp; 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.
  -    To use the DAEMON model you must modify the default behavior of Apache 
by uncommenting or adding the directive
  -    <tt><b>#define&nbsp;USE_TPF_DAEMON</b></tt> within the TPF section in 
ap_config.h.
  -    This directive is also recommend when starting Apache from the command 
line (APAR PJ26515).
  -    This change will only take effect after Apache is (re)compiled.
  -    <br><br>
  +    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&nbsp;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>
   
   
   <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>
  +
       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
  -    <TT><STRONG>Configure</STRONG></TT> step.
  +    <A HREF="#configure"><TT><STRONG>Configure</STRONG></TT></A> 
step.<br><br>
  +
  +    If you get a 
<tt>'Duplicate&nbsp;type&nbsp;specifier&nbsp;"long"&nbsp;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>
  +
  +    The following compilation warnings are expected and can be 
ignored:<br><br>
  +    <ul>
  +    <li>util_uri.c:&nbsp;&nbsp;&nbsp;<tt>Function argument assignment 
between types "unsigned char*" and "const unsigned char*" is not allowed.</tt>
  +    <li>mod_put.c:&nbsp;&nbsp;&nbsp;<tt>#include file "ap_vercompat.h" not 
found</tt>
  +    <li>mod_tpf_shm_static.c:&nbsp;&nbsp;&nbsp;<tt>#include file 
&lt;sys/mman.h&gt; not found</tt>
  +    <li>mod_usertrack.c:&nbsp;&nbsp;&nbsp;<tt>#include file 
&lt;sys/time.h&gt; not found</tt>
  +
   </OL>
   
   <A NAME="installation">&nbsp;</A>
  @@ -248,13 +277,15 @@
          <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
  +  <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.
  @@ -293,12 +324,17 @@
        /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>The logs directory must exist in order to avoid an 
<CODE>fopen</CODE> error while running Apache.
  +    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.
  -    If you're running TPF version PUT09 TFTP an empty file into the logs 
subdirectory to create it.  
       <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">&nbsp;</A>
  
  
  
  1.9       +66 -1     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.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- readme-tpf.html   2000/09/12 02:29:09     1.8
  +++ readme-tpf.html   2000/09/27 17:37:30     1.9
  @@ -9,6 +9,7 @@
   <HR>
   <CENTER>[&nbsp;<A HREF="#configuration_files">Configuration Files</A>
      &nbsp;|&nbsp;<A HREF="#whats_available">What's Available</A>
  +   &nbsp;|&nbsp;<A HREF="#cgi">CGI Scripts</A>
      &nbsp;|&nbsp;<A HREF="#porting_notes">Porting Notes</A>&nbsp;]
   </CENTER>
   <HR>
  @@ -129,7 +130,7 @@
      </UL></MULTICOL>
      <A NAME="notes"></A><b>Notes:</b>
      <ol>
  -      <li>Use of mod_access directives &quot;<tt>Allow from</tt>&quot; &amp; 
&quot;<tt>Deny from</tt>&quot;
  +      <li>Use of mod_access directives &quot;<tt>allow from</tt>&quot; &amp; 
&quot;<tt>deny from</tt>&quot;
             with host <i>names</i> (verses ip addresses) requires TPF version 
4.1 PUT10
         <li>CGI execution requires TPF version 4.1 PUT10
      </ol>
  @@ -157,6 +158,69 @@
      <LI>suexec.c
      </UL></MULTICOL>
   
  +<A NAME="cgi">&nbsp;</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>
  +   
  +   <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>
  +        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&nbsp;&nbsp;&nbsp;&nbsp;</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 &LT;stdio.h&GT<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("&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>
  +        </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="porting_notes">&nbsp;</A>
   <H2 align=center>Porting Notes</H2>
   <P>
  @@ -201,6 +265,7 @@
   <CENTER>[&nbsp;<A HREF="#top">top</A>
      &nbsp;|&nbsp;<A HREF="#configuration_files">Configuration Files</A>
      &nbsp;|&nbsp;<A HREF="#whats_available">What's Available</A>
  +   &nbsp;|&nbsp;<A HREF="#cgi">CGI Scripts</A>
      &nbsp;|&nbsp;<A HREF="#porting_notes">Porting Notes</A>&nbsp;]
   </CENTER>
   
  
  
  

Reply via email to