Configuring SPD Server Host Software for Your Site

After you install SPD Server 4.5, you must configure SPD Server to run on your server machine. The SPD Server 4.5 installation contains only 64-bit components.
Complete the following steps to install the SPD Server system:
  1. For ksh users:
    export PATH=$PATH:InstallDir/bin
    For csh users:
    set path = ($path InstallDir/bin)
  2. Six files need to be copied from the InstallDir/samples directory to the InstallDir/site directory:
    • rc.spds
    • pwdb
    • spdsserv.parm
    • killrc
    • libnames.parm
    • rc.perf
  3. In the InstallDir/site directory, edit the pwdb script file.
    Note: Depending on the shell that you are running, you have to make minor modifications to the script file.
    The pwdb file configuration must be modified to point to the INSTDIR= path, the path where your copy of SPD Server is installed.
    The INSTDIR= path in your pwdb file should be changed to
    INSTDIR=<explicit UNIX path to your SPD Server Installation Directory>
  4. Invoke the pwdb script from the /site subdirectory to create an initial SPD Server password file. The password file is created in InstallDir/ by executing the following command:
    pwdb 
    First, use the Password Manager groupdef command to define a group called admingrp. Next, use the Password Manager add command to add an SPD Server user ID for yourself. (This is assuming that you are the SPD Server administrator). Both the groupdef and add commands prompt you for values to enter. Use the following transcript file from a typical command sequence for reference. You should notice that the password prompt does not echo any characters as you type. If you want to verify your work, you can use the Password Manager list command to print the contents of the SPD Server password file, following the add command.
    You should see content similar to the following:
    SAS Scalable Performance Data Server Host 4.50
    Password Manager Utility
    Copyright (c) 1996-2009 by SAS Institute Inc, Cary NC 27513  USA
    
    Enter command
    > groupdef admingrp
    Group admingrp defined
    
    Enter command
    > add
    Enter username to add
    > admin
    Enter password for admin
    >
    Verify password
    >
    Enter authorization level (0 to 7) for admin:
    > 7
    Enter IP Address or <Return
    >
    Enter password expiration time in days
    > 365
    Enter group name or <Return>
    > admingrp
    Enter the maximum allowed time (in days) between successful logins <Default
    = infinite>
    >
    Enter the maximum allowed login failures <Default = infinite>
    >
    Enter admin’s performance class(1=LOW 2=MED 3=HIGH carriage return for LOW)
    >
    User admin added
    Enter command
    > quit  
    These commands initialize the user password database.
    You should add other user IDs before opening the SPD Server system for use. Authorization level 7 is privileged. Authorization level 7 allows users to circumvent desirable SPD Server ACL security measures. Unlike the previous example, most or all users should be given authorization level 0 (which is non-privileged), so that SPD Server security cannot be bypassed. For more information, see Notes for SPD Server Administrators .
    Note: The administrator password expires during the first logon to the SPD Server host. For more information about passwords, see the psmgr utility reference documentation.
  5. In the InstallDir/site directory, edit the libnames.parm file to add the site-specific LIBNAME domains that your SPD Server will support. This step requires some thought and planning. You should decide how to organize your existing disk storage to best exploit the capabilities of the SPD Server. For more information, see SPD Server Host Commands and the libsamp.parm file. For more information about managing resources, see Managing Computing Resources with a Name Server .
  6. Edit and configure the resource script file rc.spds. In the /InstallDir/site directory, use a UNIX text editor to open the rc.spds file. The tasks to configure the rc.spds file include the following:
    • Specify the SQL audit file cycle time and the file prefix using AUDTIME= and AUDFILESQL=.
    • Confirm settings for the INSTDIR= pointers to your installation directory.
    • Confirm settings for the INSTDIR= pointers to your /bin directory.
    • Specify whether to start up the SNET Server.
    • Check SNET port assignments if you use SNET.
    • Reassign SNET ports if there are conflicts.
    • Specify whether to create a log using LOGDIR=.
    • Specify the log cycle time and the file prefix using LOGTIME= and LOGFILE=.
    • Specify whether to create an audit file facility using AUDDIR=.
    • Specify the audit file cycle time and the file prefix with AUDTIME= and AUDFILE=.
    • Specify the location of your server user password database and parameter files.
