In order to use the HTTP server, the PMDF Service Dispatcher must be
configured to handle this HTTP service, the PMDF HTTP server itself
must be configured, and access to the HTTP server must be enabled. The
PMDF Service Dispatcher command line configuration utility, PMDF
CONFIGURE DISPATCHER (OpenVMS) or pmdf configure
dispatcher
(UNIX), or the PMDF web-based configuration utility,
will configure the Dispatcher to handle the HTTP service and will
generate a minimal HTTP server configuration file; see the appropriate
edition of the PMDF Installation Guide for a description and example.
Innosoft recommends that the web-based PMDF configuration utility
or the Dispatcher command line configuration utility be used to create
the HTTP service definition and configuration file.
Samples of the default HTTP service definition in the Dispatcher configuration file, as created by the Dispatcher configuration utility, may be seen in Example 12-1 , Example 12-2 , and Example 12-3 ; a sample of the minimal HTTP server configuration file as created by the Dispatcher configuration utility may be seen in Example 12-4 .
Note that the HTTP server listens on port 7633 by default, or may be
configured to listen on a different port in the PMDF Service Dispatcher
configuration file, dispatcher.cnf
, located in the PMDF
table directory.
The HTTP server configuration file, http.cnf
, is located
in the PMDF table directory (hence usually
PMDF_TABLE:http.cnf
on OpenVMS or
/pmdf/table/http.cnf
on UNIX, or
C:\pmdf\table\http.cnf
on NT). In order for the HTTP
server to run properly, this configuration file needs to exist and
include entries telling the HTTP server how to handle the various PMDF
specific web pages and CGIs, as shown in Example 12-4 .
Example 12-1 Sample HTTP service definition for OpenVMS
! ! HTTP server ! [SERVICE=HTTP] PORT=7633 IMAGE=PMDF_EXE:HTTP_SERVER.EXE LOGFILE=PMDF_LOG:HTTP_SERVER.LOG
Example 12-2 Sample HTTP service definition for UNIX
! ! HTTP server ! [SERVICE=HTTP] PORT=7633 IMAGE=/pmdf/bin/http_server LOGFILE=/pmdf/log/http_server.log
Example 12-3 Sample HTTP service definition for NT
! ! HTTP server ! [SERVICE=HTTP] PORT=7633 IMAGE=C:\pmdf\bin\http_server LOGFILE=C:\pmdf\log\http_server.log
Example 12-4 Samplehttp.cnf
file
METHODS=GET,POST,HEAD ! [PATH=/dispatcher/] GET=PMDF_HTTP_DISPATCHER ! [PATH=/doc/] GET=PMDF_HTTP_GET ! [PATH=/monitor/] GET=PMDF_MONITOR_CGI POST=PMDF_MONITOR_CGI ! [PATH=/qm/] GET=PMDF_QM_CGI POST=PMDF_QM_CGI ! [PATH=/mailbox_filters/] GET=PMDF_MAILBOX_FILTERS_CGI POST=PMDF_MAILBOX_FILTERS_CGI ! [PATH=/configure/] GET=PMDF_CONFIG_CGI POST=PMDF_CONFIG_CGI ! [PATH=/popstore_pwd/] get=PMDF_POPSTORE_PWD_CGI post=PMDF_POPSTORE_PWD_CGI ! ! include the popstore cgi interface by uncommenting the next line !<PMDF_TABLE:HTTP_POPSTORE.CNF ! ! Include the MessageStore CGI interface by uncommenting the next 3 lines ![path=/msgstore/] !GET=PMDF_MSGSTORE_CGI !POST=PMDF_MSGSTORE_CGI !
There are some additional options that may be specified in the HTTP server configuration file:
ALLOW_ROBOTS (integer)
By default, the HTTP server prevents robots from trawling through the HTTP server tree. ALLOW_ROBOTS controls the fetching of the file/robots.txt
. ALLOW_ROBOTS=0 (the default) will send back a response that should prevent robots from trawling through the HTTP server directory tree, while ALLOW_ROBOTS=1 will send back a permissive response.DEBUG (0 or 1)
The DEBUG may be set to 1 to enable debugging of HTTP server activity.
Caution:
Since entire transactions are logged, this means that if users use the popstore/MessageStore password changing CGI or set their mailbox filters, then the user's entire transaction including their password will be written to the debugging file.
LOGGING (0 or 1)
The LOGGING option may be used to cause PMDF to write out a single log line showed successful and failed HTTP requests. Setting LOGGING=1 enables the logging; LOGGING=0, the default, disables it.
Caution:
Since entire transactions are logged, this means that if users use the popstore/MessageStore password changing CGI or set their mailbox filters, then the user's entire transaction including their password will be written to the log file.