ODBC4x
Server Settings for UNIX/Linux Server Configuration
  There is no configuration interface for the ProvideX IO Server installed on a UNIX/Linux system. Instead, the server behaviour is controlled via command line arguments and a plain text configuration file (pvxiosvr.conf). For a description of ProvideX UNIX/Linux ODBC Server components and file locations, see ODBC Server Installation (UNIX/Linux).
   
Running the Server Run the server from the command line using the following syntax:

dir/pvxiosvr [-f configfile] [-p tcpport]

Where:

dir Drectory path; e.g., /usr/pvxiosvr.
[-f configfile Path and file name of the ODBC Server configuration file. If no configuration file is located, the server will not start and an error message will be displayed or printed to the log file (if debug is enabled). See Configuration File.

If this option is not specified, the server defaults to

./pvxiosvr.conf , followed by
/usr/pvxiosvr/pvxiosvr.conf, then
/usr/pvxodbc/pvxodbc.conf.

-p tcpport TCP/IP port number the server is to listen on. This overrides the port number specified in the pvxiosvr.conf file.
   
Other Server Arguments The following arguments can also be used with the ProvideX IO Server executable (pvxiosvr) at the command line:
-h or --help Display a message listing the available command line options with brief descriptions.
-v or --version Display the server version information; e.g.,

ProvideX IO Server Ver: 4.00.2000 For: RedHat 7.2
Copyright (c) 2004 Best Software Canada Ltd.

-d or --debug Enable output to the debug log file pvxiosvr.log
-s or --shutdown Server shutdown. See Shutting Down the Server.
   
Shutting Down the Server The ProvideX IO Server records the process ID (pid) of the server in the pvxiosvr.pid file to assist in shutting down the server;

For Example:

pvxiosvr -s or
pvxiosvr --shutdown

Provided the server can locate the pvxiosvr.pidfile, the running server will be shut down properly; otherwise, an error message will be displayed on standard out. Alternately, the server can be shutdown using a SIGHUP signal; i.e.,

kill -1 pid

Where pid is the process ID of the ProvideX IO Server, pvxiosvr.

   
Configuration File The UNIX/Linux version of the IO Server must have access to the pvxiosvr.conf file to be configured for use. If this file cannot be located, the IO Server will attempt to automatically create one based on the pvxiosvr.conf.sample file provided with the installation taz file. If neither of these files can be accessed, then an error is reported. If the activation key is invalid, the server will operate in Demo mode. If the port number is invalid, it will default to 20222.

The server checks for three entries in the pvxiosvr.conf file:

TCP/IP Port Number port=20222

TCP Port number that the server will listen on. The default value is 20222.

Activation Information Activation information for running this software. Enter your activation information as follows:

serial=xxxxx-y-zzzzzzzzzzzzzzzz

Where:
xxxxx Serial number.
y User count.
zzzzzzzzzzzzzzzz Activation key.

To run the IO Server in demo mode, leave the serial= blank. When installing ODBC as part of an eCommerce or Professional licence, use your temporary key to activate the server. Permanent keys that are generated for bundled activations do not apply to ODBC components.

For licensing information, refer to the ProvideX Installation and Configuration Guide.

File Access Security Policies Security as in:

*/*=[a][r][*][*]

Customizable security for users and files.

The server initially defaults to "no access". Security rules must be established to provide access to the data. The security syntax and permissions sequence are described under Permissions below.

The above settings, which appear in the sample configuration file, grant users almost unrestricted read access to the server’ data sources. (An asterisk * indicates any.) Therefore, for security reasons, you should reset these parameters based on your own business rules prior to operating the server in a live environment.

 

   
Permissions The server configuration file allows customizable security for users and files. Security entries are case-insensitive except where noted. All the non-alpha characters, “/=[]”, are part of the security syntax. The format of a security policy appears as follows:

user id/company code=[mode][type][data dictionary][ini file]

Where:

user id Specific user ID supplied by the client driver. An asterisk * signifies all user IDs.

Spaces are significant. “John /”and “John/” are considered two different entries.

company code Specific company code supplied by the client driver. An asterisk * signifies all company codes.

Spaces are significant. “/ ABC”and “/ABC” are considered two different entries.

mode Either A for access or D for denied. If in denied mode, the administrator can temporarily deny access without removing the policy entry.
type Either R for read-only or RW for read-write
data dictionary A comma or semi-colon separated list of paths to the providex.ddf files that the client’ DSN will have access to. An asterisk * signifies that any Data Dictionary path is valid. This entry is case-sensitive.
ini file Comma or semi-colon separated list of paths and file names of INI files that the clients DSN will have access to. An asterisk * signifies any INI file path and file name. This entry is case-sensitive.
 
The ProvideX IO Server checks access permissions by searching the permission rules from the maximum restriction to the lowest one. It is a method to grant access to specific directories on the server based on a client's User ID and Company Code.

If the check for a specific User ID and Company Code fails, then the User ID is substituted with * (any) and the combination for User ID = any with Company Code = specific is checked against the corresponding rule if it is present on the system. The next check is performed for User ID = specific, Company Code = any, and the last check is for User ID = any, Company Code = any. Refer to the following table:

Sequence User ID Company Code  
1. Specific Specific Highest Restriction
2. Any Specific  
3. Specific Any  
4. Any Any Lowest Restriction
   
  By default, access to all ODBC resources is denied, unless access is granted via a security policy configuration line.


*Note* Access policies are currently kept only by User ID/Company Code, which means that each User ID/Company Code may only have one policy entry. It is not currently possible to specify that a specific User ID/Company Code has read access to one set of entries, and read-write access to a different set of entries.


  Sample Configuration Entries

serial=12345-6-123456789ABCDEF0
port=20000

security:
*/*=[a][r][*][*]
John/ABC=[D][RW][/pvxdata;/pvx/mydata][/nomtrain/test.ini]

   
Automatic Start In order to have the ODBC UNIX/Linux server start automatically it must be set up in the inittab file. Each inittab entry is position dependent and has the following format:

id:rstate:action:process

Where:

id Unique identifier for the entry.
rstate Run-level for which this entry is to be processed. More than one run-level can be specified
action Actions to affect the process specified.
process Command to be executed by the system.
 
The following is an example of an inittab entry for the ProvideX IO Server:

podb:2:once:/usr/pvxiosvr/pvxiosvr -f /usr/pvxiosvr/myOdbc.conf </dev/null >/dev/null 2>&1

The above example would start the ProvideX IO Server the first time the server booted to run level 2. The configuration file named myOdbc.conf located in /usr/pvxiosvr/would be used to configure the server. Any messages sent to standard out or standard error by the server would be suppressed. If the server stopped for any reason the system will not restart it.



*Warning* Modifications to the inittab/startup scripts on a UNIX/Linux system may cause serious problems. All changes should be performed by qualified personnel.