Here is an example of a typical unmodified rc.spds file:
     #!/bin/sh -x
     # Sample startup script for SPDS.
     # This script starts the SPDS Name Server
     # data server and ODBC server processes
     # using assumed install directories. Most
     # paths are controlled through shell variables
     # defined at the beginning of the script.
     # If you change this script, copy it to
     # the SPDS site directory and modify that
     # copy just to make sure that a subsequent
     # SPDS software upgrade doesn't wipe out
     # your site modifications to the script.
     #------------------------------------------
     #
     # Define some primary variables. INSTDIR is the
     # root directory of your installation.  INSTDIR is
     # initialized to run rc.spds from the site dir
     # of your installation.
     #
     # NSPORT is the SPDS name server listen port;
     #        if omitted uses "spdsname" service entry.
     # SNSPORT is the SPDS ODBC server listen port;
     #        if omitted uses "spdssnet" service entry.
     #
     # If you are running through a firewall the NSPORT and
     # SNSPORT must be surfaced through the firewall.  In
     # addition, the SPDS server listen port and operator port
     # must be surfaced through the firewall. If you are not
     # running through a firewall allow the server to choose
     # these ports.
     #
     # SRVLPORT is the SPDS server listen port;
     #        leave as 0 if NOT running through a firewall.
     #
     # SRVOPORT is the SPDS server operator port;
     #        leave as 0 if NOT running through a firewall.
     #
     # Refer to the SPDS Admin Doc section on Security for
     # more information on running SPDS through a firewall.
     #
     NSPORT=5190
     SNSPORT=5191
     SRVLPORT=0
     SRVOPORT=0
     INSTDIR=$PWD/..
     PARMDIR=$INSTDIR/site
     ACLDIR=$INSTDIR/site
     LICDIR=$INSTDIR/lic
