SCPPERL Example - BSDI

This section will describe the process for configuring the server control program to communicate with a remote UNIX server sunning the BSDI operating system. The SCPPerl plug-in, in conjunction with the PERL scripts will be necessary to manipulate user accounts in the UNIX password file. Previously, in the PERL Scripts section, the generic UNIX scripts were described. In this section, we will use the BSDI-specific scripts. The two sets of scripts are very similar, although the BSDI-specific scripts contain syntax that’s specific to the BSDI operating system.

In addition, we will create an extra element by enabling the RADIUS function in the PERL scripts. This allows accounts to be manipulated in the RADIUS user account file as well as in the UNIX password file. This is especially helpful for configurations where the RADIUS is used for authentication instead of the UNIX password file.

1.    Determine the necessary components

For this setup, we will need the SCPPerl plug-in, the set of PERL scripts relating to the BSDI operating environment, and the set of PERL scripts relating to RADIUS.

2.    Upload the PERL scripts to the remote server.

The easiest way to go about installing the necessary components on the remote server is to run the server control installation file. It doesn’t matter where on the server the files are installed to, but it would be easier to install the files into a directory folder, such as "ServerControlScripts".

3.    Register the SCPPerl plug-in on the server control machine.

The SCPPerl plug-in must be run locally (on the same machine as the server control program). As a result, this plug-in must be registered on the server control machine. To register the plug-in, go to the Server Control/Plug-In folder and right-click on the SCPPerl.exe file. Select Register Component from the drop-down list.

4.    Configure the PERL scripts

On the remote server, edit the appropriate scripts. In our example, we will be using the BSDI scripts, as well as the RADIUS scripts. Copy the contents of the Radius folder into the BSDI folder, and then proceed to edit the scripts.

The following is a list of the scripts that should be in the /BSDI folder:

ISPPower_BSDI.pl

Main BSDI PERL script

ISPPower_Interface.pm

Interface script

ISPPower_Shared_BSDI.pm

BSDI Shared script

ISPPower_Shell_BSDI.pm

BSDI Shell script

ISPPower_Server.ini

Parameters file

ISPPower_Radius.pm

Main Radius script

ISPPower_RadiusShared.pm

Shared Radius script

user.tmpl

Format used to create accounts to Radius file

Although there are many configurable settings in these scripts, this section will go over only the essential script edits necessary for the server control to provision the remote server properly. The scripts that are explained in this section are highlighted. Follow the hyperlink to see those sections. The other scripts do not require any configuration in order to work properly. For more information about the configurable settings in each script, refer to the section on PERL Scripts.

ISPPower_BSDI.pl

There are several settings that must be edited in the ISPPower_BSDI.pl script.

1.    Create the Radius resource manager.

We must indicate that the Radius resource manager will be used. In order to do this, we must create the resource manager and assign it a variable. The highlighted text below displays the text that should be inserted in the script.

scfigure5-6.gif

Create the Radius resource manager.

2.    Assign the appropriate service types to each resource manager.

Next, each service type that is going to provisioned to the password file and to the Radius file needs to be mapped to resource managers. In our example (See Figure 5-7), two service types are mapped to both resource managers, $SHELL and $RADIUS. This means that whenever either of these services are added, modified, or deleted in PRISM, they will be added, deleted, or modified from both the UNIX password file and the Radius file.

scfigure5-7.gif

Assign service types to resource mangers

3.    Configure the server control IP address and port number.

The server control machine’s (PRISM server) IP address should be configured next. In our example, let’s pretend that our server control program sits on a machine with the IP address "255.255.255.255". The default port number to use to open a socket is 1000, however, this may vary according to your network setup.

scfigure5-8.gif

Configure the server control information

4.    Configure the remote server’s IP address.

The remote server’s port should also be configured in the $Server_Port variable. Again, the default port number is set to 1000, but it may vary according to your network setup. Note that you should make sure the port number you indicate is available and not being used by any other processes.

ISPPower_Shell_BSDI.pm

Most of the settings in this script can be left at the default values. The Optionally Defined Field Names section (Figure 5-9), however, warrants further explanation.

scfigure5-9.gif

Figure 5-9 Optionally defined field names

The five field names shown in Figure 5-9 are optionally defined fields that can store the information shown. In order to store this information into the database and associate it with the appropriate services, service info codes matching those field names must exist. For example, in my($FIELD_UID), the field name is "UID". If I wanted to store this information into the database, I would have to make sure that a service info code called "UID" exists, and that this info code is mapped to a service type that is being provisioned by these scripts.

5.    After the scripts have been edited, launch the "ISPPower_BSDI.pl" script.

Start the scripts by typing in the appropriate command line. In our BSDI example, the command line would be something like the following:

perl ISPPower_BSDI.pl

Check the processes that are running on the system to make sure that the scripts have been properly launched and are running.

Kill the process that relates to the ISPPower_BSDI.pl script.

6.    Configure the server control program.

Now it is time to go back to the server control machine and configure the server control program.

·      Server Control – Servers

Go to the Server Control – Servers section and add a new remote server. In our example (Figure 5-10), we have called it SERVER1, and configured it as a PERL server.

scfigure5-10.gif

Figure 5-10 Server Control – Servers – BSDI Example

note.gif

Notice that we have left the Plug-In Remote Server field blank. This is because the PERL plug-in cannot be run on a UNIX system. Therefore, it must be run locally, on the server control machine.

 

·      Server Control – Server Parameters

Under the Server Control – Server Parameters section, configure the required parameters for the BSDI server. Remember that the required parameters are marked by the "<<<" symbol. For the Initial Server Key parameter, generate the key, and then output it to a directory on the NT server. Remember where you stored this key because it will have to be uploaded to the directory on the BSDI server where the scripts are stored. For more information on how to generate and output a server key, review the section Server Parameters.

The following is a list of required parameters for the SCPPERL plug-in and possible values under the BSDI environment:

Parameter Name

Description

Sample Value

Key

Initial Server Key

<Set>

LocalPort

Port on Plug-In Server

This will be the port on the NT server (server control machine) that should be used to open a connection.

RemoteIPAddress

IP Address of remote server

This is the IP address of the BSDI server. In our case, let’s pretend the IP address is "255.255.255.254".

RemotePort

Port on remote server

This will be the port on the BSDI server that should be used to open a connection. This should match the variable my($Server_Port) in the "ISPPower_BSDI.pl" script. Recall from earlier that we configured this as port 1000 (See the Section ISPPower_BSDI.pl)

This is what the Server Parameters screen might look like:

scfigure5-11.gif

Server Control – Server Parameters – BSDI Example

·      Server Control – Server Groups

Configure a server group that will be assigned to the BSDI server. In our case, we are provisioning dialup services to the BSDI server. Thus, we may call the group DIALUP.

·      Server Control – Server Group Mapping

Finally, map the server group to the BSDI server, and then store the mapping information into a service info code (if desired).

7.    Assign the appropriate service types to the server group specified in step 6.

Go to the Services ( Service Types section, and assign the appropriate service types to the server group. These service types should match the service types that were assigned to the resource managers in the "ISPPower_BSDI.pl" script. In our case, those service types were ‘FLAT" and "HOUR."

8.    Upload the key generated in step 6 and upload it to the directory on the BSDI server where the scripts are running.

9.    Launch the ISPPower_BSDI.pl script on the remote server.

10.  Start the server control program on the server control server.

If everything has been configured properly, the server control should connect to the BSDI serve and initialize.