Apache/iX for HP e3000 MPE

The world's most popular web server meets the world's best OLTP server
Last updated March 2, 2001 @ 2230 UTC
  1. What's New
  2. Welcome
  3. System Requirements
  4. How to Obtain Apache/iX
  5. Distribution Contents Highlights
  6. Bundled Packages
  7. How to Compile Apache and mod_perl
  8. How to Configure Apache
  9. How to Run
  10. Apache for MPE/iX vs. Apache for Unix Implementation Considerations
  11. Known Bugs Under Investigation
  12. To-Do List
  13. Change History


What's New


Welcome

This is the official home page for the HPe3000 MPE/iX port of the Apache web server. Check here for the latest news, implemented functionality, known bugs, to-do list, etc. Status reports about major milestones will also be posted to the HP3000-L mailing list and its associated gatewayed newsgroup comp.sys.hp.mpe.

Please send your comments, questions, and bug reports directly to me, Mark Bixby, by e-mailing to mark@bixby.org. Or just post them to HP3000-L.

The platform I used to do this port is an HP 3000 957 running MPE/iX 6.0 and using the GNU gcc C compiler.

The combined porting wisdom from all of my ports can be found in my MPE/iX Porting Guide.


CAUTION! CAUTION! CAUTION!

Yes, I do work for the HP CSY R&D lab, but ALL of the software you download from bixby.org is my personal freeware that is NOT supported by HP.

Furthermore, versions of Apache that you download from bixby.org will probably be more current than what HP is supporting on MPE, including both the FOS Apache (currently based on Apache 1.3.4, but a 1.3.9 beta is currently available) and the extra-cost HP WebWise MPE/iX Secure Web Server (currently based on Apache 1.3.9) products. The bixby.org version of Apache may have exciting new functionality that does not exist in the HP versions of Apache. If you become addicted to the bixby.org version, you may have trouble moving back to the older HP supported versions.


System Requirements


How to Obtain Apache/iX

  1. Download Apache/iX using either FTP.ARPA.SYS or some other client
  2. Extract the installation script
  3. Edit the installation script
  4. Run the installation script

Download Apache/iX using FTP.ARPA.SYS from your HP e3000 (the preferred method).....

:HELLO MANAGER.SYS
:XEQ FTP.ARPA.SYS
open ftp.bixby.org
anonymous
your@email.address
bytestream
cd /pub/mpe
get apache_1.3.13_dev.tar.Z /tmp/apache.tar.Z;disc=2147483647
exit

.....Or download using some other generic web or ftp client (the alternate method)

Download the following files (make sure that you use "binary mode" or whatever client feature that is 8-bit clean): Upload those files to your HP 3000 in an 8-bit clean bytestream manner to:

Then extract the installation script (after both download methods)

:CHDIR /tmp
:XEQ TAR.HPBIN.SYS 'xvfopz /tmp/apache.tar.Z INSTALL'

Edit the installation script

Examine the accounting structure creation commands and modify if necessary (adding additional capabilities, choosing a non-system volume set, etc).
:XEQ VI.HPBIN.SYS /tmp/INSTALL

Run the installation script

The accounting structure will be created and then all files will be extracted from the archive.
:XEQ SH.HPBIN.SYS /tmp/INSTALL


Distribution Contents Highlights

README
What you're reading now.
INSTALL
The installation script used to unpack the archive.
HTTPD
Ready to run pre-compiled Apache binary.
JHTTPD.sample
:STREAM this job to run Apache.
XLCOMBO
Special NMXL that HTTPD is linked with in order to support Perl scripts running under mod_perl. This is built by the mpebin/makexlcombo script.
XLC, XLCURSES, XLM, XLSOCKET, XLSTR, XLSVIPC
NMXL copies of /lib/libc.sl, /usr/lib/libcurses.sl, /lib/libm.sl, /usr/lib/libsocket.sl, /usr/lib/libstr.sl, /lib/libsvipc.sl. This is required to overcome certain limitations when the HPGETPROCPLABEL() intrinsic is called by programs with CAP=PM. These libraries are copied by the mpebin/makexlcopies script.
bin/
Various Apache support utilities.
cgi-bin/
sample CGI scripts; anything placed in this directory will be executed upon retrieval by Apache
conf/
Run-time Apache configuration files
htdocs/
The HTML Apache documentation.
icons/
The standard Apache icons.
include/
Various C header files required for compiling your own DSOs.
libexec/
Where the DSO NMXLs reside.
logs/
Run-time Apache log files
man/
Various Apache man pages. Do export MANPATH="/APACHEFW/PUB/man:$MANPATH" followed by man cmdname.
mpebin/
Various support scripts used when completely rebuilding Apache from source.
perl/
The equivalent of cgi-bin/ for Perl scripts that you want to run under mod_perl.
proxy/
Where mod_proxy does its caching.
public_html/
Various test files for demonstrating the //your.host/~MGR.APACHEF/ user directory feature. Contains several MPE-specific CGI examples, special server status links, and convenient links for running the mod_perl scripts.
src/apache-1.3-mpe/
The Apache source tree with integrated MPE patches.
src/mod_perl-1.24/
The mod_perl source tree. No modifications were required for MPE.


