From: Manoj Kasichainula Date: Tue, 3 Nov 1998 22:06:29 +0000 (+0000) Subject: Submitted by: Joe Moenich and others at IBM X-Git-Tag: 1.3.4~36 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1ad3695f81a2556f8c13ee4a3260c596bcbb42cb;p=apache Submitted by: Joe Moenich and others at IBM Newly created files from the TPF port git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@82341 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/install-tpf.html b/docs/manual/install-tpf.html new file mode 100644 index 0000000000..cf95f7162e --- /dev/null +++ b/docs/manual/install-tpf.html @@ -0,0 +1,273 @@ + + + +Installing Apache on TPF + + + +

Installing the Apache 1.3 HTTP Server on TPF

+
+
Setup +  | Compilation +  | Installation +  | VisualAge ] +
+
+
+ +

+This document outlines the steps needed to install Apache onto a TPF system. +

+You should first read src/os/tpf/readme.tpf.html +for basic information on the port of Apache to TPF including required PUT level +and supported functions & modules. +

+ +  +

Setup

+

+Due to the use of EBCDIC on MVS OS/390 Open Edition (later referred to simply as +"Open Edition"), we've found that the most reliable +method for loading Apache onto your system is to unzip and tar the distribution +file on your PC, and then copy the extracted files to Open Edition via an NFS client +capable of transferring the data in EBCDIC format. +

+Before moving the distribution to an +Open Edition environment, verify that the NFS drive will transfer the +filenames with upper/lower case preserved. +

+Since Open Edition is not the ultimate destination of the files, +the only required files and subdirectories that need to be moved to Open Edition +are in /src. +

+WARNING: +If you are using a product such as WinZip on your PC, verify that +the "TAR File Smart CR/LF Conversion" option is NOT checked. +You can find this in WinZip under Options, Configuration. +Since you had to tar and unzip the file to read this document, +you need to re-tar and -unzip if the CR/LF option was checked. +This will save you lots of headaches later on. +

+WARNING: +Editing files on a PC before 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, edit them +in a UNIX editor such as vi or emacs. +

+ +  +

Compilation

+

+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 +make and Configure utility, "modules.c" will be created for you. +

+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. +

+Note that UNIX/Open Edition commands in this section are shown in +bold, +are case sensitive, and must be made from the "src" directory. +

+

    +
  1. Overlay src/Configuration with src/Configuration.tmpl: + cp Configuration.tmpl Configuration +

    +
  2. 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: +

    +
      +
    1. Adjust the Rules and EXTRA_CFLAGS|LIBS|LDFLAGS|INCLUDES + if you feel so inclined. +

      +
    2. Comment out (by preceding the line with a "#") lines corresponding + to those modules you DO NOT wish to include. + At present the following modules MUST be commented out + as they are not yet supported on TPF: mod_actions, mod_auth, + mod_cgi, mod_env, mod_include, & mod_status. +

      +
    3. 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 src/os/tpf/readme.tpf.html + document lists the modules that have been tested on TPF. +
    +
    +
  3. Overlay src/Makefile.tmpl with src/Makefile.tpf: + cp Makefile.tpf Makefile.tmpl +

    +
  4. Overlay src/main/Makefile.tmpl with src/main/Makefile.tpf: + cp main/Makefile.tpf main/Makefile.tmpl +

    +
  5. Set the TPF environment variables: + . os/tpf/TPFExport +
    + (The initial period and blank on the command are required to ensure + the environment variables exist beyond the scope of the shell script.) + 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 NOT modify the TPF=YES export variable. If this is changed, the + "Configure" script will not recognize TPF. +

    +
  6. Run the "Configure" script: + Configure +
    + The output will look something like this... +
    +      Using config file: Configuration
    +      Creating Makefile
    +       + configured for TPF platform
    +       + setting C compiler to c89
    +       + setting C pre-processor to c89 -E
    +       + checking for system header files
    +       + adding selected modules
    +      Creating Makefile in support
    +      Creating Makefile in main
    +      Creating Makefile in ap
    +      Creating Makefile in regex
    +      Creating Makefile in os/tpf
    +      Creating Makefile in modules/standard
    +      Creating Makefile in modules/example
    +      $ _
    +      
    + This generates modules.c and new versions of the Makefiles. +

    + If you want to maintain multiple configurations, you can say, e.g., +
    + Configure -file Configuration.ai +
    +
    +      Using config file: Configuration.ai
    +      Creating Makefile
    +       + configured for <whatever> platform
    +       + setting C compiler to <whatever>
    +      et cetera
    +      
    + + If you receive an error such as "Configure 146: FSUM7351 not found" + the most likely explanation is that one or more of the make 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... +

    +            pull up the flagged file:       vi Configure
    +            turn on punctuation:            :set list
    +            go to the line in question:     146G
    +               or find a line with a "\":   /\\
    + The end of line should display as "\$". If it is displayed as + "\ $" (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. +
                close the file:                 :q  (or 
    +
    +:quit!)
    +
  7. Now compile the programs: make
    + 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 + http://www.apache.org/dist/contrib/modules/. + There are instructions on that page for linking these modules into the core Apache + code. +

    + If during compilation you get a warning about a missing 'regex.h', set + WANTHSREGEX=yes in the src/Configuration file and start back at the + Configure step. +
+

+ +  +

Installation

+
    +
  1. After compilation, you will have all the object files required to build an + "httpd" loadset. The next step is to link the object files and create a loadset to be + stored in a PDS. Sample JCL for linking and loadsets has been included in + src/os/tpf/samples as "linkdll.jcl" and "loadset.jcl". You can submit these jobs + from CMS or directly from Open Edition if you have the proper authority. After + the jobs have completed, you can ZOLDR LOAD them to your TPF system. +

    + NOTE: The mod_xxx.o files in the linkdll.jcl file must correspond to the + mod_xxx.o lines in the src/Configuration file. +

    +
  2. + 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. This first release + of Apache for TPF only runs under the "inetd" model so you + must change ServerType from standalone + to inetd. +

    + General documentation for Apache is located at + http://www.apache.org/docs/ + and in the HTML pages included with this distribution under the + /htdocs/manual directory. +

    +
  3. On TPF activate ZCLAW and update INETD using ZINET entries, the common case: +

    +
    +    ZINET ADD S-TFTP   PGM-CTFT PORT-69 PROTOCOL-UDP MODEL-NOWAIT
    +    ZINET ADD S-APACHE PGM-pppp PORT-80 PROTOCOL-TCP MODEL-NOWAIT
    + Please refer to IBM Transaction Processing Facility Transmission Control + Protocol/Internet Protocol Version 4 Release 1 for more information + on ZCLAW, INETD, and TFTP. +

    +
  4. 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: +
         /usr/local/apache/conf
    +     /usr/local/apache/logs
    +     /usr/local/apache/icons
    +     /usr/local/apache/htdocs
    + The logs directory must exist in order to avoid an + fopen error while running Apache. TFTP an empty file into + the logs subdirectory to create it. All gif, jpg, and zip files should be + TFTP'd as binary; conf files and html pages should be TFTP'd as text. +
+  +

Compiling with VisualAge TPF

+

+ It is not required that "make" 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. +

+ The following VisualAge compile settings are required: +

+

+
+
top +  | Setup +  | Compilation +  | Installation +  | VisualAge ] +
+ + + diff --git a/docs/manual/platform/readme-tpf.html b/docs/manual/platform/readme-tpf.html new file mode 100644 index 0000000000..a20d51b4a8 --- /dev/null +++ b/docs/manual/platform/readme-tpf.html @@ -0,0 +1,222 @@ + + + +The Apache TPF Port + + + +

