Server Configuration Keywords


 

The PL/BWeb Server program information file (PLBWEBSRV.INI) file contains information that allows the user to tailor the runtime.

 

The .ini file name processing occurs as follows:

  1. The runtime qualifies and uses an INI file when the file contains any section header. A section header is an INI file record that starts with '[' and is terminated with a ']'.

  2. The runtime looks for and uses an INI filename found in three possible directories. The runtime always processes the INI files in the same order giving the user the ability to override globally defined parameters. The file name searching is as follows:

  3. First, the runtime looks for an INI filename in the current working directory. This allows someone doing very specific and local program execution using keyword controls that override default keyword controls specified in (b) or (c) below.

    Second, the runtime looks for an INI filename in the current user Windows directory. If the INI filename is found, it becomes the local keyword controls for the runtime. This allows someone to define workstation INI file controls. The local INI file controls can override (c) below.

    Third, the runtime looks for an INI filename in the directory where PLBWEBSRV.EXE is found. If the INI filename is found, it becomes the global (default) keyword controls for the runtime.

  4. If the PLB Web Server is started without specifying an alternate INI file name on the command line, the server looks for the default INI file named 'PLBWEBSRV.INI' in the three possible areas. Any PLBWEBSRV.INI files found in the three directories are then used to locate requested INI file keywords in the order as described in (B).

  5. If the PL/B Web server is started by a command line that specifies an alternate INI file name that does not include a path, the server looks for the alternate INI file name in the three possible directories defined in (B) above. The server only processes the user named INI file from the three directories defined in (b.) above. In this case, the 'PLBWEBSRV.INI' is NOT used.

  6. If the PL/B Web server is started by a command line that specifies an alternate INI file name that includes path, the server looks for and uses the single specified INI file if found. This case disables the server from processing multiple INI files as described in (B) above.

 

Keywords with an associated value are placed in sections. The sections are indicated by surrounding the section name with square brackets. The [version] and [environment] sections are required and at a minimum should contain the following keywords and values:

 

[version]

plbwebsrv=10.7

 

[environment]

PLB_PATH=regular pathing information

 

PLBWEB_PORTNUM=2100

PLBWEB_LOGNAME=PLBWEBSRV.log

PLBWEB_HOSTNAME=aaa.bbb.ccc.ddd

PLBWEB_LOCALIP=aaa.bbb.ccc.ddd

 

PLBWEB_ADDRESS=aaa.bbb.ccc.ddd:8081

PLBWEB_ROOT=c:\Sunbelt\Plbwebsrv.97\http_root

 

PLBWEB_MENU=master.plc

PLBWEB_ERROR=master.plc

 

Within the [environment] section, the user may specify additional runtime keywords as documented in the PLBWIN Runtime Keywords topic of the PL/B Runtime Reference. Additional keywords of interest to PL/B Web Server users are the following:

 

Keyword

Specifies the ...

PLB_<keyword>

A PL/B runtime keyword. See the Sunbelt PL/B Runtime Reference for a full list of keywords.

PLBWEB_ACCEPT_MAX

optional the maximum number of concurrent SSL accept logons.

PLBWEB_ACCEPT_TIMEOUT

the seconds to wait when an SSL logon accept connection is being made.

PLBWEB_ADDRESS

optionally restricts information returned to the browser.

PLBWEB_ADDRESS6

optionally restricts information returned to the browser using an ipv6 address.

PLBWEB_ANDROID_NEXT_FIX

PWS server behavior when processing unexpected focus events for the Android NEXT button.

PLBWEB_ANONYMOUS

server does not put the server name in the HTTP header for responses.

PLBWEB_APP_CSS

Sunbelt Web applications should download and apply the current CSS styles from a PL/B Web Server to a PL/B Web App client.

PLBWEB_APP_IMAGE_SSL_URL

optional PICTURE or ICON when running under a Cordova application client.

PLBWEB_APP_IMAGE_URL

optional PICTURE or ICON when running under a Cordova application client.

PLBWEB_APP_SUPPORT

disable support of App clients.

PLBWEB_APSPOOL

optional PRINT and SPLOPEN control directives.

PLBWEB_AUTH

optional authorization number.

PLBWEB_AUTH_TEMP

optional temporary authorization number.

PLBWEB_BLACKLIST_FILE

file used to pre-load the blacklist IP addresses used for non-SSL IP filtering.

PLBWEB_BLACKLIST_REPORT

file used to output the current non-SSL blacklist IP addresses.

PLBWEB_CGI_ERRLEVEL

error details to be incuded in a HTTP 500 error response

PLBWEB_CGI_INFODIR

PL/B Web Server ability to capture CGI (Common Gateway Interface) data.

PLBWEB_CGI_KEEP

temporary cgi work files should not be automatically deleted.

PLBWEB_CGI_TIMEOUT

