diff options
Diffstat (limited to 'APACHE_1_3_42/htdocs/manual/install-ztpf.html')
-rw-r--r-- | APACHE_1_3_42/htdocs/manual/install-ztpf.html | 415 |
1 files changed, 415 insertions, 0 deletions
diff --git a/APACHE_1_3_42/htdocs/manual/install-ztpf.html b/APACHE_1_3_42/htdocs/manual/install-ztpf.html new file mode 100644 index 0000000000..d9214c8f4a --- /dev/null +++ b/APACHE_1_3_42/htdocs/manual/install-ztpf.html @@ -0,0 +1,415 @@ +<!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=us-ascii" /> +<title>Installing Apache on z/TPF</title> +<style type="text/css"> + /*<![CDATA[*/ + <!-- + .indented { margin-left: 25pt; } + .output { padding-left: 20px; padding-right: 20px; background-color: #dadada; } + --> /*]]>*/ +</style> +</head> + +<body> +<center> +<h2><a id="top" name="top"></a>Installing the Apache 1.3 HTTP Server on z/TPF</h2> +<hr /> +[ <a href="#download">Download</a> | +<a href="#setup">MakeTPF Setup</a> | +<a href="#compilation">Compilation</a> | +<a href="#installation">Installation</a> | +<a href="#activation">Activation</a> ] +<hr /> +</center> + +<p>This document outlines the steps needed to install Apache onto an IBM z/TPF +Enterprise Edition V1 R1 system. (There are separate +<a href="install-tpf.html">installation instructions for TPF4.1</a>.)</p> + +<p>You should first review <a href="readme-tpf.html">readme-tpf.html</a> for +basic information on the port of Apache to TPF including a list of supported +modules.</p> + +<p>The allocated <tt>CHTA</tt> program name is used throughout these +instructions to refer to Apache. You can use a different program name if you +wish.<br /> +Likewise the directory structure <tt>opensource/apache/src</tt> is used for the +Apache source code directory. You can use different directories than +<tt>opensource/apache</tt> if you wish.</p> + +<p>If you change the program or directory names be sure to change the entries +shown in these instructions, all MakeTPF-related files, and the sample files +accordingly.</p><br /> + +<center> +<h2><a id="download" name="download"></a>Download</h2> +</center> + +<p>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 your Linux build system for compiling. Here are all +the details on how to get Apache and how to get it where it needs to be:</p> + +<ol> + <li><p>Download the compressed Apache 1.3 files (the "tarball") from + <a href="http://httpd.apache.org/download.cgi">http://httpd.apache.org/download.cgi</a> + to your PC. The file name on the web site will be + <tt>apache_1.3.<i>vv</i>.tar.Z</tt>, where "<tt><i>vv</i></tt>" is the + version number. Replaced "<tt><i>vv</i></tt>" throughout these instructions + with the actual version number.</p> + + <p><font color="#CC6600"><font size="+1">TIP:</font></font>Be sure to keep + the <tt>.tar.Z</tt> extension when saving the file.</p></li> + + <li><p>Decompress the tarball on your PC using WinZip or some other PC + decompression tool.</p> + + <p><font color="#CC6600"><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 <em>not</em> checked.</p> + + <p>This is what you can expect if you use WinZip:</p> + + <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 + (apache_1.3.<i>vv</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><p>FTP the tarball to your Linux build machine using binary mode:</p> + + <ul> + <li>activate FTP in an MSDOS window:<br /> + <b><tt> ftp <i>your.linux.build.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 your Linux build machine:<br /> + <b><tt> send "c:/<i>path</i>/apache_1.3.<i>vv</i>.tar.Z" apache_1.3.<i>vv</i>.tar.Z</tt></b></li> + + <li>exit FTP: <b><tt>bye</tt></b></li> + </ul> + + <p><font color="#CC6600"><font size="+1">TIP:</font></font> Linux file names + are case sensitive.</p></li> + + <li><p>On your Linux build machine, decompress and extract the archived + files necessary for compiling Apache:</p> + + <p class="indented"><b><tt>tar -xzkf apache_1.3.<i>vv</i>.tar.Z "*/src"</tt></b></p> + + <p>Note that the following "<tt>src</tt>" subdirectories are not used for + Apache on z/TPF and may be removed if desired:</p> + + <p class="indented"><tt>lib/expat-lite</tt>, <tt>lib/sdbm</tt>, + <tt>regex</tt>, and all <tt>os</tt> subdirectories except for + <tt>os/tpf</tt>.</p></li> + + <li><p>Create header files that are automatically generated for other + platforms but are not for z/TPF:</p> + + <p class="indented"><b><tt>cp apache_1.3.<i>vv</i>/src/os/tpf/samples/test_char.txt apache_1.3.<i>vv</i>/src/main/test_char.h<br /> + cp apache_1.3.<i>vv</i>/src/os/tpf/samples/uri_delims.txt + apache_1.3.<i>vv</i>/src/main/uri_delims.h</tt></b></p></li> + +</ol><br /> + +<center> +<h2><a id="setup" name="setup"></a>MakeTPF Setup</h2> +</center> + +<ol> + <li><p>Move the source code into your desired directory structure for + MakeTPF with the following entries.<br /> + Replace "<tt>foobar</tt>" below with your actual directory name:</p> + + <p class="indented"><b><tt>export AROOT="foobar/opensource/apache"<br /> + mkdir -p $AROOT<br /> + mv apache_1.3.<i>vv</i>/* $AROOT<br /> + </tt></b></p></li> + + <li><p>CHTA is already in the <tt>tpf_app_base.cntl</tt> control file. + Adjust any settings if necessary.</p></li> + + <li><p>Create an environment file for Apache named <tt>maketpf.env_apache</tt> + using <tt>$AROOT/src/os/tpf/samples/sample_env.txt</tt> as a guide.<br /> + Place <tt>maketpf.env_apache</tt> in the same directory as your other + environment files.</p></li> + + <li><p>Create a .mak file for Apache named <tt>$AROOT/src/chta.mak</tt> + using <tt>$AROOT/src/os/tpf/samples/sample_mak.txt</tt> as a guide<br /> + Verify that the <tt>maketpf_env</tt> assignments in <tt>chta.mak</tt> are + correct for your build environment.</p></li> + + <li><p>Create a configuration file named <tt>$AROOT/src/maketpf.cfg</tt>.<br /> + Ensure that the first assignment of <tt>TPF_ROOT</tt> in <tt>maketpf.cfg</tt> + is the absolute path to your "<tt>foobar</tt>" directory.</p></li> + + <li><p>Later if you want to include Apache in your full build add + <tt>APACHE=YES</tt> to the <tt>CONFIG</tt> macro in your Stage 1 deck.<br /> + Then reassemble the SIP deck (<tt>sip.asm</tt>) to update the SIP generated + build files with the <tt>APACHE</tt> function switch enabled.</p></li> + +</ol><br /> + +<center> +<h2><a id="compilation" name="compilation"></a>Compilation</h2> +</center> + +<ol> + <li><p>Switch to the Apache source code subdirectory:</p> + <p class="indented"><b><tt>cd $AROOT/src</tt></b></p></li> + + <li><p>Overlay src/Configuration with src/Configuration.tmpl:</p> + + <p class="indented"> + <b><tt>cp Configuration.tmpl Configuration</tt></b></p></li> + + <li><p>The src/Configuration file controls which optional modules are + compiled into Apache.<br /> + Leave the file as-is if you want to use the default set of modules.<br /> + Otherwise edit the src/Configuration file to customize which modules are + used:</p> + + <ul> + <li>Comment out (by preceding the line with a "#") lines corresponding + to those modules you do <em>not</em> wish to include.</li> + + <li>Uncomment (by removing the initial "#", if present) lines corresponding + to those modules you wish to include.<br /> + (The <a href="readme-tpf.html">readme-tpf.html</a> document lists the + modules that have been tested on TPF).</li> + + <li>Add lines for any custom or third party modules you wish to include.<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://modules.apache.org/">http://modules.apache.org/</a>. + There are instructions on that page for linking these modules into the core Apache code.<br /> + </li> + </ul> + </li> + + <li><p>If you would like to use the TCP/IP network services database add + "<tt>CFLAGS_CHTA += -DTPF_HAVE_NSD</tt>" to either <tt>src/chta.mak</tt> or + <tt>src/maketpf.cfg</tt>. See "Network Services Database Support" in the + <a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">IBM TPF Product Information Center</a> + for details.</p></li> + + <li><p><a id="run-configure" name="run-configure"></a>Run the "Configure" + script:</p> + + <p class="indented"><b><tt>export TPF=YES; export TPF64BIT=YES<br /> + ./Configure</tt></b></p> + + <table class="indented" summary="Configure output"> + <tr><td class="output"><pre> +Using config file: Configuration +Creating Makefile ++ configured for TPF platform ++ setting C compiler to c89 ++ setting C pre-processor to /usr/bin/cpp ++ using "tr [a-z] [A-Z]" to uppercase ++ checking for system header files ++ adding selected modules ++ checking sizeof various data types +Creating Makefile in support +Creating Makefile in os/tpf +Creating Makefile in ap +Creating Makefile in main +Creating Makefile in modules/standard +$ +</pre></td></tr> + </table> + + <p>This generates modules.c and the apache.modules text file for use later + by MakeTPF.<br /> + (Other files created by <tt>Configure</tt> are <em>not</em> used on z/TPF + such as include/ap_config_auto.h and the various Makefiles, so don't be + concerned that the C compiler and pre-processor shown in the + <tt>Configure</tt> output are incorrect.)</p> + + <p class="indented">Use the <tt>-file</tt> option if you want to maintain + multiple configurations:</p> + + <p class="indented"><b><tt>./Configure -file Configuration.2nd</tt></b></p> + + <table class="indented" summary="Configure output using -file"> + <tr><td class="output"><pre> +Using config file: Configuration.2nd +Creating Makefile ++ configured for TPF platform ++ setting C compiler to c89 +<em>et cetera</em> +</pre></td></tr> + </table> </li> + + <li><p>Edit src/os/tpf/os.h if you do <em>not</em> want the scoreboard kept + in shared memory.</p> + + <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 and improves performance.</p> + + <p>If for some reason you do not want to use shared memory for the + scoreboard, you must remove "<tt>#define USE_SHMGET_SCOREBOARD</tt>" + from the <tt>os.h</tt>. The change will only take effect after Apache is + (re)compiled.</p></li> + + <li><p>Compile and link Apache:</p> + + <p class="indented"><b><tt>maketpf chta -f</tt></b></p> + + <p><font color="#CC6600"><font size="+1">TIP:</font></font>Apache uses + cinet6 from CLTY, which is part of the Internet Daemon (ZINET). Ensure that + you link Apache with the proper version of CLTY for your system. If you + apply changes to CLTY you should re-link Apache to prevent the + <code>inetd_getServer</code> and/or <code>inetd_getServerStatus</code> + functions from failing.</p></li> + +</ol><br /> + +<center> +<h2><a id="installation" name="installation">Installation</a></h2> +</center> + +<ol> + <li><p>Load and activate Apache on your test system.</p></li> + + <li><p>Ensure that the program name you are using for Apache has + <tt>RESTRICT</tt> and <tt>KEY0</tt> authorization:</p> + + <p class="indented"><tt><b>zdpat chta</b></tt></p> + + <p>If necessary you can use the <tt>zapat</tt> entry to alter the + authorization:</p> + + <p class="indented"><tt><b>zapat chta restrict key0</b></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><p>Create the Apache run-time configuration file. The server requires a + configuration file to initialize + itself during activation.<br /> + Copy the distribution version, conf/httpd.conf-dist from the decompressed + tarball on your PC, to conf/httpd.conf and then edit the conf/httpd.conf + copy with your site specific information.</p> + + <p>You must change every occurrence of "<tt>@@ServerRoot@@</tt>" to your + document server root (for example "<tt>/usr/local/apache</tt>")</p> + + <p>You should also add the following line to the httpd.conf file to prevent + Apache from doing a host name lookup on your test system:</p> + + <p class="indented"><tt>ServerName 127.0.0.1</tt></p></li> + + <li><p>Be sure your Native Stack communications device is active on TPF.<br /> + Refer to the + <a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">IBM TPF Product Information Center</a> + for details.</p></li> + + <li><p>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:</p> + + <p class="indented"><tt>/usr/local/apache/conf<br /> + /usr/local/apache/logs<br /> + /usr/local/apache/icons<br /> + /usr/local/apache/htdocs<br /></tt></p> + + <p>At a minimum you will need these files on TPF:</p> + + <p class="indented"><tt>/usr/local/apache/conf/httpd.conf<br /> + /usr/local/apache/conf/mime.types<br /> + /usr/local/apache/htdocs/index.html.en<br /> + /usr/local/apache/htdocs/apache_pb.gif<br /></tt></p> + + <p>All gif, jpg, and zip files should be transferred as binary; the + configuration file and html pages should be transferred as text.</p> + + <p>Refer to the + <a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">IBM TPF Product Information Center</a> + for details on TFTP and FTP.</p></li> + + <li><p>The logs directory must exist and be accessible in order to avoid an + <tt>fopen</tt> error while running Apache:</p> + + <p class="indented"><b><tt>zfile mkdir /usr/local/apache/logs<br /> + zfile chmod 777 /usr/local/apache/logs<br /></tt></b></p></li> + + <li><p>Add Apache to the Internet Daemon's tables using ZINET entries:</p> + + <p class="indented"> + <tt><b>zinet add s-<i>apache</i> pgm-chta model-daemon user-root</b></tt></p> + <p>Refer to the + <a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">IBM TPF Product Information Center</a> + for details on the Internet Daemon and ZINET commands.</p></li> + + <li><p>Start the server:</p> + + <p class="indented"><b><tt>zinet start s-<i>apache</i></tt></b></p></li> + + <li><p>Verify Apache was successfully started:</p> + + <p class="indented"><b><tt>zfile cat /usr/local/apache/logs/error_log</tt></b></p> + + <p>The output should be similar to this:</p> + <table class="indented" summary="vi instructions"> + <tr><td class="output"><pre> +[<i>timestamp</i>] [notice] Apache/1.3.<i>vv</i> (TPF) configured -- resuming normal operations +[<i>timestamp</i>] [notice] Accept mutex: tpfcore (Default: tpfcore) +</pre></td></tr> + </table> + + <p>If there are severe errors correct the conf file and restart the server:</p> + + <p class="indented"><b><tt>zinet stop s-<i>apache</i></tt></b><br /> + correct the httpd.conf file and transfer it to TPF<br /> + <b><tt>zfile rm /usr/local/apache/logs/error_log</tt></b><br /> + <b><tt>zinet start s-<i>apache</i></tt></b></p></li> +</ol><br /> + +<center> +<h2><a id="activation" name="activation"></a>Activation</h2> +</center> + +<ol> + <li><p>Request a page from your browser:</p> + + <p class="indented"> + <tt><b>http://<i>xx.xx.xx.xx</i></b></tt> (where + <i>xx.xx.xx.xx</i> is your test system IP address)</p></li> + +</ol> + +<hr /> + +<center> +[ <a href="#top">top</a> | <a href="#download">Download</a> +[ <a href="#setup">MakeTPF Setup</a> | +<a href="#compilation">Compilation</a> | +<a href="#installation">Installation</a> | +<a href="#activation">Activation</a> ] +</center> +<hr /> +</body> +</html> |