Overview of the Apache TPF Port

+
+
Configuration Files +  | Auto Generated Files +  | What's Available +  | Porting Notes ] +
+
+
+ +

+ This version of Apache includes changes allowing it to run on + IBM's EBCDIC-based + TPF + (Transaction Processing Facility) operating system. + Unless otherwise noted TPF version 4.1 PUT08 and APAR PJ25589 are required. +

+ Refer to src/os/tpf/install.tpf.html + for step-by-step installation instructions. +

+ As this is the first cut at making Apache run on TPF, + performance tuning has not been done. +

+ This port builds upon the + EBCDIC changes + previously made to Apache. +
+

+ +  +

Apache Configuration Files

+

+ The distributed configuration files (httpd.conf-dist and + mime.types, both located in the conf subdirectory) + work on TPF with only a couple of operating system specific changes + to httpd.conf:
+

+

+ +  +

Automatically Generated Files

+

+ Some files that are automatically generated by Makefile on other platforms + are included in the src/os/tpf directory... +

+ + These files could not be automatically created for TPF because the + Makefile platform is not the same as the run-time platform. + (That is, you don't run Makefile on TPF itself.) +

+ +  +

What's Available in this Version

+ + (The Apache organization provides + online documentation + describing the various modules and components of the server.) + +

Components/modules tested on TPF:

+ + + Please keep in mind that some major pieces are not yet in place including + standalone mode, pipes, password/group files, CGI scripts, and MD5 support. +
+   +
+ * virtual hosting requires TPF version 4.1 PUT09 + +

Components/modules not (yet?) supported on TPF:

+ + + +

Components/modules that don't apply or that probably won't ever be available on TPF:

+ + + +  +

Porting Notes

+

+

Changes made due to differences between UNIX and + TPF's process models:

+ + +

Find that function...

+

Some simple functions & definitions needed to be added + on TPF, such as FD_SET(). + We've put these in src/os/tpf/os.h for now. +

+ +

EBCDIC changes:

+

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. +

+ +

Miscellaneous, minor changes:

+

Various minor changes (such as casting) were made due to + differences in how some functions are implemented on TPF. +

+ +

Temporary changes:

+

Lastly, we needed to bypass sections of Apache processing + since this first cut for TPF doesn't include + Standalone mode, pipes, forking, et cetera. +

+ +
+
top +  | Configuration Files +  | Auto Generated Files +  | What's Available +  | Porting Notes ] +
+ + +