spacer
spacer
spacer
CNRI Digital Object Repository
spacer
spacer
spacer

Installation Instructions

 

CNRI Digital Object Repository 1.6

Below are instructions for downloading and installing the CNRI Digital Object Repository software, for use with the DO Registry.

1. Extract the do-1.6.tar.gz. For example,
adl@/usr/local/registry>tar xvf /home/adl/CDOR/DO/dist/do-1.6.tar

2. Put the bin directory from the package in your PATH environment variable. For example, we added /usr/local/registry/do-1.6/bin to our PATH.

3. Create the data directory for data storage.
For example, adl@/usr/local/registry>mkdir data

4. Run the command: do-server -setup <serverdir> where <serverdir> is a directory for the server configuration and data storage. For our example, <serverdir> is /usr/local/registry/data as shown below:

Figure 1

Figure 1. CNRI Repository Installation Startup

Note: For security reasons, the DO Repository Server should be accessible only to the Registry. We recommend using a firewall to prevent the server from being accessible over the Internet.

When asked for a repository identifier, provide the handle used to identify the repository, i.e.:
<the-prefix>/repository. For example, we provided 10233/repository.

When asked for an identifier to distinguish this server from others in the same service enter the sub-prefix you intend to use: i.e.: pr

The output of this command will be similar to the example shown below:

Figure 2

Figure 2. CNRI Repository Installation Completion

5. After the set up is finished create the repository handle <the-prefix>/repository.

The handle record should have the following data:

  • CNRI.OBJECT_SERVER_INFO value: Contents of the server_info.xml file that is located in <serverdir>/server_info.xml.
  • CNRI.OBJECT_SERVER value: <the-prefix>/repository
  • HS_PUBKEY by loading the public key file from <serverdir>/publickey into it

For example, we created the repository handle 10233/repository as shown:

Figure 3

Figure 3. Repository Handle Creation

6. Set the default permissions for objects in the repository. Create the file called <server_dir>/default_rights.txt with the following lines:

                                                        
		accept:*        [<the-prefix>/repository]      *
		accept:*        [<the-prefix>/registry]       *
		accept:*        [0.na/<the-prefix>]       *
		accept:*        [0.NA/<the-prefix>]       *
		accept:1037/0	*	*
		accept:1037/4	*	*
		accept:1037/5	*	*
		accept:1037/8	*	*
		accept:1037/9	*	*

Note: Do not copy and paste from this document to your default_rights.txt file. Type the above lines directly into the default_rights.txt file. The characters between fields above are single TAB characters and not spaces. The permissions set in this file permit your repository to perform any operation on itself, and the registry can perform any operation on the repository. All "safe" operations (listing data elements, viewing data elements, inspecting objects) can be performed by any client.

In our example, the location and contents of the default_rights is shown below:

Figure 4

Figure 4. Example default_rights.txt file

7. Run the command: do-server <serverdir>. This starts the server, and if this server is part of a multi-server repository, will allow the replication process to begin.

For example, we start the server with the command:
adl@/usr/local/registry>do-server /usr/local/registry/data/ &

8. If you are remotely installing on a Unix/Linux machine, in order to complete the next step you'll need to have an X Server running on your local workstation. The remote Unix/Linux machine will need to connect to the X Server running on your local workstation and display a window.

9. Tell the repository that these are the default rights for any objects in the repository by running the following command.

do-invoke [repository handle] 1037/6 elementid=internal.default_rights < default_rights.txt

A window will appear asking you to authenticate. In the authentication window, enter the identifier of your repository (<the-prefix>/repository) and select the private key file in the repository directory. The command should complete, setting the rights for the repository object.

The example below shows the expected interaction:

adl@/usr/local/registry>do-invoke 10233/repository 1037/6
elementid=internal.default_rights <data/default_rights.txt
Enter Operation Input, then press Control-D (Control-Z on Windows)
response:status=success

Figure 5

Figure 5. Configuring the Default Rights for the Repository Objects

10. Use the do-client application to talk to your new digital object server and configure access control and authorization. Without further configuration, the access/authentication system will only allow access to the client that authenticated using the same Handle ID as the server.

spacer spacer
spacer
spacer