Bundled Packages

I am now bundling certain key non-core packages with my distribution of Apache/iX. In addition, other MPE porters may provide add-on packages of their own, including but not necessarily limited to:

mod_perl-1.24

Mod_perl brings together the full power of Apache and Perl in a nicely integrated manner. The general idea behind mod_perl is the ability to write full-blown Apache modules using Perl instead of C. One of the specific benefits of mod_perl is that a copy of the Perl interpreter is automatically embedded into each Apache child process. When a Perl CGI script is run, you no longer have the overhead of spawning Perl itself, and what's more, the Perl CGI script is saved in its already interpreted form so that subsequent invocations of the same CGI script begin execution immediately. If you've been disappointed by slow CGI performance in the past, check out mod_perl -- you'll be amazed.

But mod_perl is much more than speedy CGI execution. Please visit //perl.apache.org/ for full details. And mod_perl is not just for geeks -- many large sites are running mod_perl, including PBS and TechWeb.

Mod_perl is preconfigured within conf/httpd.conf.sample to allow the speedy execution of Perl CGI scripts placed into the perl/ subdirectory.

The pieces of mod_perl are actually split between my Apache/iX and Perl/iX distributions. In order to run mod_perl under Apache, you must also install my Perl/iX 5.6.0 June 1, 2000 distribution.

I've tested mod_perl with Apache 1.3.12 and the HP WebWise MPE/iX Secure Web Server A.01.00 (based on Apache 1.3.9). Note that when you attempt to run my pre-compiled mod_perl DSO under WebWise, you will get a warning message at server startup complaining about module version differences. This is because WebWise is built with the EAPI (Enhanced Apache API) whereas the initial release of my mod_perl DSO is not. Non-EAPI DSOs will run on EAPI servers with warnings, but EAPI DSOs will not run at all on non-EAPI servers. A future release of the core Apache package will include the EAPI, and once that happens, so will all of my DSO modules. Therefore these compatibility issues will eventually disappear.

Note also that if you want to run mod_perl with WebWise, you will need to relink HTTPDS to include the same XL* libraries that my HTTPD requires. Please see the scripts in the mpebin/ subdirectory for how to create these libraries and do the relinking.

PHP

A quickie port of PHP as an Apache module is available as a forked disctribution. You can read the original announcement in the HP3000-L archives. PHP is a scripting language that you can embed within your HTML pages in order to do incredible things.
PHP announcement by Bixby
           
found in HP3000-L Archive

PHP & Image announcement by Fethers
   
found in HP3000-L Archives


How to Compile Apache and mod_perl

This section is optional. All software that you download from bixby.org comes with pre-compiled ready-to-run binaries. You don't need to do any compiling yourself unless you are a geek or you think that I might have hidden nasty viruses in my binaries. ;-) I've only used gcc to compile this stuff. While it should be theoretically possible to compile using the HP C/iX compiler instead, I've never personally attempted this.
  1. :HELLO MGR.APACHEFW
  2. :XEQ SH.HPBIN.SYS -L
  3. cd src/apache_xxxxx
  4. Read the INSTALL file for the official instructions
  5. ./configure.mpe
  6. make
  7. make install
  8. cd ../..
  9. mpebin/makexlcombo
  10. mpebin/makexlcopies
  11. mpebin/relinkhttpd
  12. cd src/mod_perl-xxxxx
  13. Read the INSTALL file for the official instructions
  14. ./configure.mpe
  15. make
  16. :HELLO MANAGER.SYS
  17. :XEQ SH.HPBIN.SYS -L
  18. cd /APACHEFW/PUB/src/mod_perl-xxxxx
  19. make install


How to Configure Apache

This section is required. You must copy and customize various configuration files.
  1. :HELLO MGR.APACHEFW
  2. :XEQ SH.HPBIN.SYS -L
  3. cp JHTTPD.sample JHTTPD
  4. Edit the JHTTPD job stream to make any desired customizations. Make sure the TZ variable is set appropriately for your geographic location.
  5. cd conf
  6. cp access.conf.sample access.conf
  7. cp magic.sample magic
  8. cp mime.types.sample mime.types
  9. cp srm.conf.sample srm.conf
  10. cp httpd.conf.sample httpd.conf
  11. Edit httpd.conf and customize as desired. The other configuration files should not need customizing.
  12. chmod 440 *


How to Run Apache

  1. :STREAM JHTTPD.PUB.APACHEFW
  2. Start a web browser and visit the following URLs:
  3. Examine the run-time log files in logs/*.
  4. Stop Apache by kill `cat logs/httpd.pid`. You should only use :ABORTJOB as a last resort!


Apache for MPE/iX vs. Apache for Unix Implementation Considerations

Major functionality issues

Minor functionality issues


Known Bugs Under Investigation


To-Do List


Change History


Top    Bixby    Hosted by 3kRanger.com    email 3kRanger    Updated