GT 4.0 Java CoG Kit: System Administrator's Guide

1. Introduction

This guide contains installation and configuration information for system administrators installing the Java CoG Kit. It explains how to install, configure and test the installation.

[Important]Important

This information is in addition to the basic Globus Toolkit prerequisite, overview, installation, security configuration instructions in the GT 4.0 System Administrator's Guide. Read through this guide before continuing!

2. Building and installing

Java CoG Kit is distributed as part of a default GT 4.0 installation. For basic installation instructions, see the GT 4.0 System Administrator's Guide. No extra installation steps are required for this component.

The following are optional instructions for more advanced types of installations. These are for those advanced users who want to build the latest code from CVS or are just interested in the Java CoG Kit.

2.1. Building from source

1.

Obtain the source code for Java CoG Kit:

From CVS. 

  1. To get the latest source from CVS execute:

     cvs -d :pserver:[email protected]:/home/dsl/cog/CVS \
         checkout jglobus

    Optionally specify -r globus_4_0_branch revision to get the latest source code for GT 4.0.x releases.

  2. Change into the jglobus directory.

     cd jglobus

From source distribution. 

  1. Untar or unzip the distribution archive.

     tar xvfz cog-XXX-src.tar.gz

  2. Change into the unpacked distribution directory.

     cd cog-XXX

2.

Run:

 ant all

2.2. Installing binary distribution

1.Untar or unzip the distribution archive.
 tar xvfz cog-XXX-tar.gz
2.Change into the unpacked distribution directory.
 cd cog-XXX
3.Set the COG_INSTALL_PATH environment variable to the unpacked distribution directory.

On Windows:

 set COG_INSTALL_PATH=c:\cog-1.2

On Unix/Linux:

 setenv COG_INSTALL_PATH /soft/cog-1.2/

or

 export COG_INSTALL_PATH=/soft/cog-1.2/

3. Configuring

In general no extra configuration is required to use Java CoG Kit. However, in certain cases additional configuration might be required. The Java CoG Kit configuration file is placed in $HOME/.globus/cog.properties on Unix/Linux machines or %USERPROFILE%\.globus\cog.properties on Windows machines.

3.1. Proxy file location

By default Java CoG Kit will try to use the same proxy file as used by the C tools. However, in certain cases Java CoG Kit might fail to determine the right proxy file location. In these cases a proxy file location might need to be specified in the configuration file. To set a specific proxy file location just add the following line to the configuration file:

proxy=<proxy location>

This has the same effect as setting the X509_USER_PROXY environment property or Java system property.

3.2. Public IP address

Sometimes, especially on machines with DHCP enabled, the local IP address of the machine might be incorrectly detected by Java or the wrong non-public IP address might be used if behind a NAT router or on VPN. To configure the public IP address used by Java CoG Kit, add the following line to the configuration file:

ip=<current ip>

This has the same effect as setting the GLOBUS_HOSTNAME environment property or Java system property.

3.3. TCP Port Range

Sometimes it is necessary to restrict the listening port numbers that Java CoG Toolkit will use. To set the port range in the configuration file, just add the following line:

tcp.port.range=<min>,<max>

This has the same effect as setting the GLOBUS_TCP_PORT_RANGE environment property or Java system property.

4. Deploying

This section does not apply to the Java CoG Kit.

5. Testing

There are no tests to test the Java CoG installation. However, the unit tests are available with the source distribution. Since some of the unit tests rely on GT2 services to be running, first make sure that they are running ok. Also, you will need to configure the tests (look for various test.properties files) in the source distribution with the appropriate information (for example the right service port, hostname, etc.). Finally, to run the tests do:

ant test

6. Security considerations

6.1. Functions that execute an external program

Under some circumstances, the org.globus.util.Util.setFilePermissions() and the org.globus.util.ConfigUtil.getUID() functions execute an external program; thus, its behavior is influenced by environment variables such as the caller's PATH and the environment variables that control dynamic loading. Care should be used if calling these functions from a program that will be run as a Unix setuid program, or in any other manner in which the owner of the Unix process does not completely control its runtime environment.

6.2. Permissions of proxy files

Since Java does not provide an API for setting the permissions of a file, the JGlobus module will attempt to execute the /bin/chmod program in the background to set the permissions of the given file. If that program cannot be executed for any reason or fails to execute correctly, a proxy file might end up with incorrect file permissions (depending on umask setting). Usually a warning will be displayed if that occurs (especially on Windows since /bin/chmod is not supported on that platform).

7. Troubleshooting

Please see the FAQ and the web page for any problems concerning Java CoG Kit. Also, you can send email describing your problem to the [email protected] mailing list (must subscribe first) or search for the problem in the archives.