This document will help user to install gt3 in linux as the Ecogrid service container.
It does NOT describe the installation of required tools.
More details can be found in http://www.globus.org.

1. Create a user named globus in your local system. If the document doesn't specify, the command will be excuted as default user - globus.
2. Download the gt3 (All Services, GPT Linux Installation Package) from: http://www-unix.globus.org/toolkit/download.html
3. Unzip the download file. It will create a new subdirectory - gt3.0.2-linux-installer in this directory.
4. Go to the installer directory, run command "./install-gt3 globus_home_directory_path".
For example: ./install-gt3 /usr/local/devtools/gt3
5. If no critical error happend, go to globus_home_directory, run: "ant setup".
For example:
cd /usr/local/devtools/gt3
ant setup
6. As root user, make a directory - $JAVA_HOME/jre/lib/endorsed and copy endorsed/xalan.jar to there.
For example:
mkdir $JAVA_HOME/jre/lib/endorsed
cp endorsed/xalan.jar $JAVA_HOME/jre/lib/endorsed
7. As root user, run command "export GLOBUS_LOCATION=`pwd`" then run "./setup/globus/setup-gsi" in globus_home_directory.
When running the setup-gsi command,
the format for host is: O=SEEK,OU=ca.ecoinformatics.org,OU=EcoGrid
the format for user is: O=SEEK,OU=nceas.ucsb.edu,OU=ca.ecoinformatics.org,OU=EcoGrid
Note: the format probably will be changed in the future. And the "OU=nceas.ucsb.edu" need be changed according yourself organization unit.
8. Request a host certificate.
As root user, run command "bin/grid-cert-request -host hostname".
In /etc/grid-security directory, a file named hostcert_request.pem will be found.
Send the file to Matt Jones and request a certificate.
9. After getting the host certificate, put the file - hostcert.pem in /etc/grid-security as root user.
10.In installer directory, run command "./install-gt3-mmjfs globus_home_directory_path".
11.Go back to globus_home_directory, run command "bin/setperms.sh" as root user.
12.Create grid.mapfile in /etc/grid-security as root.
Here is a example:
"/O=SEEK/OU=EcoGrid/OU=ca.ecoinformatics.org/OU=nceas.ucsb.edu/CN=Jing Tao" tao
"/O=SEEK/OU=EcoGrid/OU=ca.ecoinformatics.org/CN=host/pine.nceas.ucsb.edu/CN=502" globus
For part (quotation part) is DN in user certificate, the second part is local user name.
13.Create grim-port-type.xml in /etc/grid-security as root.
Here is a example: http://www.globus.org/namespaces/managed_job/managed_job/ManagedJobPortType
14.Setup default CA:
(1) Get globus_simple_ca_[hash-number]_setup.tar.gz from Matt Jones (The file now is in /etc/grid-security in dev.nceas.ucsb.edu).
(2) Run command "sbin/gpt-build globus_simple_ca_[hash-number]_setup.tar.gz" in globus_home_directory.
(3) Run command "sbin/gpt-postinstall"
(4) As root, rerun command "setup/globus_simple_ca[Hash-number]/setup-gsi"
the format for host is: O=SEEK,OU=ca.ecoinformatics.org,OU=EcoGrid
the format for user is: O=SEEK,OU=nceas.ucsb.edu,OU=ca.ecoinformatics.org,OU=EcoGrid
Note: the format probably will be changed in the future. And the "OU=nceas.ucsb.edu" need be changed according yourself organization unit.
15.Copy the follow the lines into globus_home_directory/server-config.wsdd file as children of "deployMent" element:

       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns12:QueryType" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.QueryType" xmlns:ns12="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns13:query" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.QueryType" xmlns:ns13="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns14:namespace" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.QueryType_namespace" xmlns:ns14="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns15:AND" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ANDType" xmlns:ns15="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns16:OR" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ORType" xmlns:ns16="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns17:condition" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ConditionType" xmlns:ns17="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns18:" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ConditionType" xmlns:ns18="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns19:query" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.QueryType" xmlns:ns19="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns20:namespace" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.QueryType_namespace" xmlns:ns20="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns21:AND" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ANDType" xmlns:ns21="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns22:OR" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ORType" xmlns:ns22="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns23:condition" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ConditionType" xmlns:ns23="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns24:operator" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.OperatorType" xmlns:ns24="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns25:concept" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.LimitedXPathExpression" xmlns:ns25="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns26:query" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.QueryType" xmlns:ns26="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns27:namespace" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.QueryType_namespace" xmlns:ns27="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns28:AND" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ANDType" xmlns:ns28="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns29:OR" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ORType" xmlns:ns29="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns30:condition" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ConditionType" xmlns:ns30="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns31:operator" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.OperatorType" xmlns:ns31="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns32:concept" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.LimitedXPathExpression" xmlns:ns32="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns33:query" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.QueryType" xmlns:ns33="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns34:namespace" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.QueryType_namespace" xmlns:ns34="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns35:AND" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ANDType" xmlns:ns35="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns36:OR" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ORType" xmlns:ns36="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns37:condition" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ConditionType" xmlns:ns37="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns38:operator" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.OperatorType" xmlns:ns38="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns39:concept" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.LimitedXPathExpression" xmlns:ns39="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0beta1"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="query" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.QueryType"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="namespace" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.QueryType_namespace"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="AND" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ANDType"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="OR" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ORType"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="condition" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ConditionType"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="operator" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.OperatorType"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="concept" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.LimitedXPathExpression"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="query" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.QueryType"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="namespace" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.QueryType_namespace"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="AND" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ANDType"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="OR" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ORType"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="condition" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ConditionType"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="operator" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.OperatorType"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="concept" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.LimitedXPathExpression"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="query" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.QueryType"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="namespace" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.QueryType_namespace"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="AND" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ANDType"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="OR" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ORType"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="condition" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ConditionType"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="operator" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.OperatorType"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="concept" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.LimitedXPathExpression"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="query" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.QueryType"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="namespace" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.QueryType_namespace"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="AND" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ANDType"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="OR" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ORType"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="condition" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.ConditionType"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="operator" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.OperatorType"/>
       <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="concept" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.ecoinformatics.ecogrid.LimitedXPathExpression"/>

16.Fixed a bug in build-service.xml in globus_home_directory
In the target named "deployWebapp", add a parameter - overwrite="yes" in the third copy command. The lines will look like:
<copy toDir="${webapps.dir}/ogsa/WEB-INF/" overwrite="yes">
<fileset dir="./" casesensitive="yes">
<include name="*.wsdd"/>
</fileset>
</copy>
Note: the only thing we changed is adding a overwrite="yes" in copy command.