elapse time the REST PWS child thread waits for a response.

PLBWEB_DEFAULT

default PLB program name to be executed when a client connects.

PLBWEB_DEFAULTCWD

optional default current working directory.

PLBWEB_ERROR

optional error behavior value.

PLB_ERRLOCKTIMEOUT

optional error locking timeout value.

PLB_EXTRA_HDRS

optionally includes additional information in response headers..

PLB_EXTRACT_IMAGES

optional image extraction behavior.

PLBWEB_HOSTNAME

required host name or IP address.

PLBWEB_HOSTNAME6

required host name or IP address.

PLBWEB_HTTPTASK_DEBUG

Enables the collection of extended debug data.

PLBWEB_IDLETERM

optional idle termination Web page invoked at the next child UI interaction after the idle child task is terminated.

PLBWEB_IDLE_MAX_TIMEOUT

optional timeout before an idle task is terminated.

PLBWEB_IDLE_TIMEOUT

optional timeout before a task is determined to be idle.

PLBWEB_IMAGES

directory for extracted images.

PLBWEB_HTTP_ERROR_URL

control error dialog information.

PLBWEB_HTTP_PROGERR_INFO

control error dialog information.

PLBWEB_IPFILE

IP filter for client connections.

PLBWEB_LINGER

optional seconds that an OS socket close operation lingers if unsent data is present.

PLBWEB_LOCALIP

optional local IP address.

PLBWEB_LOGNAME

optional server log file name.

PLBWEB_LOG_HTTP

optional server logging values.

PLBWEB_LOG_RECSIZE

optional key used to define the maximum log file record length.

PLBWEB_LOG_RECVAR

optional key used to enable variable length log records.

PLBWEB_LOGMAX

optional maximum log file size.

PLBWEB_MAXPROGVMEM

optional keyword that limits the client virtual memory size.

PLBWEB_MAX_TASKS

optional keyword that limits the number of simultaneous PL/B Web Client users.

PLBWEB_MENU

optional program termination behavior value.

PLBWEB_MSG_TIMEOUT

Defines how long to wait for a program to reconnect.

PLBWEB_MSGBUFFER

optional message buffering behavior.

PLBWEB_MSGBUFFSIZE

optional message buffer size.

PLBWEB_MSGCOMPRESS

the PWS server 'Deflate Compression' support.

PLBWEB_NOCLIENT

optional checkpoint monitoring function.

PLBWEB_NUMBERTYPE

use original behavior for EDITTEXT ( numeric type) and EDITNUMBER objects.

PLBWEB_PORTNUM

required IP port number to use.

PLBWEB_PROGDD

default PLB program name to be executed when a PL/B Web client connects.

PLBWEB_PROGRAM_ROOT

optional root directory for non-SSL urls.

PLBWEB_PUBLIC

optional key used to encrypt messages to and from all PL/B Web Client workstations.

PLBWEB_ROOT

the {OsPath} directory where the PL/B Web Server control sub-directories must exist.

PLBWEB_SAVETOCLIENT

the directory to which Save As client operations are performed.

PLBWEB_SUSPEND_MAX_TIMEOUT

optional maximum time that a suspended child can exist before being terminated.

PLBWEB_TERMTIME

optional number of seconds to wait during a server shutdown before clients are forced off.

PLBWEB_TOPDOWN

assignment of virtual memory.

PLBWEB_USE_UI99A

enable 99a jquery-ui support.

PLBWEB_USE_WEBVIEW

enables the BootStrap 5 framework.

PLBWEB_USEINI_DEFAULT

turns on PLB_xxx language keyword settings declared in an '.ini' file.

PLBWEB_USER_CSS

define the user CSS directory.

PLBWEB_UPLOADS

define the file upload directory.

PLBWEB_VDATALIST

controls the type of datalist created by the browser.

PLBWEB_VDATALIST SORTED

controls the sorting a datalist.

PLBWEB_WINHIDE

optional main window of the client is to be hidden.

Administrative Access Keywords

Keyword

Specifies the ...

ADMIN_DATACLR

optional data items kept by the administrative task.

ADMIN_DATASET

optional data items kept by the administrative task.

ADMIN_HOSTNAME

optional administrative task host name.

ADMIN_HOSTNAME6

optional administrative task host name in ipv6 format.

ADMIN_IPFILE

optional administrative task IP filtering file name.

ADMIN_KEYFILE

optional administrative task logon key file name.

ADMIN_LOCALACCESS

ability of an ADMLOGON instruction to logon to the administrative server task using the 'local' I/P address.

ADMIN_LOGCHILD

optional administrative task logging of a child task.

ADMIN_LOGLEVEL

optional administrative task logging level of a child task.

ADMIN_LOGON

optional administrative task logon encryption key.

ADMIN_MAIL