The rc.spds file configurations you need to examine are the following:
  • INSTDIR: Your SPD Server installation directory assumes that you are running the rc.spds script from your /site directory. The INSTDIR= variable provides the relative path to the installation directory from your /site directory.
  • INSTDIR/bin: The PATH=, LD_LIBRARY_PATH, and LIBPATH= statements in the default rc.spds file refer to the INSTDIR/bin directory. The PATH=, LD_LIBRARY_PATH, and LIBPATH= statements are in the following section of the rc.spds file:
    #
    # Define some secondary variables for server
    # parameter files
    #
       SPARM=$PARMDIR/spdsserv.parm
       LICFILE=$LICDIR/spds.lic
       PATH=$INSTDIR/bin
       export PATH
       MSGPATH=$INSTDIR/msg/
       export MSGPATH
       LPARM=$INSTDIR/site/libnames.parm
       LD_LIBRARY_PATH=$INSTDIR/bin
       export LD_LIBRARY_PATH
       LIBPATH=$INSTDIR/bin
       export LIBPATH
    
  • SNET: The rc.spds script assumes that you want to start the SNET Server (spdssnet) to support OBDC, JDBC, or htmSQL access to SPD Server data stores. If this is not what you want, you can delete or comment out the following lines near the bottom of the rc.spds script.
    # Startup the spdssnet server. This server supports
    # ODBC access to SPDS data. Note the
    # only parameter is the optional spdssnet listen
    # port number. If not explicitly specified it
    # will default to the "spdssnet" service in /etc/services
    #
    
    /bin/sleep 2
    if [ -z "$SNSPORT" ]; then
       spdssnet 1>$SNSLOG 2>&1 &
    else
       spdssnet -listenport $SNSPORT 1>$SNSLOG 2>&1 &
    
    
  • SNET Port Assignments: The rc.spds script assumes that you are running SPD Server concurrently with an SPD Server 3.x environment. It assumes that the SPD Server Name Server and the SNET Server will run using explicit port number assignments. The following lines at the beginning of rc.spds assign the ports numbers:
    NSPORT=5190  (name server port for spdsnsrv)
    SNSPORT=5191 (SNET Server port for spdssnet)
    
    If these ports are in use, or if resources specify otherwise, choose new port numbers. If you omit these assignments, rc.spds uses the name services entries SPDSNAME and SPDSSNET. If you do not run the SNET Server, you do not need to be concerned about the SNSPORT definition.
  • Logging: The rc.spds script assumes that you want to keep the logs from messages written to STDOUT or STDERR of the spdsnsrv ( SPD Server Name Server) and spdsserv (SPD Server host) processes. The shell variable LOGDIR= defines the directory where these logs are kept. If you do not want to keep these logs, change LOGDIR= and the rc.spds script will use /dev/null. If you want to keep the logs in another location besides InstallDir/log, change LOGDIR=.
    The DSRVFILE= and DSRVTIME= spdsserv options, NSRVFILE= and NSRVTIME= spdsnsrv options, and SNSFILE= and SNSTIME= spdssnet options are enabled by default with the following shell variables:
    DSRVFILE=spdsserv
    Specifies the spdsserv process log file prefix.
    DSRVTIME=00:00
    Specifies the time of day to cycle the spdsserv log file.
    NSRVFILE=spdsnsrv
    Specifies the spdsnsrv process log file prefix.
    NSRVTIME=00:00
    Specifies the time of day to cycle the spdsnsrv log file.
    SNSFILE=spdsnet
    Specifies the spdssnet process log file prefix.
    SNSTIME=00:00
    Specifies the time of day to cycle the spdssnet log file.
    These settings enable automatic log filename generation and cycling by specifying the log file prefix and the log file cycle time of day. The file path for the -LOGFILE option is generated by concatenating the LOGDIR= and LOGFILE= variables. For more information about these options, see SPD Server Host Commands. When automatic log filename generation and cycling are enabled, the only messages that go to the default log file are those written to STDERR. If you want to disable automatic log filename generation and cycling, change the settings to empty pointers such as the DSRVFILE= and DSRVTIME= options.
    The LOGFILE= and LOGTIME= spdsserv options are enabled by default with the following shell variables:
    LOGFILE=spdsserv 
    Specifies the spdsserv process log file prefix.
    LOGTIME=00:00
    Specifies the time of day to cycle the log file.
    These settings enable automatic log filename generation and cycling by specifying the log file prefix and the log file cycle time of day. The file path for the -logfile option is generated by concatenating the LOGDIR= and LOGFILE= variables. For more information about these options, see SPD Server Host Commands. When automatic log filename generation and cycling are enabled, the only messages that go to the InstallDir/log/spdsserv.log file are those written to STDERR. If you want to disable automatic log filename generation and cycling, , change the settings to empty pointers, such as the LOGFILE= and LOGTIME= options.
  • The rc.spds script allows you to use the SPD Server audit file facility, but the audit file facility is not enabled by default. Use the following shell variables to configure the SPD Server audit file facility:
    AUDDIR=
    Use the AUDDIR= shell variable to specify the directory for the audit log files.
    AUDFILE=
    Use the AUDFILE= shell variable to specify the prefix for audit log files.
    AUDFILESQL=
    Use the AUDFILESQL= shell variable to specify the prefix for SQL audit log files.
    AUDTIME=
    Use the AUDTIME= shell variable to specify the time of day (HH:MM) to cycle the audit log file.
    When AUDDIR= and AUDFILE= are set, you enable proxy audit file creation. When AUDDIR= and AUDFILESQL= are set, you enable SQL audit file creation. If AUDTIME= is set, automatic audit file cycling occurs at the specified time of day. For more information about the audit file facility, see SPD Server Host Commands.
  • User Password and Parameter Files: The rc.spds script assumes that you keep your spdsserv.parm parameter file and your SPD Server user password file in the InstallDir/site directory. If you do not, you need to change the ACLDIR= and PARMDIR= assignments. You can include this script into your system start-up file so that it executed as part of starting the system. Otherwise, the SPD Server administrator must manually start SPD Server after the system starts up.
  • After you have finished making your changes, save and close the rc.spds file.
    Note: The example rc.spds script provided in the next step is a generic UNIX script. Some additional path changes might be required for other operating environments. For example, Linux operating systems do not keep the ps and grep commands in /usr/bin, so changes are required.
  1. Assuming that you want to use registered ports for your SPD Server host, and you choose to use the default SPD Server Name Server port of 5190 and the SNET Server port of 5191, add the following services to your /etc/services or /etc/inet/services file on the SPD Server host machine.
    spdsname 5190/tcp # SPDS Name Server
    Service declaration for the SPD Server Name Server
    spdssnet 5191/tcp # SPDs SNET 
    Server Service declaration for the SNET Server.
    You only need the SNET service if you plan to run the SNET Server. By default, the sample rc.spds script runs spdssnet.
    If you choose to use different port addressses, replace the ???? strings with unused 4-digit port addresses. Also remember to update your rc.spds script accordingly. Determine unused port addresses by scanning the existing addresses and then choosing a number that does not appear. Choosing a number greater than 5000 avoids conflicts with reserved and system-defined port addresses.
    spdsname ????/tcp # SPDS Name Server 
    Service declaration for the SPD Server Name Server
    spdssnet ????/tcp # SPDS SNET Server 
    Service declaration for the SNET Server.
    Note: If you installed a previous version of SPD Server software and you have the service name spdsoper defined, you should remove it from your /etc/services or /etc/inet/services file on the SPD Server system.
  2. You are now ready to start SPD Server. Execute the InstallDir/site/rc.spds script that you customized in the previous steps. This starts the SPD Server environment in the context of your current UNIX user ID.
    The rc.spds script customization is important because it defines UNIX ownership and file access permissions on SPD Server resources. Ownership and file permissions are set in the context of the SPD Server run-time environment. If you plan to execute rc.spds from your system startup, the rc.spds script should be executed in the context of the appropriate UNIX user ID. Using the appropriate UNIX user ID ensures that the resources created in the startup configuration meet the necessary file ownership and permission requirements for SPD Server.
  3. The rc.perf script is an example script to start the Performance Server.