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 2004/11/08 18:20:42 UTC
cvs commit: httpd-docs-1.3/htdocs/manual install-ztpf.html
mccreedy 2004/11/08 09:20:42
Added: htdocs/manual install-ztpf.html
Log:
Added installation instructions for TPF's new 64bit version.
The existing TPF readme (readme-tpf.html) will be updated later
to reference this additional page.
Revision Changes Path
1.1 httpd-docs-1.3/htdocs/manual/install-ztpf.html
Index: install-ztpf.html
===================================================================
<!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> ]
<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 files (the "tarball")
to your PC. The file name on the web site will be
<tt>apache_1.3.<i>vv</i>.tar.Z</tt>.</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>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>mkdir -p
foobar/opensource<br />
export AROOT="foobar/opensource/apache"<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.</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">
<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">
<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,
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-apache 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-apache</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">
<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-apache</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-apache</tt></b></p>
</li>
<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> ]
</center>
</body>
</html>