Enable or disable administrative emails

ADMIN_MAIL_BCC

Defines the blind carbon copy recipients of the administrative email.

ADMIN_MAIL_CC

Defines the carbon copy recipients of the administrative email.

ADMIN_MAIL_DSNRECEIPT

Provides delivery confirmation of the administrative emails.

ADMIN_MAIL_FCGIERRORS

server send an email when the Web Server encounters a FCGI error that causes either a PHP or REST task to be locked using a specified port number.

ADMIN_MAIL_FROM

Defines the administrative email sender

ADMIN_MAIL_MAXUSERS

Triggers an email when the maximum users has been reached.

ADMIN_MAIL_MDNRECEIPT

Reports receipt of the administrative emails.

ADMIN_MAIL_OUT

Defines the administrative email outgoing mail server

ADMIN_MAIL_PASSWORD

Configures the user password for the email server

ADMIN_MAIL_PORT

Defines the port for the email server.

ADMIN_MAIL_REPLYTO

Defines the administrative email Reply To address

ADMIN_MAIL_RETURN

Defines the administrative email return address.

ADMIN_MAIL_SHUTDOWN

Sends an email when theWeb Server has been stopped.

ADMIN_MAIL_SSL

Enables SSL for the email server.

ADMIN_MAIL_STARTTLS

Enables TLS for the email server.

ADMIN_MAIL_STARTUP

Sends an email when theWeb Server has been started.

ADMIN_MAIL_SUBJECT

Defines the subject of the administrative emails.

ADMIN_MAIL_TIMEOUT

Defines a timeout value when communicating with the email server.

ADMIN_MAIL_TO

Configures the administrative email receipients

ADMIN_MAIL_TRACE

Provides debug tracing via email.

ADMIN_MAIL_TRACEAPPEND

Provides debug tracing via email.

ADMIN_MAIL_USER

Configure the user login for the email server.

ADMIN_MAINLOGIN

ability to log in to the administrative services of the server via the PLBWEB_PORTNUM port.

ADMIN_PORTNUM

optional administrative task port number.

ADMIN_PUBLIC

optional administrative task public encryption key.

ADMIN_SHELLICON

optional display in the Windows taskbar icon area.

ADMIN_SRVNAME

optional descriptive server name string.

ADMIN_SUPPORT

optional administrative task control value.

REST Access Keywords

Keyword

Specifies the ...

PLBWEB_REST_AUTH_REALM

the basic authentication identifying the web client user.

PLBWEB_REST_BASEURL

the base URL used by a web application to access the PL/B REST web service.

PLBWEB_REST_CMDLINE

the command line to be formatted and executed by the PWS when a PL/B REST service is found in a client browser URL.

PLBWEB_REST_MAXCOUNT

the maximum number of active REST tasks.

PLBWEB_REST_PORTNUM

the starting port number for the REST FastCGI interface.

PLBWEB_REST_SSL

the type of protocol available when accessing the PWS REST service.

PLBWEB_REST_USE_ENV

the REST parameter passing.

PLBWEB_REST_USE_FCGI

the REST task interface.

SSL Access Keywords

Keyword

Specifies the ...

PLBWEB_SSL_ACCEPT_MAX

maximum number of concurrent SSL accept logons.

PLBWEB_SSL_ACCEPT_TIMEOUT

elapsed time out given in seconds to wait when an SSL logon accept connection is being made.

PLBWEB_SSL_ADDRESS

optional Secure Sockets Layer (SSL) support.

PLBWEB_SSL_BLACKLIST_FILE

file used to pre-load the blacklist IP addresses used for SSL IP filtering.

PLBWEB_SSL_BLACKLIST_REPORT

file used to output the current SSL blacklist IP addresses.

PLBWEB_SSL_CERTFILE

optional SSL certificate specification.

PLBWEB_SSL_CHAINCERT

optional SSL certificate chaining.

PLBWEB_SSL_DEFAULT

optional default PLB program name to be executed when a client connects using SSL.

PLBWEB_SSL_ERROR_URL

control error dialog information.

PLBWEB_SSL_KEYFILE

optional SSL certificate key specification.

PLBWEB_SSL_LOCKOUT_MAX

maximum number of SSL IP logon accept timeout events that can occur before a specific IP address is added to the SSL blacklist.

PLBWEB_SSL_PROGERR_INFO

control error dialog information.

PLBWEB_SSL_PROGRAM_ROOT

root directory for SSL urls.

PLBWEB_SSL_PROTOCOL

minimum SSL protocol version.

PLBWEB_SSL_ROOT

optional {OsPath} directory where the PL/B Web Server control SSL sub-directories must exist.

PLBWEB_SSL_SELFSIGNED

use a self-signed SSL certificate.

PLBWEB_SSL_SETCHIPHER

specify the SSL cipher.

