From: David McCreedy Date: Fri, 18 Aug 2006 22:39:36 +0000 (+0000) Subject: Incorporated feedback from the TPF Users Group conference. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c9d830dcf756a177b082e7f77e67071674a4d6ba;p=thirdparty%2Fapache%2Fhttpd.git Incorporated feedback from the TPF Users Group conference. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x@432760 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/htdocs/manual/install-tpf.html b/htdocs/manual/install-tpf.html index 56eb76e9d77..503ffe4cddf 100644 --- a/htdocs/manual/install-tpf.html +++ b/htdocs/manual/install-tpf.html @@ -3,426 +3,345 @@ - - - Installing Apache on TPF4.1 - + +Installing Apache on TPF4.1 + -
-

Installing the Apache 1.3 HTTP Server on - TPF4.1

-
- [ Download | - Compilation | - Installation | - Activation | - Link Map ] -
-
- -

This document outlines the steps needed to install Apache - onto an IBM TPF4.1 system. (There are separate - installation instructions for - z/TPF.)

- -

You should first review - readme-tpf.html for basic - information on the port of Apache to TPF including a list of - supported modules and required PUT levels.

- -

The allocated CHTA program name is used throughout - these instructions to refer to Apache. You can use a different - program name if you wish.
- Likewise the directory structure apache/src is used - for the Apache source code directory. You can use different - directories than apache if you wish.

- -

If you change the program or directory names be sure to - change the entries shown in these instructions.


- - -
-

Download

-
- -

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:

- -
    -
  1. -

    Download the compressed Apache 1.3 files (the "tarball") from - http://httpd.apache.org/download.cgi - to your PC. The file name on the web site will be - apache_1.3.vv.tar.Z, where "vv" - is the version number. - Replaced "vv" throughout these instructions - with the actual version number.

    - -

    - TIP: - Be sure to keep the .tar.Z extension when - saving the file.

    -
  2. - -
  3. -

    Decompress the tarball on your PC using WinZip or - some other PC decompression tool.

    - -

    - TIP: - If you are using WinZip verify that the "TAR File - Smart CR/LF Conversion" option (under Options, - Configuration) is not checked.

    - -

    This is what you can expect if you use WinZip:

    - -
      -
    • open the tarball with WinZip (this can usually - be done simply by double-clicking on the downloaded - tarball)
    • - -
    • you will be told that the archive contains one - file (apache_1.3.vv.tar) - allow WinZip to - decompress it to a temporary folder
    • - -
    • extract the archived files onto your PC - - you'll be using files from the  conf, - htdocs, and icons directories later - in the install phase
      -
    • -
    -
  4. - -
  5. -

    FTP the tarball to your OS/390 UNIX machine using - binary mode:

    - -
      -
    • activate FTP in an MSDOS window:
      -    ftp your.os390.unix.machine.com 
    • - -
    • sign in 
    • - -
    • set mode to - binary:  binary 
    • - -
    • send the file to OS/390 UNIX:
      -    send "c:/path/apache_1.3.vv.tar.Z" apache_1.3.vv.tar.Z
    • - -
    • exit FTP:  bye
    • -
    - -

    - TIP: - 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.

    -
  6. - -
  7. -

    On your OS/390 UNIX machine, decompress and extract the archived files necessary - for compiling Apache:

    - -

    - pax -rvzkf apache_1.3.vv.tar.Z -o from=ISO8859-1,to=IBM-1047 "*/src"

    -
  8. - -
  9. -

    Remove unnecessary - subdirectories:

    - -

    - cd apache_1.3.vv/src/lib
    - rm -r expat-lite sdbm
    - cd ../os
    - rm -fr bs2000 cygwin mpeix netware os2 os390 unix - win32
    - cd ..

    -
  10. -
- -
-

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 Configure utility - and make, modules.c and other necessary files will be - created for you automatically.

- -

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.

- -

TIP: - 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.

- -

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

