Apache 1.1.3 for OS/2
-----------------------------------------------------------------------
First off I would like to thank Gary Smiley for bringing Apache to OS/2.

This port of Apache was compiled using EMX09c under OS/2 Warp v4.  Everything is supported in this version.  HPFS *IS* required as in the previous version(s).  If you decide to upgrade your previous version of the EMX runtime, I *STRONGLY* suggest uninstalling the older version before installing EMX09c.  I plan to keep the same format that Gary Smiley did for compatibility reasons.

Document caching has been optimized for speed in this version.

The original port of Apache was don by Gary Smiley <garey@slink.com>.  It turns out that
there was serious bug in version 1.1.1b so I went to work on this one.  The cookies bug in 
1.1.1b caused a security breach in which a carefully designed HTML could gain access to the 
server host machine's file system.  That bug is now squashed.  The bug occurred in The Apache Group's original distribution, it had nothing to do with Gary Smiley's port.  The rest of this documentation is basically Garey Smiley's documentation.  Have fun and enjoy the power of Apache!

Runtime Requirements:
     o OS/2 Version 2.11 or greater. OS/2 Warp 4 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.9c runtime. 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.

