Compilation of the daemon for VMS requires taking the library and Daemon source files from the unix release, copying them all onto the VMS system, compiling them all. The object files from the Library should go into a libwww.olb file. The object files from the Daemon should be linked together and with the libwww.olb library.
But check out what Mark Donszelmann has done.
When compiling the sources, you must use a compiler flag to specify whether you have Multinet, UCX or Wollongong TCP/IP. (cf rebuilding the line mode browser ). The flags should be one of:
/DEF=MULTINET /DEF=WIN_TCP /DEF=UCX
The daemon works with document names which look like unix-style filenames. At the point of reading a file, these are converted into VMS style filenames.
You run it as an ordinary user on a port over 1024 from a terminal window.
httpd == $sys$disk:[my.directory]httpd.exe httpd -p 8000 -v "/sys$disk/my/public"Note that the directory to be exported is given in unix style. Don't panic. Watch the trace (enabled by the -v option) . The server should end up waiting for a message.
From another terminal window, you test the server, giving the internet node name of your machine in place if mynode.dom.ain and the same port number. We assume you have the lin mode browser installed. You could test it with a GUI browser, but the trace might be more difficult to find.
www -v "http://mynode.dom.ain:8000/welcome.html"You should now get your welcome page displayed on the terminal. theer will be a lot of trace as well which may make it almost unreadable, but if it works of course you run both server and/or client next time without the -v.
If you don't have an Inet daemon, then you have to run the daemon as a detached process. To do this you have to add something to one of the many VMS boot startup files like SYSTARTUP.COMor some such. You need to be the system manager to do this, and if you are, you probably know where you personally like to put these things. The command line should be as in the example when you tested it, except the port should be 80 (not 8000), and there should be no trace requested.
In practice it seems that under VMS you always have to start a DCL environment to run a server, because if you just detach HTTPD you can't pass it any parameters. So you use the usual trick of running loginout.exe to create a DCL environment:
$RUN/DETACH/IN=SYS$EXE:HTTPD.COM/OUT=SYS$TEMP:HTTPD.LOG - SYS$SYSTEM:LOGINOUT.EXEwhere HTTPD.COM is
$ httpd == $sys$disk:[my.directory]httpd.exe $ httpd -p 80 "/sys$disk/my/public"Check that out and tell me if it doesn't work... httpd@info.cern.ch