- -
    -
  1. -

    Switch to the Apache source code subdirectory:

    - -

    - cd apache_1.3.vv/src

    -
  2. - -
  3. -

    Overlay src/Configuration with - src/Configuration.tmpl:

    - -

    - cp Configuration.tmpl Configuration

    -
  4. - -
  5. -

    The src/Configuration file controls which optional - modules are compiled into Apache.
    - Leave the file as-is if you want to use the default - set of modules.
    - Otherwise edit the src/Configuration file to customize - which modules are used:

    - -
      -
    • Comment out (by preceding the line with a "#") - lines corresponding to those modules you do - not wish to include.
    • - -
    • Uncomment (by removing the initial "#", if - present) lines corresponding to those modules you - wish to include.
      - (The readme-tpf.html - document lists the modules that have been tested on - TPF).
    • - -
    • Add lines for any custom or third party modules - you wish to include.
      - 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://modules.apache.org/. - There are instructions on that page for linking - these modules into the core Apache code.
    • - -
    • If you did not delete the src/lib/expat-lite - directory as noted in the - download instructions, - add "Rule EXPAT=no" to the - src/Configuration file.
    • - -
    • Adjust the other rules, EXTRA_CFLAGS, - EXTRA_LIBS, EXTRA_LDFLAGS, and - EXTRA_INCLUDES settings if you feel so - inclined.
      -  
    • -
    -
  6. - -
  7. -

    Indicate whether the non_socket_select - function is implemented on your system.

    - -

    If you are on a PUT12 or higher system, or have - PJ26895 installed, then you probably support - non_socket_select.
    - You can verify this by looking for the - non_socket_select prototype in your system - header files (specifically i$pwbl.h).

    - -

    If your TPF system supports - non_socket_select do one of the - following:

    - -
      -
    • add - "#define TPF_HAVE_NONSOCKET_SELECT" - to - src/os/tpf/os.h   or
    • - -
    • add "-DTPF_HAVE_NONSOCKET_SELECT" to - the _C89_OPTIONS export in - src/os/tpf/TPFExport
    • -
    - -

    Otherwise:

    - -
      -
    • add - "#define TPF_NO_NONSOCKET_SELECT" to - src/os/tpf/os.h   or
    • - -
    • add "-DTPF_NO_NONSOCKET_SELECT" to the - _C89_OPTIONS export in - src/os/tpf/TPFExport
    • -
    - -

    Without non_socket_select CGI output is - buffered and only sent to the browser when the CGI - program finishes.

    -
  8. - -
  9. -

    Indicate whether the tpf_sawnc function is - implemented on your system.

    - -

    If you are on a PUT10 or higher system, or have - PJ27387/PJ26188 installed, then you probably support - tpf_sawnc.
    - You can verify this by looking for the - tpf_sawnc prototype in your system header - files (either tpfapi.h or - i$fsdd.h).

    - -

    If your TPF system supports tpf_sawnc do - one of the following:

    - -
      -
    • add "#define TPF_HAVE_SAWNC" to - src/os/tpf/os.h   or
    • - -
    • add "-DTPF_HAVE_SAWNC" to the - _C89_OPTIONS export in - src/os/tpf/TPFExport
    • -
    - -

    Otherwise:

    - -
      -
    • add "#define TPF_NO_SAWNC" to - src/os/tpf/os.h   or
    • - -
    • add "-DTPF_NO_SAWNC" to the - _C89_OPTIONS export in - src/os/tpf/TPFExport
    • -
    - -

    The use of tpf_sawnc allows for a cleaner - shutdown of Apache.

    -
  10. - -
  11. -

    Indicate if you have the Syslog - Daemon message logging facility.

    - -

    If you are on a PUT13 or higher system, or have - PJ27214 installed, you can use syslog for Apache's - ErrorLog.
    - To have the option of using syslog you must do - one of the following:

    - -
      -
    • add "#define HAVE_SYSLOG" to - src/os/tpf/os.h   or
    • - -
    • add "-DHAVE_SYSLOG" to the - _C89_OPTIONS export in - src/os/tpf/TPFExport
    • -
    - -

    You also need to add "INCLUDE - OBJLIB(CSYLOG40)" to your link JCL.

    - -

    See the syslog - section of readme-tpf.html for more - information.

    -
  12. - -
  13. -

    Indicate if you would like to use the TCP/IP network - services database. (This only applies if you are using - TCP/IP native stack.)

    - -

    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 one - of the following:

    - -
      -
    • add "#define TPF_HAVE_NSD" to - src/os/tpf/os.h   or
    • - -
    • add "-DTPF_HAVE_NSD" to the - _C89_OPTIONS export in - src/os/tpf/TPFExport
    • -
    - -

    See "Network Services Database Support" in the - IBM - TPF Product Information Center for details.

    -
  14. - -
  15. -

    Set the TPF environment - variables:

    - -

    - . os/tpf/TPFExport 

    - -

    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 TPF=YES export variable. If this is - changed, the "Configure" script will not recognize - TPF.

    -
  16. - -
  17. -

    Run the "Configure" script - to generate modules.c, include/ap_config_auto.h, and - necessary Makefiles:

    - -

    ./Configure

    - - - - +
    -
    +
    +
    +

    Installing the Apache 1.3 HTTP Server on TPF4.1

    +
    +[ Download | +Compilation | +Installation | +Activation | +Link Map ] +
    +
    + +

    This document outlines the steps needed to install Apache +onto an IBM TPF4.1 system. (There are separate +installation instructions for z/TPF.) +

    + +

    You should first review readme-tpf.html +for basic information on the port of Apache to TPF including a list of +supported modules and required PUT levels.

    + +

    The allocated CHTA program name is used throughout +these instructions to refer to Apache. You can use a different +program name if you wish.
    +Likewise the directory structure apache/src is used +for the Apache source code directory. You can use different +directories than apache if you wish.

    + +

    If you change the program or directory names be sure to +change the entries shown in these instructions.


    + +
    +

    Download

    +
    + +

    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:

    +
      +
    1. Download the compressed Apache 1.3 files (the "tarball") from + http://httpd.apache.org/download.cgi + to your PC. The file name on the web site will be + apache_1.3.vv.tar.Z, where "vv" is + the version number. Replaced "vv" throughout these + instructions with the actual version number.

      + +

      TIP: Be sure + to keep the .tar.Z extension when saving the file.

      +
    2. + +
    3. +

      Decompress the tarball on your PC using WinZip or some other PC + decompression tool.

      + +

      TIP: If you + are using WinZip verify that the + "TAR File Smart CR/LF Conversion" option (under Options, + Configuration) is not checked.

      + +

      This is what you can expect if you use WinZip:

      + +
        +
      • open the tarball with WinZip (this can usually be done simply + by double-clicking on the downloaded tarball)
      • + +
      • you will be told that the archive contains one file + (apache_1.3.vv.tar) - allow WinZip to decompress it to a + temporary folder
      • + +
      • extract the archived files onto your PC - you'll be using + files from the  conf, htdocs, and icons + directories later in the install phase

        +
      • +
      +
    4. + +
    5. FTP the tarball to your OS/390 UNIX machine using binary mode: +

      + +
        +
      • activate FTP in an MSDOS window:
        +    ftp your.os390.unix.machine.com 
      • + +
      • sign in 
      • + +
      • set mode to binary:  binary 
      • + +
      • send the file to OS/390 UNIX:
        +    send "c:/path/apache_1.3.vv.tar.Z" apache_1.3.vv.tar.Z
      • + +
      • exit FTP:  bye
      • +
      + +

      TIP: 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.

      +
    6. + +
    7. On your OS/390 UNIX machine, decompress and extract the + archived files necessary for compiling Apache:

      +

      pax -rvzkf apache_1.3.vv.tar.Z -o from=ISO8859-1,to=IBM-1047 "*/src"

      +
    8. + +
    9. Remove + unnecessary subdirectories:

      +

      cd apache_1.3.vv/src/lib
      + rm -r expat-lite sdbm
      + cd ../os
      + rm -fr bs2000 cygwin mpeix netware os2 os390 unix win32
      + cd ..

      +
    10. + +
    + +
    +

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

    + +

    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.

    + +

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

    + +

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

    + +
      +
    1. Switch to the Apache source code subdirectory:

      +

      cd apache_1.3.vv/src

    2. + +
    3. Overlay src/Configuration with src/Configuration.tmpl:

      +

      cp Configuration.tmpl Configuration

    4. + +
    5. The src/Configuration file controls which optional + modules are compiled into Apache.
      + Leave the file as-is if you want to use the default set of + modules.
      + Otherwise edit the src/Configuration file to customize which + modules are used:

      + +
        +
      • Comment out (by preceding the line with a "#") lines + corresponding to those modules you do not wish to + include.
      • + +
      • Uncomment (by removing the initial "#", if present) lines + corresponding to those modules you wish to include.
        + (The readme-tpf.html document + lists the modules that have been tested on TPF).
      • + +
      • Add lines for any custom or third party modules you wish + to include.
        + 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://modules.apache.org/. + There are instructions on that page for linking these modules + into the core Apache code.
      • + +
      • If you did not delete the src/lib/expat-lite directory as + noted in the download instructions, + add "Rule EXPAT=no" to the src/Configuration + file.
      • + +
      • Adjust the other rules, EXTRA_CFLAGS, + EXTRA_LIBS, EXTRA_LDFLAGS, and + EXTRA_INCLUDES settings if you feel so inclined.
        +  
      • + +
      +
    6. + +
    7. Indicate whether the non_socket_select function is + implemented on your system.

      + +

      If you are on a PUT12 or higher system, or have PJ26895 installed, + then you probably support non_socket_select.
      + You can verify this by looking for the non_socket_select + prototype in your system header files (specifically + i$pwbl.h).

      + +

      If your TPF system supports non_socket_select do + one of the following:

      + +
        +
      • add "#define TPF_HAVE_NONSOCKET_SELECT" to + src/os/tpf/os.h   or
      • + +
      • add "-DTPF_HAVE_NONSOCKET_SELECT" to the + _C89_OPTIONS export in src/os/tpf/TPFExport
      • +
      + +

      Otherwise:

      + +
        +
      • add "#define TPF_NO_NONSOCKET_SELECT" to + src/os/tpf/os.h   or
      • + +
      • add "-DTPF_NO_NONSOCKET_SELECT" to the + _C89_OPTIONS export in src/os/tpf/TPFExport
      • +
      + +

      Without non_socket_select CGI output is buffered and + only sent to the browser when the CGI program finishes.

    8. + +
    9. Indicate whether the tpf_sawnc function is + implemented on your system.

      + +

      If you are on a PUT10 or higher system, or have PJ27387/PJ26188 + installed, then you probably support tpf_sawnc.
      + You can verify this by looking for the tpf_sawnc prototype + in your system header files (either tpfapi.h or + i$fsdd.h).

      + +

      If your TPF system supports tpf_sawnc do one of + the following:

      + +
        +
      • add "#define TPF_HAVE_SAWNC" to + src/os/tpf/os.h   or
      • + +
      • add "-DTPF_HAVE_SAWNC" to the _C89_OPTIONS + export in src/os/tpf/TPFExport
      • +
      + +

      Otherwise:

      +
        +
      • add "#define TPF_NO_SAWNC" to + src/os/tpf/os.h   or
      • + +
      • add "-DTPF_NO_SAWNC" to the _C89_OPTIONS + export in src/os/tpf/TPFExport
      • +
      + +

      The use of tpf_sawnc allows for a cleaner shutdown of + Apache.

    10. + +
    11. Indicate if you have the + Syslog Daemon message logging facility.

      + +

      If you are on a PUT13 or higher system, or have PJ27214 installed, + you can use syslog for Apache's ErrorLog.
      + To have the option of using syslog you must do one of the + following:

      + +
        +
      • add "#define HAVE_SYSLOG" to + src/os/tpf/os.h   or
      • + +
      • add "-DHAVE_SYSLOG" to the _C89_OPTIONS + export in src/os/tpf/TPFExport
      • +
      + +

      You also need to add "INCLUDE OBJLIB(CSYLOG40)" to your + link JCL.

      + +

      See the + syslog section of readme-tpf.html + for more information.

    12. + +
    13. Indicate if you would like to use the TCP/IP network services + database. (This only applies if you are using TCP/IP native stack.)

      + +

      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 one of the following:

      + +
        +
      • add "#define TPF_HAVE_NSD" to + src/os/tpf/os.h   or
      • + +
      • add "-DTPF_HAVE_NSD" to the _C89_OPTIONS + export in src/os/tpf/TPFExport
      • +
      + +

      See "Network Services Database Support" in the + IBM TPF Product Information Center + for details.

    14. + +
    15. Set the TPF environment + variables:

      + +

      . os/tpf/TPFExport 

      +

      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 TPF=YES export + variable. If this is changed, the "Configure" script will not + recognize TPF.

    16. + +
    17. Run the + "Configure" script to generate modules.c, include/ap_config_auto.h, + and necessary Makefiles:

      + +

      ./Configure

      + + + - -
       Using config file:
       Configuration
       Creating Makefile
      @@ -440,456 +359,335 @@ Creating Makefile in ap
       Creating Makefile in main
       Creating Makefile in modules/standard
       $
      -                        
      -
      - -

      Use the -file option if - you want to maintain multiple configurations:

      - -

      - ./Configure -file Configuration.2nd

      - - - - +
      -
      -Using config file: Configuration.2nd 
      +
      + +

      Use the -file option if you want to + maintain multiple configurations:

      + +

      + ./Configure -file Configuration.2nd

      + + + - -
      +Using config file: Configuration.2nd
       Creating Makefile
       + configured for TPF platform
       + setting C compiler to c89
       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!)
        -
    18. - -
    19. -

      Edit src/os/tpf/os.h if you want to use the - sigaction() function.

      - -

      The sigaction() function supersedes the - signal() interface and should be used in - preference. This function was implemented with APAR - PJ26188 which shipped with PUT10.

      - -

      To use sigaction() remove #define - NO_USE_SIGACTION in os.h.

      - -

      The change will only take effect after Apache is - (re)compiled.

      -
    20. - -
    21. -

      Edit src/os/tpf/os.h if you do not want the - scoreboard kept in shared memory.

      - -

      The default behavior for Apache on all platforms - except 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.

      - -

      If you are on a pre-PUT10 system, or for some reason - you do not want to use shared memory for the - scoreboard, you must remove - "#define USE_SHMGET_SCOREBOARD" from - os.h

      - -

      The change will only take effect after Apache is - (re)compiled.

      -
    22. - -
    23. -

      Now compile the programs:

      - -

      make

      - -

      Besides compiling, make 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

      - -

      The following compilation warning may or may not - occur. It should be ignored:

      - -

      - main/http_main.c:   Infinite loop - detected in function child_main. Program may not - stop.

      - -

      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.

      - -

      If you get a - 'Duplicate type specifier "long" ignored' - error, add "-W 0,langlvl(extended)" to - the _C89_OPTIONS export in - src/os/tpf/TPFExport and start back at the - export step

      -
    24. -

    - - -
    -

    Installation

    -
    - -

    The allocated CHTA program name is used throughout - these instructions to refer to Apache. You can use a different - program name if you wish.

    - -
      -
    1. -

      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:

      - -
        -
      • Change the IDs, data set names, and libraries - for your particular site.
      • - -
      • Add/remove mod_xxx.o files so - they correspond to the mod_xxx.o - lines in your src/Configuration file.
      • -
      - -

      - TIP: - Do not include gen_test_char.o or - gen_uri_delims.o in the link JCL since these files are - only used during the make step.

      - -

      If you receive an "Unresolved references" error for - "XML_ErrorString" you probably need to - remove the expat-lite - directory and start back at the - "Run the Configure script" - step

      - -

      If you receive an "unable to open" error for - lib/expat-lite/hashtable.o" you probably need - to remove all of the expat-lite .o's from your link - JCL

      - -

      - TIP: - 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 inetd_getServer and/or - inetd_getServerStatus functions from - failing.

      -
    2. - -
    3. -

      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.

      - -

      A JCL condition code of 4 is expected since the C - load module will contain no link map data.

      - -

      If you require a link map refer to the - instructions below.

      -
    4. - -
    5. -

      Load (ZOLDR LOAD) and activate (ZOLDR - ACT) the loadset on your test system.

      -
    6. - -
    7. -

      Ensure that the program name you are using for - Apache has RESTRICT and KEY0 - authorization:

      - -

      zdpat chta - (c-c)

      - -

      If necessary you can use the zapat entry to - alter the authorization:

      - -

      zapat chta restrict key0 - (c-c)

      - -

      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 - zdpat/zapat entries.

      -
    8. - -
    9. -

      General documentation for Apache is located at - http://httpd.apache.org/docs/ - and in the HTML pages included with the distribution - (tarball) under the htdocs/manual - directory.

      -
    10. - -
    11. -

      Create the Apache run-time configuration file. The - server requires a configuration file to initialize - itself during activation.
      - 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.

      - -

      You must change every occurrence of - "@@ServerRoot@@" to your document server root - (for example "/usr/local/apache")

      - -

      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:

      - -

      ServerName 127.0.0.1

      -
    12. - -
    13. -

      On TPF activate your TCP/IP Offload (ZCLAW) or - Native Stack communications device.
      - Refer to the - IBM - TPF Product Information Center for details.

      -
    14. - -
    15. -

      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:

      - -

      /usr/local/apache/conf
      - /usr/local/apache/logs
      - /usr/local/apache/icons
      - /usr/local/apache/htdocs

      - -

      At a minimum you will need these files on TPF:

      - -

      - /usr/local/apache/conf/httpd.conf
      - /usr/local/apache/conf/mime.types
      - /usr/local/apache/htdocs/index.html.en
      - /usr/local/apache/htdocs/apache_pb.gif

      - -

      All gif, jpg, and zip files should be transferred as - binary; the configuration file and html pages should be - transferred as text.

      - -

      Refer to the - IBM - TPF Product Information Center for details on TFTP - and FTP.

      -
    16. - -
    17. -

      The logs directory must exist and be accessible in - order to avoid an fopen error while running - Apache:

      - -

      If you're running a PUT10 or higher version of TPF - make the directory using a zfile commands:

      - -

      - zfile mkdir /usr/local/apache/logs
      - - zfile chmod 777 /usr/local/apache/logs

      - -

      If you're running TPF version PUT09 TFTP an empty - file into the logs subdirectory to create - it. 
      - Then make sure Apache can write into the logs - subdirectory:

      - -

      zfile chmod 777 - /usr/local/apache/logs

      -
    18. - -
    19. -

      Add Apache to the Internet Daemon's tables using - ZINET entries

      - -

      For PUT11 and later use the DAEMON model for - Apache:

      - -

      - ZINET ADD S-APACHE PGM-chta MODEL-DAEMON USER-root

      - -

      On pre-PUT11 systems use the NOLISTEN model - instead:

      - -

      - ZINET ADD S-APACHE PGM-chta MODEL-NOLISTEN

      - -

      TIP: Logic changes implemented - with PUT11 cause ZINET to not restart - NOLISTEN servers after ZOLDR ACT - and ZOLDR DEACT entries. This means - that Apache running as NOLISTEN on a PUT11 or - later system will exit whenever any - ZOLDR ACT or - ZOLDR DEACT entry is made. - Therefore at PUT11 you should switch to the - DAEMON model and ensure that you have APARs - PJ25761 and PJ27363 applied.

      - -

      Refer to the - IBM - TPF Product Information Center for details on the - Internet Daemon and ZINET commands.

      -
    20. - -
    21. -

      Start the server:

      - -

      - zinet start s-apache

      -
    22. - -
    23. -

      Verify Apache was successfully started:

      - -

      zfile cat - /usr/local/apache/logs/error_log

      - - - - +
      -
      +
      + +

      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!)
        +
    24. + +
    25. Edit src/os/tpf/os.h if you want to use the + sigaction() function.

      + +

      The sigaction() function supersedes the signal() + interface and should be used in preference. This function was + implemented with APAR PJ26188 which shipped with PUT10.

      + +

      To use sigaction() remove #define + NO_USE_SIGACTION in os.h.

      + +

      The change will only take effect after Apache is (re)compiled.

    26. + +
    27. Edit src/os/tpf/os.h if you do not want the + scoreboard kept in shared memory.

      + +

      The default behavior for Apache on all platforms except + 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.

      + +

      If you are on a pre-PUT10 system, or for some reason you do not + want to use shared memory for the scoreboard, you must remove + "#define USE_SHMGET_SCOREBOARD" from os.h

      + +

      The change will only take effect after Apache is (re)compiled.

    28. + +
    29. Now compile the programs:

      + +

      make

      + +

      Besides compiling, make 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

      + +

      The following compilation warning may or may not occur. + It should be ignored:

      + +

      main/http_main.c:   Infinite loop detected in function child_main. Program may not stop.

      + +

      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.

      + +

      If you get a + 'Duplicate type specifier "long" ignored' + error, add "-W 0,langlvl(extended)" to the + _C89_OPTIONS export in src/os/tpf/TPFExport and start back + at the export step

      +
    30. +

    + +
    +

    Installation

    +
    + +

    The allocated CHTA program name is used throughout + these instructions to refer to Apache. You can use a different + program name if you wish.

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

      + +
        +
      • Change the IDs, data set names, and libraries for your + particular site.
      • + +
      • Add/remove mod_xxx.o files so they correspond + to the mod_xxx.o lines in your src/Configuration + file.
      • +
      + +

      TIP: + Do not include gen_test_char.o or gen_uri_delims.o in the + link JCL since these files are only used during the make + step.

      + +

      If you receive an "Unresolved references" error for + "XML_ErrorString" you probably need to + remove the expat-lite directory and start + back at the + "Run the Configure script" step

      + +

      If you receive an "unable to open" error for + lib/expat-lite/hashtable.o" you probably need to remove all + of the expat-lite .o's from your link JCL

      + +

      TIP: + 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 inetd_getServer and/or + inetd_getServerStatus functions from failing.

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

      + +

      A JCL condition code of 4 is expected since the C load module will + contain no link map data.

      + +

      If you require a link map refer to the + instructions below.

    4. + +
    5. Load (zoldr load) and activate (zoldr act) + the loadset on your test system.

    6. + +
    7. Ensure that the program name you are using for Apache has + RESTRICT and KEY0 authorization:

      + +

      zdpat chta (c-c)

      + +

      If necessary you can use the zapat entry to alter the + authorization:

      + +

      zapat chta restrict key0 (c-c)

      + +

      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 zdpat/zapat entries.

    8. + +
    9. General documentation for Apache is located at + http://httpd.apache.org/docs/ + and in the HTML pages included with the distribution (tarball) under + the htdocs/manual directory.

    10. + +
    11. Create the Apache run-time configuration file. The server + requires a configuration file to initialize itself during activation.
      + 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.

      + +

      You must change every occurrence of "@@ServerRoot@@" to + your document server root (for example "/usr/local/apache")

      + +

      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:

      + +

      ServerName 127.0.0.1

    12. + +
    13. On TPF activate your TCP/IP Offload (ZCLAW) or Native Stack + communications device.
      + Refer to the + IBM TPF Product Information Center + for details.

    14. + +
    15. 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:

      + +

      /usr/local/apache/conf
      + /usr/local/apache/logs
      + /usr/local/apache/icons
      + /usr/local/apache/htdocs

      + +

      At a minimum you will need these files on TPF:

      + +

      /usr/local/apache/conf/httpd.conf
      + /usr/local/apache/conf/mime.types
      + /usr/local/apache/htdocs/index.html.en
      + /usr/local/apache/htdocs/apache_pb.gif

      + +

      All gif, jpg, and zip files should be transferred as binary; the + configuration file and html pages should be transferred as text.

      + +

      Refer to the + IBM TPF Product Information Center + for details on TFTP and FTP.

    16. + +
    17. The logs directory must exist and be accessible in order to + avoid an fopen error while running Apache:

      + +

      If you're running a PUT10 or higher version of TPF make the directory using a zfile commands:

      + +

      + zfile mkdir /usr/local/apache/logs
      + zfile chmod 777 /usr/local/apache/logs

      + +

      If you're running TPF version PUT09 TFTP an empty file into the + logs subdirectory to create it. 
      + Then make sure Apache can write into the logs subdirectory:

      + +

      zfile chmod 777 /usr/local/apache/logs

    18. + +
    19. Add Apache to the Internet Daemon's tables using zinet + entries

      + +

      For PUT11 and later use the "DAEMON" model for Apache:

      + +

      + zinet add s-apache pgm-chta model-daemon user-root

      + +

      On pre-PUT11 systems use the "NOLISTEN" model instead:

      + +

      + zinet add s-apache pgm-chta model-nolisten

      + +

      TIP: Logic changes + implemented with PUT11 cause zinet to not restart NOLISTEN + servers after zoldr act and zoldr deact + entries. This means that Apache running as NOLISTEN on a PUT11 or + later system will exit whenever any zoldr act or + zoldr deact entry is made. Therefore at PUT11 you + should switch to the DAEMON model and ensure that you have APARs + PJ25761 and PJ27363 applied.

      + +

      Refer to the + IBM TPF Product Information Center + for details on the Internet Daemon and zinet commands.

    20. + +
    21. Start the server:

      +

      zinet start s-apache

    22. + +
    23. Verify Apache was successfully started:

      +

      zfile cat /usr/local/apache/logs/error_log

      + + + - -
       [timestamp] [notice] Apache/1.3.vv (TPF) configured -- resuming normal operations
       [timestamp] [notice] Accept mutex: tpfcore (Default: tpfcore)
      -                        
      -
      - -

      If there are severe errors correct the conf file and - restart the server:

      - -

      - zinet stop s-apache
      - correct the httpd.conf file and transfer it to - TPF
      - zfile rm /usr/local/apache/logs/error_log
      - - zinet start s-apache

      -
    24. -
    - -
    -

    Activation

    -
    - -
      -
    1. Request a page from your browser:

      - -

      - http://xx.xx.xx.xx   (where - xx.xx.xx.xx is your test system IP address)

      -
    2. -
    -
    - - -
    -

    Generating an Apache Link Map

    -
    - -

    Three different tools can be used to generate a link map for - Apache: TPF Build Tools, TPF Toolkit, and VisualAge TPF.

    - -

    TPF Build Tools on OS/390 UNIX

    - -
      -
    1. Download and install the - TPF Build Tools if you have not already done so.
    2. - -
    3. Follow the instructions to set up any necessary - variables for your installation.
    4. - -
    5. - Create a shell script in your Apache src - directory: - - - - +
      -
      +
      + +

      If there are severe errors correct the conf file and restart the + server:

      + +

      zinet stop s-apache
      + correct the httpd.conf file and transfer it to TPF
      + zfile rm /usr/local/apache/logs/error_log
      + + zinet start s-apache

    6. +
    + +
    +

    Activation

    +
    + +
      +
    1. Request a page from your browser:

      + +

      + http://xx.xx.xx.xx   (where + xx.xx.xx.xx is your test system IP address)

    2. +
    +
    +
    +

    Generating an Apache Link Map

    +
    + +

    Three different tools can be used to generate a link map for Apache: +TPF Build Tools, TPF Toolkit, and VisualAge TPF.

    + +

    TPF Build Tools on OS/390 UNIX

    + +
      +
    1. Download and install the + TPF Build Tools + if you have not already done so.
    2. + +
    3. Follow the instructions to set up any necessary variables for + your installation.
    4. + +
    5. Create a shell script in your Apache src directory: + + - -
       ld -M --dlm -O'<your-dsd-dsn>(CHTA<vv>)' \
       CSTRTD40 \
       CINET640 \
      @@ -901,91 +699,91 @@ ap/ap_base64.o \
          .
       regex/regexec.o \
       regex/regfree.o
      -                        
      -
      In your script... - -
        -
      • Each line must end with a backwards slash (\) - except for the last line. Be sure there are no - trailing blanks after the backward slashes.
      • - -
      • Replace the two items in angle brackets (< - >) with your dataset name and program - version.
      • - -
      • Add any additional libraries prior to the first - ".o" line.
      • - -
      • Add a line for each .o to be linked into your - configuration of Apache.
      • -

      -
    6. - -
    7. Change the shell script's permission settings to - executable using the chmod command.
    8. - -
    9. Run the script.
    10. -
    - -

    TPF Toolkit

    - -
      -
    1. Copy the sample linkhttp.dlm file from the - src/os/tpf/samples directory to your Apache - src directory on OS/390 UNIX.
    2. - -
    3. This sample file contains the components for the - default configuration of Apache. Add and delete components - (such as modules) as necessary so it matches your - configuration of Apache. Basically, it should match your - link JCL with the ".../apache/src" portion of the - filenames removed.
    4. - -
    5. Change items in angle brackets (< >) to also - match your JCL. Be sure to remove the angle brackets as - well.
    6. - -
    7. In the TPF Toolkit create a project with your modified - dlm file as its sole contents.
    8. - -
    9. Right click on the dlm file in your new project and - choose "Build DLM".
    10. -
    - -

    VisualAge TPF

    - -
      -
    1. Copy the sample linkhttp.dlm file from the - src/os/tpf/samples directory to your Apache - src directory on OS/390 UNIX.
    2. - -
    3. This sample file contains the components for the - default configuration of Apache. Add and delete components - (such as modules) as necessary so it matches your - configuration of Apache. Basically, it should match your - link JCL with the ".../apache/src" portion of the - filenames removed.
    4. - -
    5. Change items in angle brackets (< >) to also - match your JCL. Be sure to remove the angle brackets as - well.
    6. - -
    7. In VisualAge TPF create a container with your modified - dlm file as its sole contents.
    8. - -
    9. Right click on the dlm file in your new container and - choose "Build DLM".
    10. -
    -
    - -
    - [ top | Download - | Compilation | - Installation | - Activation | - Link Map ] -
    +
    In your script... + +
      +
    • Each line must end with a backwards slash (\) except for the + last line. Be sure there are no trailing blanks after the backward + slashes.
    • + +
    • Replace the two items in angle brackets (< >) with your + dataset name and program version.
    • + +
    • Add any additional libraries prior to the first ".o" line.
    • + +
    • Add a line for each .o to be linked into your configuration of + Apache.
    • + +

    +
  18. + +
  19. Change the shell script's permission settings to executable using + the chmod command.
  20. + +
  21. Run the script.
    + If you get a duplicate object warning for @@DLMHDR remove + the CSTRTD40 line from the script and re-run.
    + (You'll see this warning if the ld processing is automatically + including CSTRTD.)
  22. + +
+ +

TPF Toolkit

+ +
    +
  1. Copy the sample linkhttp.dlm file from the + src/os/tpf/samples directory to your Apache src + directory on OS/390 UNIX.
  2. + +
  3. This sample file contains the components for the default + configuration of Apache. Add and delete components (such as modules) + as necessary so it matches your configuration of Apache. Basically, + it should match your link JCL with the ".../apache/src" + portion of the filenames removed.
  4. + +
  5. Change items in angle brackets (< >) to also match your + JCL. Be sure to remove the angle brackets as well.
  6. + +
  7. In the TPF Toolkit create a project with your modified dlm file + as its sole contents.
  8. + +
  9. Right click on the dlm file in your new project and choose "Build + DLM".
  10. +
+ +

VisualAge TPF

+ +
    +
  1. Copy the sample linkhttp.dlm file from the + src/os/tpf/samples directory to your Apache + src directory on OS/390 UNIX.
  2. + +
  3. This sample file contains the components for the default + configuration of Apache. Add and delete components (such as modules) + as necessary so it matches your configuration of Apache. Basically, + it should match your link JCL with the ".../apache/src" + portion of the filenames removed.
  4. + +
  5. Change items in angle brackets (< >) to also match your + JCL. Be sure to remove the angle brackets as well.
  6. + +
  7. In VisualAge TPF create a container with your modified dlm file + as its sole contents.
  8. + +
  9. Right click on the dlm file in your new container and choose + "Build DLM".
  10. +
+ +
+ +
+[ top | Download +| Compilation | +Installation | +Activation | +Link Map ] +
+
diff --git a/htdocs/manual/install-ztpf.html b/htdocs/manual/install-ztpf.html index 1eb237b983b..d9214c8f4a1 100644 --- a/htdocs/manual/install-ztpf.html +++ b/htdocs/manual/install-ztpf.html @@ -3,314 +3,227 @@ - - - Installing Apache on z/TPF - + +Installing Apache on z/TPF + -
-

Installing the Apache 1.3 HTTP Server on - z/TPF

-
- [ Download | - MakeTPF Setup | - Compilation | - Installation | - Activation ] -
-
- -

This document outlines the steps needed to install Apache - onto an IBM z/TPF Enterprise Edition V1 R1 system. (There are - separate installation instructions - for TPF4.1.)

- -

You should first review - readme-tpf.html for basic - information on the port of Apache to TPF including a list of - supported modules.

- -

The allocated CHTA program name is used throughout - these instructions to refer to Apache. You can use a different - program name if you wish.
- Likewise the directory structure - opensource/apache/src is used for the Apache source - code directory. You can use different directories than - opensource/apache if you wish.

- -

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.


- - -
-

Download

-
- -

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:

- -
    -
  1. -

    Download the compressed Apache 1.3 files (the "tarball") from - http://httpd.apache.org/download.cgi - to your PC. The file name on the web site will be - apache_1.3.vv.tar.Z, where "vv" - is the version number. - Replaced "vv" throughout these instructions - with the actual version number.

    - -

    - TIP: - Be sure to keep the .tar.Z extension when - saving the file.

    -
  2. - -
  3. -

    Decompress the tarball on your PC using WinZip or - some other PC decompression tool.

    - -

    - TIP: - If you are using WinZip verify that the "TAR File - Smart CR/LF Conversion" option (under Options, - Configuration) is not checked.

    - -

    This is what you can expect if you use WinZip:

    - -
      -
    • open the tarball with WinZip (this can usually - be done simply by double-clicking on the downloaded - tarball)
    • - -
    • you will be told that the archive contains one - file (apache_1.3.vv.tar) - allow WinZip to - decompress it to a temporary folder
    • - -
    • extract the archived files onto your PC - - you'll be using files from the  conf, - htdocs, and icons directories later - in the install phase
      -
    • -
    -
  4. - -
  5. -

    FTP the tarball to your Linux build machine using - binary mode:

    - -
      -
    • activate FTP in an MSDOS window:
      -    ftp your.linux.build.machine.com 
    • - -
    • sign in 
    • - -
    • set mode to - binary:  binary 
    • - -
    • send the file to your Linux build - machine:
      -    send "c:/path/apache_1.3.vv.tar.Z" apache_1.3.vv.tar.Z
    • - -
    • exit FTP:  bye
    • -
    - -

    - TIP: - Linux file names are case sensitive.

    -
  6. - -
  7. -

    On your Linux build machine, decompress and extract the - archived files necessary for compiling Apache:

    - -

    tar -xzkf - apache_1.3.vv.tar.Z "*/src"

    - -

    Note that the following "src" - subdirectories are not used for Apache on z/TPF and may - be removed if desired:

    - -

    lib/expat-lite, - lib/sdbm, regex, and all os - subdirectories except for os/tpf.

    -
  8. - -
  9. -

    Create header files that are automatically generated - for other platforms but are not for z/TPF:

    - -

    cp - apache_1.3.vv/src/os/tpf/samples/test_char.txt  apache_1.3.vv/src/main/test_char.h
    - cp - apache_1.3.vv/src/os/tpf/samples/uri_delims.txt - apache_1.3.vv/src/main/uri_delims.h

    -
  10. -

- - -
-

MakeTPF Setup

-
- -
    -
  1. -

    Move the source code into your desired directory - structure for MakeTPF with the following entries.
    - Replace "foobar" below with your actual - directory name:

    - -

    - export AROOT="foobar/opensource/apache"
    - mkdir -p $AROOT
    - mv apache_1.3.vv/* $AROOT
    -

    -
  2. - -
  3. -

    CHTA is already in the tpf_app_base.cntl - control file. Adjust any settings if necessary.

    -
  4. - -
  5. -

    Create an environment file for Apache named - maketpf.env_apache using - $AROOT/src/os/tpf/samples/sample_env.txt as a - guide.
    - Place maketpf.env_apache in the same - directory as your other environment files.

    -
  6. - -
  7. -

    Create a .mak file for Apache named - $AROOT/src/chta.mak using - $AROOT/src/os/tpf/samples/sample_mak.txt as a - guide
    - Verify that the maketpf_env assignments in - chta.mak are correct for your build - environment.

    -
  8. - -
  9. -

    Create a configuration file named - $AROOT/src/maketpf.cfg.
    - Ensure that the first assignment of TPF_ROOT - in maketpf.cfg is the absolute path to your - "foobar" directory.

    -
  10. - -
  11. -

    Later if you want to include Apache in your full build - add APACHE=YES to the CONFIG macro in - your Stage 1 deck.
    - Then reassemble the SIP deck (sip.asm) to update - the SIP generated build files with the APACHE - function switch enabled.

    -
  12. -

- - -
-

Compilation

-
- -
    -
  1. -

    Switch to the Apache source code subdirectory:

    - -

    cd $AROOT/src

    -
  2. - -
  3. -

    Overlay src/Configuration with - src/Configuration.tmpl:

    - -

    - cp Configuration.tmpl Configuration

    -
  4. - -
  5. -

    The src/Configuration file controls which optional - modules are compiled into Apache.
    - Leave the file as-is if you want to use the default - set of modules.
    - Otherwise edit the src/Configuration file to customize - which modules are used:

    - -
      -
    • Comment out (by preceding the line with a "#") - lines corresponding to those modules you do - not wish to include.
    • - -
    • Uncomment (by removing the initial "#", if - present) lines corresponding to those modules you - wish to include.
      - (The readme-tpf.html - document lists the modules that have been tested on - TPF).
    • - -
    • Add lines for any custom or third party modules - you wish to include.
      - 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://modules.apache.org/. - There are instructions on that page for linking - these modules into the core Apache code.
      -  
    • -
    -
  6. - -
  7. -

    If you would like to use the TCP/IP network services - database add "CFLAGS_CHTA += -DTPF_HAVE_NSD" - to either src/chta.mak or - src/maketpf.cfg. See "Network Services - Database Support" in the - IBM - TPF Product Information Center for details.

    -
  8. - -
  9. -

    Run the "Configure" - script:

    - -

    export TPF=YES; export - TPF64BIT=YES
    - ./Configure

    - - - - +
    -
    +
    +

    Installing the Apache 1.3 HTTP Server on z/TPF

    +
    +[ Download | +MakeTPF Setup | +Compilation | +Installation | +Activation ] +
    +
    + +

    This document outlines the steps needed to install Apache onto an IBM z/TPF +Enterprise Edition V1 R1 system. (There are separate +installation instructions for TPF4.1.)

    + +

    You should first review readme-tpf.html for +basic information on the port of Apache to TPF including a list of supported +modules.

    + +

    The allocated CHTA program name is used throughout these +instructions to refer to Apache. You can use a different program name if you +wish.
    +Likewise the directory structure opensource/apache/src is used for the +Apache source code directory. You can use different directories than +opensource/apache if you wish.

    + +

    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.


    + +
    +

    Download

    +
    + +

    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:

    + +
      +
    1. Download the compressed Apache 1.3 files (the "tarball") from + http://httpd.apache.org/download.cgi + to your PC. The file name on the web site will be + apache_1.3.vv.tar.Z, where "vv" is the + version number. Replaced "vv" throughout these instructions + with the actual version number.

      + +

      TIP:Be sure to keep + the .tar.Z extension when saving the file.

    2. + +
    3. Decompress the tarball on your PC using WinZip or some other PC + decompression tool.

      + +

      TIP:If you are using + WinZip verify that the "TAR File Smart CR/LF Conversion" option + (under Options, Configuration) is not checked.

      + +

      This is what you can expect if you use WinZip:

      + +
        +
      • open the tarball with WinZip (this can usually be done simply by + double-clicking on the downloaded tarball)
      • + +
      • you will be told that the archive contains one file + (apache_1.3.vv.tar) - allow WinZip to decompress it to a + temporary folder
      • + +
      • extract the archived files onto your PC - you'll be using files from + the  conf, htdocs, and icons directories later in + the install phase

      • +
      +
    4. + +
    5. FTP the tarball to your Linux build machine using binary mode:

      + +
        +
      • activate FTP in an MSDOS window:
        +    ftp your.linux.build.machine.com 
      • + +
      • sign in 
      • + +
      • set mode to binary:  binary 
      • + +
      • send the file to your Linux build machine:
        +    send "c:/path/apache_1.3.vv.tar.Z" apache_1.3.vv.tar.Z
      • + +
      • exit FTP:  bye
      • +
      + +

      TIP: Linux file names + are case sensitive.

    6. + +
    7. On your Linux build machine, decompress and extract the archived + files necessary for compiling Apache:

      + +

      tar -xzkf apache_1.3.vv.tar.Z "*/src"

      + +

      Note that the following "src" subdirectories are not used for + Apache on z/TPF and may be removed if desired:

      + +

      lib/expat-lite, lib/sdbm, + regex, and all os subdirectories except for + os/tpf.

    8. + +
    9. Create header files that are automatically generated for other + platforms but are not for z/TPF:

      + +

      cp apache_1.3.vv/src/os/tpf/samples/test_char.txt  apache_1.3.vv/src/main/test_char.h
      + cp apache_1.3.vv/src/os/tpf/samples/uri_delims.txt + apache_1.3.vv/src/main/uri_delims.h

    10. + +

    + +
    +

    MakeTPF Setup

    +
    + +
      +
    1. Move the source code into your desired directory structure for + MakeTPF with the following entries.
      + Replace "foobar" below with your actual directory name:

      + +

      export AROOT="foobar/opensource/apache"
      + mkdir -p $AROOT
      + mv apache_1.3.vv/* $AROOT
      +

    2. + +
    3. CHTA is already in the tpf_app_base.cntl control file. + Adjust any settings if necessary.

    4. + +
    5. Create an environment file for Apache named maketpf.env_apache + using $AROOT/src/os/tpf/samples/sample_env.txt as a guide.
      + Place maketpf.env_apache in the same directory as your other + environment files.

    6. + +
    7. Create a .mak file for Apache named $AROOT/src/chta.mak + using $AROOT/src/os/tpf/samples/sample_mak.txt as a guide
      + Verify that the maketpf_env assignments in chta.mak are + correct for your build environment.

    8. + +
    9. Create a configuration file named $AROOT/src/maketpf.cfg.
      + Ensure that the first assignment of TPF_ROOT in maketpf.cfg + is the absolute path to your "foobar" directory.

    10. + +
    11. Later if you want to include Apache in your full build add + APACHE=YES to the CONFIG macro in your Stage 1 deck.
      + Then reassemble the SIP deck (sip.asm) to update the SIP generated + build files with the APACHE function switch enabled.

    12. + +

    + +
    +

    Compilation

    +
    + +
      +
    1. Switch to the Apache source code subdirectory:

      +

      cd $AROOT/src

    2. + +
    3. Overlay src/Configuration with src/Configuration.tmpl:

      + +

      + cp Configuration.tmpl Configuration

    4. + +
    5. The src/Configuration file controls which optional modules are + compiled into Apache.
      + Leave the file as-is if you want to use the default set of modules.
      + Otherwise edit the src/Configuration file to customize which modules are + used:

      + +
        +
      • Comment out (by preceding the line with a "#") lines corresponding + to those modules you do not wish to include.
      • + +
      • Uncomment (by removing the initial "#", if present) lines corresponding + to those modules you wish to include.
        + (The readme-tpf.html document lists the + modules that have been tested on TPF).
      • + +
      • Add lines for any custom or third party modules you wish to include.
        + 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://modules.apache.org/. + There are instructions on that page for linking these modules into the core Apache code.
        +  
      • +
      +
    6. + +
    7. If you would like to use the TCP/IP network services database add + "CFLAGS_CHTA += -DTPF_HAVE_NSD" to either src/chta.mak or + src/maketpf.cfg. See "Network Services Database Support" in the + IBM TPF Product Information Center + for details.

    8. + +
    9. Run the "Configure" + script:

      + +

      export TPF=YES; export TPF64BIT=YES
      + ./Configure

      + + + - -
       Using config file: Configuration
       Creating Makefile
       + configured for TPF platform
       + setting C compiler to c89
      -+ setting C pre-processor to /usr/bin/cpp 
      ++ setting C pre-processor to /usr/bin/cpp
       + using "tr [a-z] [A-Z]" to uppercase
       + checking for system header files
       + adding selected modules
      @@ -321,251 +234,182 @@ Creating Makefile in ap
       Creating Makefile in main
       Creating Makefile in modules/standard
       $
      -                        
      -
      - -

      This generates modules.c and the apache.modules text - file for use later by MakeTPF.
      - (Other files created by Configure are - not 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 Configure output - are incorrect.)

      - -

      Use the -file option if - you want to maintain multiple configurations:

      - -

      - ./Configure -file Configuration.2nd

      - - - - +
      -
      +
      + +

      This generates modules.c and the apache.modules text file for use later + by MakeTPF.
      + (Other files created by Configure are not 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 + Configure output are incorrect.)

      + +

      Use the -file option if you want to maintain + multiple configurations:

      + +

      ./Configure -file Configuration.2nd

      + + + - -
       Using config file: Configuration.2nd
       Creating Makefile
       + configured for TPF platform
       + setting C compiler to c89
       et cetera
      -                        
      -
        -
    10. - -
    11. -

      Edit src/os/tpf/os.h if you do not want the - scoreboard kept in shared memory.

      - -

      The default behavior for Apache on all platforms - except 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.

      - -

      If for some reason you do not want to use shared - memory for the scoreboard, you must remove - "#define USE_SHMGET_SCOREBOARD" from the - os.h. The change will only take effect after - Apache is (re)compiled.

      -
    12. - -
    13. -

      Compile and link Apache:

      - -

      maketpf chta -f

      - -

      - TIP: - 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 inetd_getServer and/or - inetd_getServerStatus functions from - failing.

      -
    14. -

    - - -
    -

    Installation

    -
    - -
      -
    1. -

      Load and activate Apache on your test system.

      -
    2. - -
    3. -

      Ensure that the program name you are using for - Apache has RESTRICT and KEY0 - authorization:

      - -

      zdpat chta

      - -

      If necessary you can use the zapat entry to - alter the authorization:

      - -

      zapat chta restrict - key0

      -
    4. - -
    5. -

      General documentation for Apache is located at - http://httpd.apache.org/docs/ - and in the HTML pages included with the distribution - (tarball) under the htdocs/manual - directory.

      -
    6. - -
    7. -

      Create the Apache run-time configuration file. The - server requires a configuration file to initialize - itself during activation.
      - 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.

      - -

      You must change every occurrence of - "@@ServerRoot@@" to your document server root - (for example "/usr/local/apache")

      - -

      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:

      - -

      ServerName 127.0.0.1

      -
    8. - -
    9. -

      Be sure your Native Stack communications device is - active on TPF.
      - Refer to the - IBM - TPF Product Information Center for details.

      -
    10. - -
    11. -

      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:

      - -

      /usr/local/apache/conf
      - /usr/local/apache/logs
      - /usr/local/apache/icons
      - /usr/local/apache/htdocs

      - -

      At a minimum you will need these files on TPF:

      - -

      - /usr/local/apache/conf/httpd.conf
      - /usr/local/apache/conf/mime.types
      - /usr/local/apache/htdocs/index.html.en
      - /usr/local/apache/htdocs/apache_pb.gif

      - -

      All gif, jpg, and zip files should be transferred as - binary; the configuration file and html pages should be - transferred as text.

      - -

      Refer to the - IBM - TPF Product Information Center for details on TFTP - and FTP.

      -
    12. - -
    13. -

      The logs directory must exist and be accessible in - order to avoid an fopen error while running - Apache:

      - -

      zfile mkdir - /usr/local/apache/logs
      - zfile chmod 777 - /usr/local/apache/logs

      -
    14. - -
    15. -

      Add Apache to the Internet Daemon's tables using - ZINET entries:

      - -

      - zinet add s-apache pgm-chta model-daemon user-root

      - -

      Refer to the - IBM - TPF Product Information Center for details on the - Internet Daemon and ZINET commands.

      -
    16. - -
    17. -

      Start the server:

      - -

      - zinet start s-apache

      -
    18. - -
    19. -

      Verify Apache was successfully started:

      - -

      zfile cat - /usr/local/apache/logs/error_log

      - -

      The output should be similar to this:

      - - - - - -
      -
      [timestamp] [notice] Apache/1.3.vv (TPF) configured -- resuming normal operations
      -[timestamp] [notice] Accept mutex: tpfcore (Default: tpfcore)
      -
      - -

      If there are severe errors correct the conf file and - restart the server:

      - -

      - zinet stop s-apache
      - correct the httpd.conf file and transfer it to - TPF
      - zfile rm /usr/local/apache/logs/error_log
      - - zinet start s-apache

      -
    20. -
    -
    - - -
    -

    Activation

    -
    - -
      -
    1. Request a page from your browser:

      - -

      - http://xx.xx.xx.xx   (where - xx.xx.xx.xx is your test system IP address)

      -
    2. -
    - -
    - -
    - [ top | Download - [ MakeTPF Setup | - Compilation | - Installation | - Activation ] -
    +
     
  10. + +
  11. Edit src/os/tpf/os.h if you do not want the scoreboard kept + in shared memory.

    + +

    The default behavior for Apache on all platforms except 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.

    + +

    If for some reason you do not want to use shared memory for the + scoreboard, you must remove "#define USE_SHMGET_SCOREBOARD" + from the os.h. The change will only take effect after Apache is + (re)compiled.

  12. + +
  13. Compile and link Apache:

    + +

    maketpf chta -f

    + +

    TIP: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 + inetd_getServer and/or inetd_getServerStatus + functions from failing.

  14. + +

+ +
+

Installation

+
+ +
    +
  1. Load and activate Apache on your test system.

  2. + +
  3. Ensure that the program name you are using for Apache has + RESTRICT and KEY0 authorization:

    + +

    zdpat chta

    + +

    If necessary you can use the zapat entry to alter the + authorization:

    + +

    zapat chta restrict key0

  4. + +
  5. General documentation for Apache is located at + http://httpd.apache.org/docs/ + and in the HTML pages included with the distribution (tarball) under the + htdocs/manual directory.

  6. + +
  7. Create the Apache run-time configuration file. The server requires a + configuration file to initialize + itself during activation.
    + 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.

    + +

    You must change every occurrence of "@@ServerRoot@@" to your + document server root (for example "/usr/local/apache")

    + +

    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:

    + +

    ServerName 127.0.0.1

  8. + +
  9. Be sure your Native Stack communications device is active on TPF.
    + Refer to the + IBM TPF Product Information Center + for details.

  10. + +
  11. 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:

    + +

    /usr/local/apache/conf
    + /usr/local/apache/logs
    + /usr/local/apache/icons
    + /usr/local/apache/htdocs

    + +

    At a minimum you will need these files on TPF:

    + +

    /usr/local/apache/conf/httpd.conf
    + /usr/local/apache/conf/mime.types
    + /usr/local/apache/htdocs/index.html.en
    + /usr/local/apache/htdocs/apache_pb.gif

    + +

    All gif, jpg, and zip files should be transferred as binary; the + configuration file and html pages should be transferred as text.

    + +

    Refer to the + IBM TPF Product Information Center + for details on TFTP and FTP.

  12. + +
  13. The logs directory must exist and be accessible in order to avoid an + fopen error while running Apache:

    + +

    zfile mkdir /usr/local/apache/logs
    + zfile chmod 777 /usr/local/apache/logs

  14. + +
  15. Add Apache to the Internet Daemon's tables using ZINET entries:

    + +

    + zinet add s-apache pgm-chta model-daemon user-root

    +

    Refer to the + IBM TPF Product Information Center + for details on the Internet Daemon and ZINET commands.

  16. + +
  17. Start the server:

    + +

    zinet start s-apache

  18. + +
  19. Verify Apache was successfully started:

    + +

    zfile cat /usr/local/apache/logs/error_log

    + +

    The output should be similar to this:

    + + +
    +[timestamp] [notice] Apache/1.3.vv (TPF) configured -- resuming normal operations
    +[timestamp] [notice] Accept mutex: tpfcore (Default: tpfcore)
    +
    + +

    If there are severe errors correct the conf file and restart the server:

    + +

    zinet stop s-apache
    + correct the httpd.conf file and transfer it to TPF
    + zfile rm /usr/local/apache/logs/error_log
    + zinet start s-apache

  20. +

+ +
+

Activation

+
+ +
    +
  1. Request a page from your browser:

    + +

    + http://xx.xx.xx.xx   (where + xx.xx.xx.xx is your test system IP address)

  2. + +
+ +
+ +
+[ top | Download +[ MakeTPF Setup | +Compilation | +Installation | +Activation ] +
+
diff --git a/htdocs/manual/readme-tpf.html b/htdocs/manual/readme-tpf.html index 5d2d5ac3f70..301650295a5 100644 --- a/htdocs/manual/readme-tpf.html +++ b/htdocs/manual/readme-tpf.html @@ -3,354 +3,365 @@ - - - The Apache TPF Port - -
-

Overview of the Apache TPF Port

-
- [ - Configuration Files - | What's Available | - CGI Scripts | - Options | - Syslog | - Porting Notes ] -
-
+
+

Overview of the Apache TPF Port

+
+[ +Configuration Files +| What's Available +| CGI Scripts +| Options +| Syslog +| Porting Notes ] +
+
+ +

Apache includes changes allowing it to run on IBM's EBCDIC-based +TPF (Transaction +Processing Facility) operating system. This builds on the +EBCDIC changes +previously made to Apache.

+ +

Refer to either the TPF4.1 installation or +z/TPF1.1 installation documents for +step-by-step build instructions.

+ +

If you would like to be notified when new versions of Apache are released +consider joining the +announcements list.


+
+

Apache Configuration Files

+
-

Apache includes changes allowing it to run on IBM's - EBCDIC-based - TPF - (Transaction Processing Facility) operating system. This builds - on the - EBCDIC - changes previously made to Apache.

+

Directives

+

The distributed configuration files (httpd.conf-dist and mime.types, both +located in the conf subdirectory) work on TPF with the following caveats:

-

Refer to either the TPF4.1 - installation or z/TPF1.1 - installation documents for step-by-step build - instructions.

+ -
-

How to Use CGI Scripts

-
+

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

-

The following is a very simple example of a CGI script - ("Hello World") and the necessary steps to run it.
- Refer to the - mod_cgi - module for additional information.

+
-

zfile chmod 755 - /usr/local/apache/cgi-bin/filename.cgi

+
+

How to Use CGI Scripts

+
-

Create, load, and activate the CGI program (QZZ1) on - TPF:

+

The following is a very simple example of a CGI script ("Hello World") and +the necessary steps to run it.
+Refer to the +mod_cgi module +for additional information.

- - -
-
+

Add necessary directives to httpd.conf:

+ +

Example:

+ +

ScriptLog logs/script_log
+ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/

+ +

A request for http://myserver/cgi-bin/filename.cgi +would cause the server to run the script +/usr/local/apache/cgi-bin/filename.cgi

+ +

Create the CGI script:

+ +

For this example QZZ1 is the name of the TPF program that will be +executed by the CGI script.
+The directory path must match what is in the httpd.conf file for +ScriptAlias directive.

+ +

zfile echo "#!QZZ1" > /usr/local/apache/cgi-bin/filename.cgi
+zfile cat /usr/local/apache/cgi-bin/filename.cgi    
+(expected output: #!QZZ1)

+ +

Mark the script as executable:

+ +

+zfile chmod 755 /usr/local/apache/cgi-bin/filename.cgi

+ +

Create, load, and activate the CGI program (QZZ1) on TPF:

+ + - -
 /* QZZ1-- simple "Hello world" program to demonstrate basic CGI output */
 
 #include <stdio.h>
@@ -364,425 +375,361 @@ int main() {
    printf("Content-type: text/html\n\n");
 
    printf("<html>\n");
-   printf("<head><title>CGI Output<title><head>\n");
-   printf("<body>\n");
-   printf("<h1>Hello world.<h1>\n");
+   printf("<head><title>CGI Output</title></head>\n");
    printf("<body>\n");
-   printf("<html>\n");
+   printf("<h1>Hello world.</h1>\n");
+   printf("</body>\n");
+   printf("</html>\n");
 
    exit(0);
 }
-                
-
- -

Request the CGI script from a browser:

+
-

- http://myserver/cgi-bin/filename.cgi

+

Request the CGI script from a browser:

-
-
- +

http://myserver/cgi-bin/filename.cgi

-

How to Use Apache's "Dash" - Options

-
+
+
+

How to Use Apache's "Dash" Options

+
-

Overview of Apache's "dash" options:

+

Overview of Apache's "dash" options:

-

Apache can be invoked with various options, such as "-f". - Some of these options display information about the server or - perform syntax checks but they don't actually start the server. - These "information only" options are useful with TPF's ZFILE - command line feature: -h, -l, -L, -S, -t, -T, -v, and -V.

+

Apache can be invoked with various options, such as "-f". Some of these +options display information about the server or perform syntax checks but they +don't actually start the server. These "information only" options are useful +with TPF's ZFILE command line feature: -h, -l, -L, -S, -t, -T, -v, and -V.

-

Another option, -X, is used when actually running the - server. It is passed to Apache through the ZINET XPARM field - since ZINET is the only way to start the server on TPF.

+

Another option, -X, is used when actually running the server. It is passed +to Apache through the ZINET XPARM field since ZINET is the only way to start +the server on TPF.

-

A third group of options apply to both the informational - displays (ZFILE) and running the server (ZINET XPARM): -d, -D - and -f.

+

A third group of options apply to both the informational displays (ZFILE) +and running the server (ZINET XPARM): -d, -D and -f.

-

The rest of Apache's options are either not applicable or - are not supported on TPF.

+

The rest of Apache's options are either not applicable or are not supported +on TPF.

-

On TPF4.1 using dash options requires PJ27277 which shipped - on PUT13.

+

On TPF4.1 using dash options requires PJ27277 which shipped on PUT13.

-

Table of supported Apache options

+

Table of supported Apache options

- - - +
- Option        
+ + - + - + - - + + - - + + - + - + - - + - - + + - + - + - - + - - + + + + - + - + - + - + - + - + - - + + - - + + - + - + - - + + - - + + - + - + - - + + - - + + - + - + - - + + - - + + - + - + - - + + - - + + - + - + - - + - - + + - + - + - - + + - - + + - + - + - - + + - - + + - + - + - - -
+ Option        ZFILEZFILEZINETZINETDescription
Description
-d path
-d pathZFILEZFILEZINETZINETSet the initial value for the + Set the initial value for the ServerRoot directive.
-D define
-D defineZFILEZFILEZINETZINETSet a configuration parameter which - can be used with <IfDefine>...</IfDefine> - sections in the configuration file to conditionally - skip or process commands.
Set a configuration parameter which can be used with + <IfDefine>...</IfDefine> sections in the configuration file to + conditionally skip or process commands.
-f filename
-f filenameZFILEZFILEZINETZINETUse an alternate configuration file - instead of the default conf/httpd.conf file.Use an alternate configuration file instead of the default + conf/httpd.conf file.
-h-hZFILEZFILE  List a short summary of available - command line options then exit. Note that this outputs - all options, not just those supported on TPF.
List a short summary of available command line options then + exit. Note that this outputs all options, not just those supported on TPF.
-l
-lZFILEZFILE  List modules compiled into the server - then exit.
List modules compiled into the server then exit.
-L
-LZFILEZFILE  List available configuration - directives then exit. Note that this outputs all - configuration directives, not just those supported on - TPF.
List available configuration directives then exit. Note + that this outputs all configuration directives, not just those supported on + TPF.
-S
-SZFILEZFILE  Show the settings as parsed from the - configuration file then exit. Currently Apache only - shows the virtual host settings.
Show the settings as parsed from the configuration file + then exit. Currently Apache only shows the virtual host settings.
-t
-tZFILEZFILE  Run syntax tests for configuration - files with document root checks then exit.
Run syntax tests for configuration files with document root + checks then exit.
-T
-TZFILEZFILE  Run syntax tests for configuration + Run syntax tests for configuration files without document root checks then exit.
-v
-vZFILEZFILE  Show the version number then - exit.
Show the version number then exit.
-V
-VZFILEZFILE  Show the version number and various - compile settings then exit.
Show the version number and various compile settings then + exit.
-X
-X  ZINETZINETRun in single-process mode for - internal debugging purposes only. The parent process - does not tpf_fork any children.
+ Run in single-process mode for internal debugging purposes + only. The parent process does not tpf_fork any children. + + -

See - http://httpd.apache.org/docs/programs/httpd.html - for more information about these command line options.

+

See +http://httpd.apache.org/docs/programs/httpd.html +for more information about these command line options.

-

Setup for ZFILE examples:

+

Setup for ZFILE examples:

-

Ensure Apache (CHTA) is loaded.

+

Ensure Apache (CHTA) is loaded.

-

Create the httpd script:

+

Create the httpd script:

-

zfile echo "#!CHTA" > - /bin/httpd
- zfile cat /bin/httpd  
(expected - output:  #!CHTA)

+

zfile echo "#!CHTA" > /bin/httpd
+zfile cat /bin/httpd  
+(expected output:  #!CHTA)

-

(See "ZFILE-Activate a TPF Segment or - Script" in the - IBM TPF - Information Center for additional information.)

+

(See "ZFILE-Activate a TPF Segment or Script" in the +IBM TPF Information Center +for additional information.)

-

Mark the script as executable:

+

Mark the script as executable:

-

zfile chmod 755 - /bin/httpd

+

zfile chmod 755 /bin/httpd

-

ZFILE example 1:

+

ZFILE example 1:

-

zfile httpd -v

+

zfile httpd -v

- - -
-
-FILE0001I 11.43.09 START OF DISPLAY FROM httpd -v          
+
-        
-    
+FILE0001I 11.43.09 START OF DISPLAY FROM httpd -v
 Server version: Apache/1.3.20 (TPF)
 Server built: May 23 2001 09:39:22
 END OF DISPLAY
-                
-
+
-

ZFILE example 2:

+

ZFILE example 2:

-

zfile httpd -t -f - /usr/local/apache/conf/alt.conf

+

zfile httpd -t -f /usr/local/apache/conf/alt.conf

- - - + +
-
+
+
+   
-        
-    
 FILE0002I 11.47.26 START OF ERROR DISPLAY FROM httpd -t ...
 Syntax OK
 END OF DISPLAY
-                
-
- -

ZINET XPARM example:

- -

This example uses an alternate configuration file called - /usr/local/apache/conf/alt.conf.

- -

Create and transfer your alternate configuration file to - your TPF test system.

- -

Add and start Apache using zinet commands:

- -

zinet add s-apache pgm-chta - model-daemon user-root xparm--f conf/alt.conf
- zinet start s-apache

- -

(See "ZINET ADD-Add an Internet Server Application Entry" - and "ZINET ALTER-Change an Internet Server Application Entry" - in the IBM - TPF Information Center for more information about using the - XPARM field.)

- -
-

Syslog Daemon

-
- -

Syslog overview:

- -

The syslog daemon is a server process that provides a - message logging facility for application and system processes. - It can be used to write messages to log files or to tapes. See - "Operating the Syslog Daemon" in the - IBM TPF - Information Center. And see the Apache ErrorLog - directive - documentation for details on how to use syslog with - Apache.

- -

On TPF4.1 syslog capabilities were added with PJ27214 which - shipped with PUT13. You must follow the - TPF4.1 syslog-specific - installation instructions in order to have the option of - using syslog with Apache on a TPF4.1 system. No additional - installation steps are needed for z/TPF1.1 systems.

- -

Tips on using syslog with your Apache error log:

- -

This section provides some tips on using syslog with Apache. - It is not meant to replace the syslog documentation in the TPF - TCP/IP publication.

- -
    -
  • The syslog daemon will not create files. If you are - logging to a file (as specified in the syslog.conf - configuration file) that file must already exist and have - permissions that allow the syslog daemon to write to - it.
  • - -
  • You must restart the syslog daemon for it to recognize - changes to its syslog.conf configuration - file.
  • - -
  • The syslog daemon must be active prior to starting - Apache.
  • - -
  • To indicate you want to use syslog with your Apache - error log add the following directive to your - httpd.conf file: - "ErrorLog syslog:facility" where - facility is "local0" through "local7".
  • - -
  • Apache will default the facility to "local7" if you - omit the facility name from the ErrorLog directive (that is - "ErrorLog syslog").
  • - -
  • The syslog facility name must be one that is recognized - by both Apache and the syslog.h header file. The facility - names "local0" through "local7" are explicitly set aside - for your use.
  • - -
  • Although "local0" through "local7" are recommended user - facility names, here is the complete list of names - recognized by both Apache and TPF's syslog.h: auth, cron, - daemon, kern, local0, local1, local2, local3, local4, - local5, local6, local7, lpr, mail, news, syslog, user, and - uucp.
  • - -
  • You won't see the normal Apache startup/shutdown - messages when you use syslog with your Apache error - log.
  • - -
  • Syslog does not support TCP/IP Offload devices (ZCLAW; - used only on TPF4.1)
  • -

- - -
-

Porting Notes

-
- -

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

- -
    -
  • -

    Signals: On TPF a signal that is sent to a - process remains unhandled until the process explicitly - requests that signals be handled using the - tpf_process_signals() function. Additionally, - the default action for an alarm on TPF is to take an - OPR-7777 dump and exit. (On UNIX the default is the - equivalent of exit() with no dump taken.) - These differences necessitated a few modifications:

    - -
      -
    • bypass the use of ap_block_alarms() - & ap_unblock_alarms()
    • - -
    • add tpf_process_signals() calls
    • - -
    • add select() calls to prevent - blocking.
    • -
    -
  • - -

  • - -
  • -

    Find that function... Some simple functions - & definitions needed to be added on TPF. They are - in src/os/tpf/os.h.

    -
  • - -
  • -

    EBCDIC changes: TPF-specific conversion - tables between US-ASCII and EBCDIC (character set - IBM-1047 to be exact) were created.

    -
  • - -
  • -

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

    -
  • -
-
- -
- [ top | - Configuration Files - | What's Available | - CGI Scripts | - Options | - Syslog | - Porting Notes ] -
+
+ +

ZINET XPARM example:

+ +

This example uses an alternate configuration file called +/usr/local/apache/conf/alt.conf.

+ +

Create and transfer your alternate configuration file to your TPF test system.

+ +

Add and start Apache using ZINET commands:

+ +

zinet add s-apache pgm-chta +model-daemon user-root xparm--f conf/alt.conf
+zinet start s-apache

+ +

(See "ZINET ADD-Add an Internet Server Application Entry" and "ZINET +ALTER-Change an Internet Server Application Entry" in the +IBM TPF Information Center +for more information about using the XPARM field.)


+ +
+

Syslog Daemon

+
+ +

Syslog overview:

+ +

The syslog daemon is a server process that provides a message logging +facility for application and system processes. It can be used to write +messages to log files or to tapes. See "Operating the Syslog Daemon" in the +IBM TPF Information Center. +And see the Apache ErrorLog +directive documentation +for details on how to use syslog with Apache.

+ +

On TPF4.1 syslog capabilities were added with PJ27214 which shipped with +PUT13. You must follow the +TPF4.1 syslog-specific installation instructions +in order to have the option of using syslog with Apache on a TPF4.1 system. +No additional installation steps are needed for z/TPF1.1 systems.

+ +

Tips on using syslog with your Apache error log:

+ +

This section provides some tips on using syslog with Apache. +It is not meant to replace the syslog documentation in the TPF TCP/IP publication.

+ +
+ +
+

Porting Notes

+
+ +

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

+ + + +
+ +
+ +
+[ top +| Configuration Files +| What's Available +| CGI Scripts +| Options +| Syslog +| Porting Notes ] +
+ +
+