PLBWEB_SSL_SHUTDOWN

specify a special shutodwn behavior.

PLBWEB_SSL_VERSION

specify the version of SSL libraries to use.

PLBWEB_SSL_1_1_USED

loads SSL 1.1 libraries.

PHP Access Keywords

Keyword

Specifies the ...

PLBWEB_PHP_LOCATION

path to the PHP software.

PLBWEB_PHP_MAXCOUNT

the maximum number of active PHP tasks.

PLBWEB_PHP_PORTNUM

the port number for the PHP FastCGI interface.

PLBWEB_PHP_SSL

the type of protocol available

PLBWEB_PHP_USE_FCGI

enable use of Fast CGI.

FTP Keywords

Keyword

Specifies the ...

PLBFTP_ADDRESS

listening port for FTP clients connecting to the server.

PLBFTP_ALLOW_ANON

requirment for the anonymous user's password.

PLBFTP_IDLE_TIMEOUT

number of mnutes a session can remain inactive.

PLBFTP_LNGER

the number of seconds that an OS socket close operation lingers if unsent data is present.

PLBFTP_LOG_FTP

ftp logging values.

PLBFTP_PASV_PORT

base port number for passive connections.

PLBFTP_ROOT

directory that is the default virtual root directory used for FTP operations.

PLBFTP_SESSION_MAX

maximum number of FTP child threads.

PLBFTP_SSL_ONLY

AUTH command is required for SSL.

PLBFTP_SSL_IMPLICIT

required use of an SSL connection.

PLBFTP_SSL_1_1_USED

use of OpenSSL 1.1.x is required

PLBFTP_SSL_BLACKLIST_FILE

FTP SSL blacklist file.

PLBFTP_SSL_CERTFILE

name of the SSL certificate file.

PLBFTP_SSL_CHAINCERT

use of a certificate chain file.

PLBFTP_SSL_KEYFILE

file name containing SSL certificate key(s)

PLBFTP_SSL_PROTOCOL

SSL protocol version.

PLBFTP_SSL_SELFSIGNED

use of self-signed certificates.

PLBFTP_SSL_SETCIPHER

SSL cipher for SSL FTP connections.

PLBFTP_SSL_VERSION

SSL versionr for SSL FTP connections.

PLBFTP_USER_{username}

user name, password, permissions, and optional path for accessing the PWS FTP Server.

 

To allow simultaneous support of normal Windows and CE Windows clients, the PLBWEBSRV.INI may have specialized sections named to support CE and non-CE clients. The PLBWEBSRV.INI sections can be named as follows:

 

[environment]

This section contains the basic startup keywords required to specify the TCP/IP communication parameters to access the PL/B program server. This section also includes the required runtime keywords required (PLB_TERM, PLB_PATH, etc) to execute a program for a normal Windows PL/B Web Client.

 

[mapdrives]

This section contains the mapped drive assignments. The PLBWEBSRV runtime uses the mapped drive settings to redirect either network drives or local DOS drives.

 

Format:

 

{drv}:=[~]{redir}[,{username},{password}]

 

Where:

{drv}
Drive device letter ( a to z ) inclusive.
{redir}
Drive device redirection string. This string can be a UNC path or a DOS drive path.
[~]
Optional character before the {redir} string to prevent removal of the {drv}.
{username}
Optional user name that may be required to access a network share.
{password}
The password is required when the user name is specified. It accesses a network share.

Notes:

1.   When the {redir} string starts with the '\' character, it identifies a network UNC path name. In this case, the {drv} is redirected as a network drive. If the {drv} already exists, the mapped drive redirection does not occur and no changes are made.

2.   When the {redir} string is a DOS drive path string, the mapped drive redirection is executed as a local DOS drive device. If the {drv} already exists, the mapped drive redirection does not occur and no changes are made. The local DOS drive substitution is not supported for the Windows 95, 98, and ME OS versions. The mapped drives are ignored for these Windows versions.

3.   The mapped drives redirection support can declare drive specifications when an NT service is started. This is the original intended use for mapped drives.

4.   By default, the runtime removes the {drv} mapped drive when the runtime process is terminated. If the '~' character is specified as the leading character before the {redir} string, the runtime does not remove the {drv} when the runtime process is terminated.

5.   The {username} and {password} exist as raw text strings. Care should be taken to protect the ini file from unauthorized access since the user name and password are stored in plane text. Limited access to anWeb Server or Data Manager should be considered when the {username} and {password} parameters are used.

6.   When the Web Server starts and terminates, the mapped drives are logged.

Example:

 

[mapdrives]

f:=c:\temp

g:=\\server\sharename\directory

h:=~c:\sunbelt

i:=~\\server\sharename\directory

j:=\\server\sharename\directory;myname;mypassword

 

 

See Also: Clients



PL/B Web Server PLBWEBSRV