Apache for OS/2
-----------------------------------------------------------------------

The primary motivation for this port is to show that OS/2 is a viable
and powerful server platform and to promote it's use as such. The
secondary reason was to have a free industrial strength HTTP server with
a growing feature set available to OS/2. The Apache Project is strongly
committed to these ideals and was selected as the best server for
porting to OS/2.

Runtime Requirements:
     o OS/2 Version 2.11 or greater. OS/2 Warp Connect suggested for
     best performance.
     o One of the following TCP/IP packages for OS/2. (Listed in order
     of preference.)
          o IBM TCP/IP 3.0 included in OS/2 Warp Connect.
          o IBM TCP/IP 2.0 Base Kit with CSD64092 or greater applied.
          o The Internet Access Kit from OS/2 Warp's Bonus pack.
     o Info-Zip for OS/2 to extract the distribution. Available as
     UNZ512X1.EXE .
     o EMX 0.9b runtime with fix 3. Available as EMXRT.ZIP .
     o An OS/2 HPFS formatted partition for Apache to run from.

Please refer to INSTALL.OS2 for detailed installation procedures.

Recompiling Requirements:
     o SH shell for OS/2. Available many places as KSH522RT.ZIP .
     o GNU SED 2.05 or greater, available many places as GNUSED.ZIP .
     o GNU grep, available many places as GNUGREP.ZIP .
     o EMX 0.9b development system with fix 3.
     o OS/2 port of libufc.lib, Available many places as GNUUFC.ZIP .
     o OS/2 versions of many UNIX file commands available as GNUFU.ZIP .
     o OS/2 port of GNU make. Available many places as GNUMAKE.ZIP .
     o OS/2 port of GNU DBM. Available many places as GNUGDBM.ZIP .

Most of the files need for runtime or development can be found at
ftp://hobbes.nmsu.edu/os2/unix/ or ftp://ftp.leo.org/pub/comp/os/os2/ .

NOTE: Whenever modifications where made to the original original UNIX
source code the unaltered file can be found with .ORIG extension.

WARNING: If you are going to edit "makefile" or "configuration" you must
do it with E otherwise GNU make won't be able to parse it. Most editors
expand tabs to spaces, E won't and GNU make requires tabs in certain
places.


Future Enhancements
     o TGI Interface from Andrea Montefusco . For more details goto
     http://bws.roma.ccr.it/httpd2doc/httpd2in.html .
     o Keep Alive socket connections.
     o Proxy services.

Limitations
     o The XBITHACK is not currently supported under OS/2.

Apache for OS/2 Release Notes

The complete Apache documentation is available on-line at
http://www.apache.org/docs/ .

For details on local testing of Apache for OS/2 refer to the
LOCALTESTING.OS2 .

OS/2 drive letters are supported in Apache's configuration files, but
you must use "/" where you would normally use "\" in pathnames. This is
to maintain maximum compatibility with the base UNIX source code of
Apache. Also be aware that Apache won't know that "c:/" is equivalent to
"/" if c: is the current drive. This is especially important when
specifying options in the access configuration file. Network paths can
also be use in the configuration files as in "//{server}/{device name or
alias}/{path}/", but once again use "/" where you would normally use
"\". Apache for OS/2 (actually EMX) will do the translation.

VirtualHosts are supported through multiple LAN adapters or through a
workaround available in the Apache directory as os2\virtppp.cmd .

If an error about insufficient filehandles occurs add "SET EMXOPT=-hxxx"
to your CONFIG.SYS. "xxx" is any value between 10-254. This will
increase the number of filehandles to the value specified.

The compiled version included with the distribution includes agent log,
referer log, Netscape Cookie and dbm authority modules.

The correct way to stop Apache for OS/2 is to run the TERMINATE.CMD
command located in the os2 directory included in the apache
distribution. If you switch to Apache and press Ctrl-C or Ctrl-Break,
you may not always kill the parent process. The only way to get rid of
Apache then is to shutdown and reboot.

Most CGI Perl scripts available on the Internet will work well with the
OS/2 port of Perl5 and as a result work with Apache for OS/2. The best
way to call them from a CGI is to refer to a CMD file and have that call
PERL5 with the script name and appropriate parameters. For an example of
a CMD cgi script refer to TEST-CGI.CMD in the CGI-BIN directory.

The default directories for OS/2 Apache are the same as OS2HTTPD so it
can be use with an existing OS2HTTPD document structure. However you
will need to use OS/2 Apache conf files. OS2HTTPD conf files don't
include several options REQUIRED by Apache for OS/2.

Some users have reported problems where the error.log file grows
continuously until it takes up all free space. This has been traced to
having an older versions of EMX installed. To determine your version
level run EMXREV from the directory where Apache is installed. Your
results should be higher or equal to:

    EMX : revision = 41
    EMXIO : revision = 40
    EMXLIBC : revision = 40
    EMXLIBCM : revision = 42
    EMXLIBCS : revision = 42
    EMXWRAP : revision = 40
We are very interested in hearing about successes achieved with Apache
for OS/2 as well as failures and problems. So please send suggestions or
comments about Apache for OS/2.

