You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by mc...@apache.org on 2002/05/19 07:08:36 UTC
cvs commit: apache-1.3/htdocs/manual install-tpf.html
mccreedy 02/05/18 22:08:36
Modified: htdocs/manual install-tpf.html
Log:
Doc updates to TPF platform install instructions to exclude expat-lite.
Revision Changes Path
1.12 +645 -356 apache-1.3/htdocs/manual/Attic/install-tpf.html
Index: install-tpf.html
===================================================================
RCS file: /home/cvs/apache-1.3/htdocs/manual/Attic/install-tpf.html,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- install-tpf.html 12 Mar 2001 19:22:32 -0000 1.11
+++ install-tpf.html 19 May 2002 05:08:36 -0000 1.12
@@ -1,163 +1,344 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<TITLE>Installing Apache on TPF</TITLE>
-</HEAD>
-
-<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>
-
-<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:
-<ol>
- <li><A HREF="http://www.apache.org/dist/">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>
-</ol>
-<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/contrib/modules/">http://www.apache.org/dist/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>
+<!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>Installing Apache on TPF</title>
+ </head>
+
+ <body>
+ <center>
+ <h2><a id="top" name="top"></a>Installing the Apache 1.3 HTTP
+ Server on TPF</h2>
+ </center>
+ <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 id="download" 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>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:
+
+ <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 and extract the archived files necessary for compiling
+ Apache:<br />
+ <b><tt>pax -rvzkf <i>os390_unix_filename</i>.tar.Z -o from=ISO8859-1,to=IBM-1047 "*/src"</tt></b><br />
+ </li>
+
+ <li><a id="delete-expat" name="delete-expat"></a>
+ Remove unnecessary subdirectories:
+ <ul>
+ <li><b><tt>cd apache_1.3.<em>xx</em>/src/lib</tt></b></li>
+ <li><b><tt>rm -r expat-lite sdbm</tt></b></li>
+ <li><b><tt>cd ../os</tt></b></li>
+ <li><b><tt>rm -r bs2000 cygwin mpeix netware os2 os390 win32</tt></b></li>
+ <li><b><tt>cd ..</tt></b></li>
+ </ul>
+
+ </li>
+ </ol>
+
+ <center>
+ <h2><a id="compilation"
+ 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 />
+ <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 />
+
+
+ <ul>
+ <li>comment out (by preceding the line with a "#") lines
+ corresponding to those modules you DO NOT wish to
+ include
+ </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>
+
+ <li>if you did not delete the src/lib/expat-lite directory
+ as noted in the <a href="#delete-expat">download instructions</a>,
+ add "<tt>Rule EXPAT=no</tt>" to the src/Configuration file</li>
+
+ <li>adjust the other rules, <tt>EXTRA_CFLAGS</tt>, <tt>EXTRA_LIBS</tt>, <tt>EXTRA_LDFLAGS</tt>,
+ and <tt>EXTRA_INCLUDES</tt> settings if you feel so inclined</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 />
+ </p>
+
+ <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>
+ <br />
+
+ <p>Otherwise:<br />
+ </p>
+
+ <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>
+ <br />
+
+ <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 />
+ </p>
+
+ <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>
+ <br />
+
+ <p>Otherwise:<br />
+ </p>
+
+ <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>
+ <br />
+
+ <p>The use of <tt>tpf_sawnc</tt> allows for a cleaner
+ shutdown of Apache.</p>
+ </li>
+
+ <li>
+ Indicate if you would like to use the TCP/IP network services database.
+ (This only applies if you are using TCP/IP native stack.)
+
+ <p>If you are on a PUT16 or higher system, or have PJ28195 installed,
+ you can use the TCP/IP network services database.
+ To do so, you must do <em>one</em> of the following:<br />
+ </p>
+
+ <ul>
+ <li>add "<tt>#define TPF_HAVE_NSD</tt>" to
+ <tt>src/os/tpf/os.h</tt> <em>or</em></li>
+
+ <li>add "<tt>-DTPF_HAVE_NSD</tt>" to the
+ <tt>_C89_OPTIONS</tt> export in src/os/tpf/TPFExport</li>
+
+ </ul>
+ <br />
+
+ <p>See <em>TPF Transmission Control Protocol/Internet Protocol</em> for more information
+ about the TCP/IP network services database:
+ <a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">http://www.ibm.com/tpf/pubs/tpfpubs.htm</a>.</p>
+ </li>
+
+ <li><a id="export" name="export"></a>
+ 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><a id="run-configure" name="run-configure"></a>
+ 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
@@ -171,211 +352,319 @@
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.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>
-
-<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.
-
-<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>
+ 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...
+<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>
+
+ 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.
+<pre>
+ close the file: <b>:q</b> (or <b>:quit!</b>)
+</pre>
+ </li>
+
+ <li>
+ Edit include/ap_config.h if you do <em>not</em> want the
+ scoreboard kept in shared memory.<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>
+ 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 />
+ 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>
+
+ <li>
+ Now compile the programs: <b><tt>make</tt></b><br />
+
+
+ <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>
+
+ <ul>
+ <li>
+ The following compilation warning is expected and can
+ be ignored:<br />
+ <br />
+
+
+ util_uri.c: <tt>Function argument
+ assignment between types "unsigned char*" and "const
+ unsigned char*" is not allowed.</tt>
+ <br />
+ <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>
+ </ul>
+ </li>
+ </ol>
+ <a id="installation" 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 /><br />
+
+
+ If you receive an "Unresolved references" error for "<tt>XML_ErrorString</tt>"
+ you probably need to <a href="#delete-expat">remove the expat-lite directory</a>
+ and start back at the "<a href="#run-configure">Run the Configure script" step</a><br /><br />
+
+
+ If you receive an "unable to open" error for <tt>lib/expat-lite/hashtable.o</tt>"
+ you probably need to remove all of the expat-lite .o's from your link JCL<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> </tt> (</b>c-c) 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>")</p>
+ </li>
+
+ <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 <tt>/htdocs/manual</tt> directory.
+ </p>
+ </li>
+
+ <li>
+ On TPF activate your TCP/IP Offload (ZCLAW) or Native Stack communications device.
+
+ <p>Refer to 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>
+ 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
+</tt>
+</pre>
+ 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 />
+
+ 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> command.<br />
+ <br />
+ If you're running TPF version PUT09 TFTP an empty file
+ into the logs subdirectory to create it. <br />
+ <br />
+
+ 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>.<br />
+ <br />
+ </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 id="visualage" 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.
-<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
- <A HREF="#configure"><TT><STRONG>Configure</STRONG></TT></A> step.<br><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 following VisualAge compile settings are required:</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>
-
-</OL>
-
-<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.
+ <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>
+ </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>
+ </li>
+
+ <li><i>"DLL - Generate DLL code"</i> must be checked
+ </li>
+
+ <li><i>"LONGNAME - Support long names"</i> must be checked
+ </li>
</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
-
- 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>
-
- <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>
-
- 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
- /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>
-</BODY>
-</HTML>
+ <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>
+