


There are three basic steps to using AcuServer in a UNIX environment.
1. Install AcuServer. If you have not already installed AcuServer on your UNIX server, please refer to sections 2.2 and 2.3 of this chapter for a list of installation requirements and procedures. If AcuServer is already installed, then proceed to the next step. There is nothing on the AcuServer distribution media to install on the client machine. However, you should ensure that every client system that will use AcuServer has a licensed copy of an ACUCOBOL-GT runtime, Version 5.1 or later, and you may need to set up client passwords, user names and host names. This is described in section 2.5 Installing the Client.
2. Configure the AcuServer system. AcuServer system configuration consists of:
3. Issue AcuServer commands. AcuServer services are handled by the acuserve daemon running on the server. The acuserve command can be invoked from the command line to start and stop AcuServer (the acuserve daemon), retrieve AcuServer operation status, unlock stranded files, and create and maintain the server access file. For complete details, read Chapter 5.
Please be aware that configuration of AcuServer system security is very important to safeguarding your data files and network computers. We urge you to read Chapter 6 before placing AcuServer into open service.
Running AcuServer on HP MPE/iX Systems
A limitation in the MPE/iX operating environment requires that sites planning to use AcuServer on an MPE/iX host carefully consider how they will deploy the service. The remainder of this section describes the situation and offers two management approaches for deploying on MPE/iX.
AcuServer uses the same basic methods as AcuLaunch and AcuConnect to start the service, validate a service request, and fulfill a request. AcuServer runs as an independent resident program (daemon) called acuserve. The running acuserve process takes the user ID of the account that starts the program. The service normally runs in the background, waiting for requests. When a service request is received, acuserve determines the user ID of the requester, checks an authorization file ("AcuAccess") to determine if the requester is allowed to use the service, and determines the proxy user ID to be used for the requester (the requester user ID can be mapped to another ID; the mapped ID may be unique or may be shared by a number of users). If authorization is successful, acuserve temporarily assumes the proxy user ID to fulfill the request. On most UNIX systems, the SETUID system function is used to assume the correct user ID. A similar function is used in the Windows operating environment.
In the MPE/iX environment, the operating system does not provide a way for a program (in this case acuserve) to change its user ID. Therefore, the service always uses the ID of the account that started acuserve. Any action acuserve takes is performed with that ID. This inability to change IDs imposes some limitations and requires that MPE/iX sites carefully consider how they will deploy AcuServer.
Because acuserve takes the user ID of the account that starts it, and because it uses that ID to access files and fulfill requests, it's very important that that account be able to service all anticipated requesters. There are two approaches to managing this issue. The approaches can be combined.
One approach is to start acuserve from an account that is accessible to all requesters (a "group" account). Of course, such an account must have all of the necessary access permissions to satisfy every requester. The limitation of this approach is that all requesters have the same proxy user ID on the server and there is no way to identify a unique requester.
The second approach is to start a separate instance of acuserve for each unique requester, or group of requesters (multiple group accounts). This approach will work so long as the number of separate instances does not over tax system resources (process space, processor capacity, and dynamic memory). The number of instances that each system can handle will vary depending on the resources of that machine. Some experimentation may be necessary to determine the limits of a given machine. Note that when acuserve is not executing a request, it waits on a socket in an efficient loop, consuming few resources.