6.0 Globus Toolkit 4.0.8 Installation

Overview

The GT 4.2.0 has been already installed. This is to install GT 4.0.8 in addition to it, in a parallel directory.

Ref: http://www.globus.org/toolkit/docs/4.0/admin/docbook/quickstart.html#q-intro

Since CentOS 5.2 may not be compatible with the existing binary version of GT 4.0.8 for Redhat, the source package is obtained and built on CentOS 5.2.

# wget http://www-unix.globus.org/ftppub/gt4/4.0/4.0.8/installers/src/gt4.0.8-all-source-installer.tar.gz
# yum update

Prerequisites

zlib

# yum list | grep zlib
zlib.i386                                1.2.3-3                installed       
zlib-devel.i386                          1.2.3-3                installed       
jzlib.i386                               1.0.7-4jpp.1           base            
jzlib-demo.i386                          1.0.7-4jpp.1           base            
jzlib-javadoc.i386                       1.0.7-4jpp.1           base

It seems they are OK.

Java

# java -version
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing)

Java seems to be OK.

Ant

# ant -version
Apache Ant version 1.7.1 compiled on June 27 2008

Checking the ant config for the use of gcj (which is not desired).

# locate ant.conf

It does not exist.

C, C++ compilers

# gcc --version
gcc (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

# g++ --version
g++ (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

tar, sed, make

# tar --version
tar (GNU tar) 1.15.1

# sed --versio
GNU sed version 4.1.5
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
to the extent permitted by law.

# make --version
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i686-redhat-linux-gnu

They all seem OK.

Perl

# perl --version

This is perl, v5.8.8 built for i386-linux-thread-multi

Copyright 1987-2006, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

It seems OK.

sudo

# sudo -V
Sudo version 1.6.8p12
...

Postgresql

# yum list | grep postgres
postgresql-libs.i386                     8.1.11-1.el5_1.1       installed       
freeradius-postgresql.i386               1.1.3-1.2.el5          base            
mono-data-postgresql.i386                1.2.4-2.el5.centos     extras          
pdns-backend-postgresql.i386             2.9.21-4.el5.centos    extras          
postgresql.i386                          8.1.11-1.el5_1.1       base            
postgresql-contrib.i386                  8.1.11-1.el5_1.1       base            
postgresql-devel.i386                    8.1.11-1.el5_1.1       base            
postgresql-docs.i386                     8.1.11-1.el5_1.1       base            
postgresql-jdbc.i386                     8.1.407-1jpp.4         base            
postgresql-odbc.i386                     08.01.0200-3.1         base            
postgresql-pl.i386                       8.1.11-1.el5_1.1       base            
postgresql-python.i386                   8.1.11-1.el5_1.1       base            
postgresql-server.i386                   8.1.11-1.el5_1.1       base            
postgresql-tcl.i386                      8.1.11-1.el5_1.1       base            
postgresql-test.i386                     8.1.11-1.el5_1.1       base            
qt4-postgresql.i386                      4.2.1-1                base
# yum list postgresql
...
Available Packages
postgresql.i386                          8.1.11-1.el5_1.1       base
# yum install postgresql
...
Resolving Dependencies
--> Running transaction check
---> Package postgresql.i386 0:8.1.11-1.el5_1.1 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size 
=============================================================================
Installing:
 postgresql              i386       8.1.11-1.el5_1.1  base              2.9 M

Transaction Summary
=============================================================================
Install      1 Package(s)         
Update       0 Package(s)         
Remove       0 Package(s)

It was not going to install all packages which may be needed, so it was canceled.

Instead, it was guessed that the following yum may be needed.

# yum install postgresql postgresql-devel postgresql-docs postgresql-jdbc postgresql-odbc postgresql-pl qt4-postgresql
...
Setting up Install Process
Parsing package install arguments
...
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size 
=============================================================================
Installing:
 postgresql-devel        i386       8.1.11-1.el5_1.1  base              1.2 M
 postgresql-docs         i386       8.1.11-1.el5_1.1  base              5.6 M
 postgresql-jdbc         i386       8.1.407-1jpp.4   base              866 k
 postgresql-odbc         i386       08.01.0200-3.1   base              202 k
 postgresql-pl           i386       8.1.11-1.el5_1.1  base               69 k
 qt4-postgresql          i386       4.2.1-1          base               26 k
Installing for dependencies:
 postgresql              i386       8.1.11-1.el5_1.1  base              2.9 M
 postgresql-server       i386       8.1.11-1.el5_1.1  base              3.9 M
 qt4                     i386       4.2.1-1          base              7.2 M
 unixODBC                i386       2.2.11-7.1       base              832 k

Transaction Summary
=============================================================================
Install     10 Package(s)         
Update       0 Package(s)         
Remove       0 Package(s)         

Total download size: 23 M
Is this ok [y/N]: y
...
Complete!

Environmental variables

# echo $JAVA_HOME
/usr/java/jdk1.6.0_07

# echo $ANT_HOME
/usr/local/apache-ant-1.7.1

Building GTK

globus unix user account

This already exists.

GTK 4.0.8 directory

  • Created /usr/local/globus/4.2.0 and moved the contents of /usr/local/globus to /usr/local/globus/4.2.0
# mkdir /usr/local/globus/4.0.8
# chown globus:globus /usr/local/globus/4.0.8

configure

# mv gt4.0.8-all-source-installer.tar.gz ~globus/
# su - globus
$ tar -xzvf gt4.0.8-all-source-installer.tar.gz
...

$ cd gt4.0.8-all-source-installer

$ ./configure --prefix=/usr/local/globus/4.0.8/ --with-iodbc=/usr/lib --with-buildopts="-verbose" --enable-wsgram-condor
checking build system type... i686-pc-linux-gnu
checking for javac... /usr/bin/javac
configure: WARNING: the javac in your path is not from your $JAVA_HOME environment
checking for ant... /usr/local/apache-ant-1.7.1/bin/ant
configure: creating ./config.status
config.status: creating Makefile

$ make
...
...
echo "Your build completed successfully.  Please run make install."
Your build completed successfully.  Please run make install.
$ make install
...
..Done

Setting up the GLOBUS_LOCATION environmental variable

# vi /etc/profile
-- modify --
export GLOBUS_LOCATION=/usr/local/globus/4.0.8
source $GLOBUS_LOCATION/etc/globus-user-env.sh
export GLOBUS_TCP_PORT_RANGE=40000,41000
# source /etc/profile
# env | grep GLOBUS_
GLOBUS_PATH=/usr/local/globus/4.0.8
GLOBUS_LOCATION=/usr/local/globus/4.0.8
GLOBUS_TCP_PORT_RANGE=40000,41000

Setting up the simpleCA, hostcert, usercert, grid-map file, etc.

The hostcet etc. have been set up already. We may not need to set up simpleCA.

GridFTP

# vim /etc/xinetd.d/gridftp
# cat /etc/xinetd.d/gridftp
service gsiftp
{
instances               = 100
socket_type             = stream
wait                    = no
user                    = root
env                     += GLOBUS_LOCATION=/usr/local/globus/4.0.8
env                     += LD_LIBRARY_PATH=/usr/local/globus/4.0.8/lib
env 			+= GLOBUS_TCP_PORT_RANGE=40000,41000
server                  = /usr/local/globus/4.0.8/sbin/globus-gridftp-server
server_args             = -i
log_on_success          += DURATION
nice			= 10
disable                 = no
}

# cat /etc/services | grep gsiftp
gsiftp		2811/tcp			# GSI FTP
gsiftp		2811/udp			# GSI FTP

# service xinetd reload
Reloading configuration:                                   [  OK  ]
# netstat -an | grep 2811
tcp        0      0 0.0.0.0:2811                0.0.0.0:*                   LISTEN
# su - yoichi
$ grid-proxy-init -verify -debug

User Cert File: /home/yoichi/.globus/usercert.pem
User Key File: /home/yoichi/.globus/userkey.pem

Trusted CA Cert Dir: /etc/grid-security/certificates

Output File: /tmp/x509up_u500
Your identity: /O=Grid/OU=GlobusTest/OU=simpleCA-grid2.ramscommunity.org/OU=ramscommunity.org/CN=Yoichi Takayama
Enter GRID pass phrase for this identity:
Creating proxy ...........++++++++++++
....++++++++++++
 Done
Proxy Verify OK
Your proxy is valid until: Thu Jan  1 19:32:33 2009


$ globus-url-copy gsiftp://grid1.ramscommunity.org/etc/group file:///tmp/yoichi.test.copy
$ diff /etc/group /tmp/yoichi.test.copy
$ (no change)

Web Services container

# nmap -sS -p 8443 grid1.ramscommunity.org

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2009-01-01 08:47 EST
Interesting ports on grid1.ramscommunity.org (137.111.246.175):
PORT     STATE SERVICE
8443/tcp open  https-alt

# ps -ef | grep java
root      5271     1  0  2008 ?        00:00:00 jsvc.exec -user tomcat5 -home /usr/java/jdk1.6.0_07 -Dcatalina.home=/usr/local/apache-tomcat-6.0.18 -Dcatalina.base=/usr/local/apache-tomcat-6.0.18 -Djava.io.tmpdir=/var/tmp -wait 10 -pidfile /var/run/jsvc.pid -outfile /usr/local/apache-tomcat-6.0.18/logs/catalina.out -errfile &1 -Dorg.globus.tcp.port.range=40000,41000 -cp /usr/java/jdk1.6.0_07/lib/tools.jar:/usr/local/apache-tomcat-6.0.18/bin/commons-daemon.jar:/usr/local/apache-tomcat-6.0.18/bin/bootstrap.jar org.apache.catalina.startup.Bootstrap
tomcat5   5272  5271  0  2008 ?        00:12:12 jsvc.exec -user tomcat5 -home /usr/java/jdk1.6.0_07 -Dcatalina.home=/usr/local/apache-tomcat-6.0.18 -Dcatalina.base=/usr/local/apache-tomcat-6.0.18 -Djava.io.tmpdir=/var/tmp -wait 10 -pidfile /var/run/jsvc.pid -outfile /usr/local/apache-tomcat-6.0.18/logs/catalina.out -errfile &1 -Dorg.globus.tcp.port.range=40000,41000 -cp /usr/java/jdk1.6.0_07/lib/tools.jar:/usr/local/apache-tomcat-6.0.18/bin/commons-daemon.jar:/usr/local/apache-tomcat-6.0.18/bin/bootstrap.jar org.apache.catalina.startup.Bootstrap
globus    5414     1  0  2008 ?        03:30:39 /usr/java/jdk1.6.0_07/bin/java -DGLOBUS_LOCATION=/usr/local/globus -Djava.endorsed.dirs=/usr/local/globus/endorsed -Dlog4j.configuration=container-log4j.properties -Xmx512M -DGLOBUS_TCP_PORT_RANGE=40000,41000 -Djava.security.egd=file:///dev/urandom -classpath /usr/local/globus/lib/common/bootstrap.jar:/usr/local/globus/lib/common/cog-url.jar:/usr/local/globus/lib/common/axis-url.jar org.globus.bootstrap.ContainerBootstrap org.globus.wsrf.container.ServiceContainer -p 8443 -p 8443
root     20375 20264  0 09:18 pts/1    00:00:00 grep java

The port 8443 is still running with the 4.2.0 Java WS container. It has to be stopped.

# vi /etc/init.d/globus-ws-java-container
-- modify --
GLOBUS_LOCATION=/usr/local/globus/4.2.0
# su - globus
$ /etc/init.d/globus-ws-java-container stop
Stopping Globus container. PID: 5414
Container stopped

The 4.0.8 container must be started.

# su - globus
$ vim $GLOBUS_LOCATION/start-stop
$ cat $GLOBUS_LOCATION/start-stop
#! /bin/sh
set -e
export GLOBUS_LOCATION=/usr/local/globus/4.0.8
export JAVA_HOME=/usr/java/jdk1.6.0_07
export ANT_HOME=/usr/local/apache-ant-1.7.1
export GLOBUS_OPTIONS="-Xms256M -Xmx512M"

. $GLOBUS_LOCATION/etc/globus-user-env.sh

cd $GLOBUS_LOCATION
case "$1" in
    start)
        $GLOBUS_LOCATION/sbin/globus-start-container-detached -p 8443
        ;;
    stop)
        $GLOBUS_LOCATION/sbin/globus-stop-container-detached
        ;;
    *)
        echo "Usage: globus {start|stop}" >&2
        exit 1
       ;;
esac
exit 0
$ chmod +x $GLOBUS_LOCATION/start-stop
# vim /etc/init.d/globus-4.0.8
# cat /etc/init.d/globus-4.0.8
#!/bin/sh -e
case "$1" in
  start)
    su - globus /usr/local/globus/4.0.8/start-stop start
    ;;
  stop)
    su - globus /usr/local/globus/4.0.8/start-stop stop
    ;;
  restart)
    $0 stop
    sleep 1
    $0 start
    ;;
  *)
    printf "Usage: $0 {start|stop|restart}\n" >&2
    exit 1
    ;;
esac
exit 0

# chmod +x /etc/init.d/globus-4.0.8

# /etc/init.d/globus-4.0.8 start
Starting Globus container. PID: 20754
# cat /usr/local/globus/4.0.8/var/container.log
2009-01-01 09:56:10,701 ERROR service.ReliableFileTransferImpl [main,<init>:76] Unable to setup database driver with pooling.Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
2009-01-01 09:56:11,149 WARN  service.ReliableFileTransferHome [main,initialize:97] All RFT requests will fail and all GRAM jobs that require file staging will fail.Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
Starting SOAP server at: https://137.111.246.175:8443/wsrf/services/ 
With the following services:

[1]: https://137.111.246.175:8443/wsrf/services/AdminService
[2]: https://137.111.246.175:8443/wsrf/services/AuthzCalloutTestService
[3]: https://137.111.246.175:8443/wsrf/services/CASService
[4]: https://137.111.246.175:8443/wsrf/services/ContainerRegistryEntryService
[5]: https://137.111.246.175:8443/wsrf/services/ContainerRegistryService
[6]: https://137.111.246.175:8443/wsrf/services/CounterService
[7]: https://137.111.246.175:8443/wsrf/services/DefaultIndexService
[8]: https://137.111.246.175:8443/wsrf/services/DefaultIndexServiceEntry
[9]: https://137.111.246.175:8443/wsrf/services/DefaultTriggerService
[10]: https://137.111.246.175:8443/wsrf/services/DefaultTriggerServiceEntry
[11]: https://137.111.246.175:8443/wsrf/services/DelegationFactoryService
[12]: https://137.111.246.175:8443/wsrf/services/DelegationService
[13]: https://137.111.246.175:8443/wsrf/services/DelegationTestService
[14]: https://137.111.246.175:8443/wsrf/services/InMemoryServiceGroup
[15]: https://137.111.246.175:8443/wsrf/services/InMemoryServiceGroupEntry
[16]: https://137.111.246.175:8443/wsrf/services/InMemoryServiceGroupFactory
[17]: https://137.111.246.175:8443/wsrf/services/IndexFactoryService
[18]: https://137.111.246.175:8443/wsrf/services/IndexService
[19]: https://137.111.246.175:8443/wsrf/services/IndexServiceEntry
[20]: https://137.111.246.175:8443/wsrf/services/JWSCoreVersion
[21]: https://137.111.246.175:8443/wsrf/services/ManagedExecutableJobService
[22]: https://137.111.246.175:8443/wsrf/services/ManagedJobFactoryService
[23]: https://137.111.246.175:8443/wsrf/services/ManagedMultiJobService
[24]: https://137.111.246.175:8443/wsrf/services/ManagementService
[25]: https://137.111.246.175:8443/wsrf/services/NotificationConsumerFactoryService
[26]: https://137.111.246.175:8443/wsrf/services/NotificationConsumerService
[27]: https://137.111.246.175:8443/wsrf/services/NotificationTestService
[28]: https://137.111.246.175:8443/wsrf/services/PersistenceTestSubscriptionManager
[29]: https://137.111.246.175:8443/wsrf/services/ReliableFileTransferFactoryService
[30]: https://137.111.246.175:8443/wsrf/services/ReliableFileTransferService
[31]: https://137.111.246.175:8443/wsrf/services/RendezvousFactoryService
[32]: https://137.111.246.175:8443/wsrf/services/ReplicationService
[33]: https://137.111.246.175:8443/wsrf/services/SampleAuthzService
[34]: https://137.111.246.175:8443/wsrf/services/SecureCounterService
[35]: https://137.111.246.175:8443/wsrf/services/SecurityTestService
[36]: https://137.111.246.175:8443/wsrf/services/ShutdownService
[37]: https://137.111.246.175:8443/wsrf/services/SubscriptionManagerService
[38]: https://137.111.246.175:8443/wsrf/services/TestAuthzService
[39]: https://137.111.246.175:8443/wsrf/services/TestRPCService
[40]: https://137.111.246.175:8443/wsrf/services/TestService
[41]: https://137.111.246.175:8443/wsrf/services/TestServiceRequest
[42]: https://137.111.246.175:8443/wsrf/services/TestServiceWrongWSDL
[43]: https://137.111.246.175:8443/wsrf/services/TriggerFactoryService
[44]: https://137.111.246.175:8443/wsrf/services/TriggerService
[45]: https://137.111.246.175:8443/wsrf/services/TriggerServiceEntry
[46]: https://137.111.246.175:8443/wsrf/services/Version
[47]: https://137.111.246.175:8443/wsrf/services/WidgetNotificationService
[48]: https://137.111.246.175:8443/wsrf/services/WidgetService
[49]: https://137.111.246.175:8443/wsrf/services/gsi/AuthenticationService
[50]: https://137.111.246.175:8443/wsrf/services/mds/test/execsource/IndexService
[51]: https://137.111.246.175:8443/wsrf/services/mds/test/execsource/IndexServiceEntry
[52]: https://137.111.246.175:8443/wsrf/services/mds/test/subsource/IndexService
[53]: https://137.111.246.175:8443/wsrf/services/mds/test/subsource/IndexServiceEntry
2009-01-01 09:56:34,067 INFO  impl.DefaultIndexService [ServiceThread-76,processConfigFile:107] Reading default registration configuration from file: /usr/local/globus/4.0.8/etc/globus_wsrf_mds_index/hierarchy.xml
2009-01-01 09:56:35,304 ERROR impl.QueryAggregatorSource [Timer-8,pollGetMultiple:149] Exception Getting Multiple Resource Properties from https://137.111.246.175:8443/wsrf/services/ReliableFileTransferFactoryService: java.rmi.RemoteException: Failed to serialize resource property org.globus.transfer.reliable.service.factory.TotalNumberOfBytesTransferred@3a0589; nested exception is: 
	org.apache.commons.dbcp.DbcpException: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
2009-01-01 09:57:35,264 ERROR impl.QueryAggregatorSource [Timer-8,pollGetMultiple:149] Exception Getting Multiple Resource Properties from https://137.111.246.175:8443/wsrf/services/ReliableFileTransferFactoryService: java.rmi.RemoteException: Failed to serialize resource property org.globus.transfer.reliable.service.factory.TotalNumberOfBytesTransferred@3a0589; nested exception is: 
	org.apache.commons.dbcp.DbcpException: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.

Apparently it is normal to see the database related errors at this stage, since it has not been set up yet.

Testing the container with the sample clients/services.

# su - yoichi
$ counter-client -s https://grid1.ramscommunity.org:8443/wsrf/services/CounterService
Got notification with value: 3
Counter has value: 3
Got notification with value: 13

This is apparently the expected response.

Configuring RFT

Configuring Postgresql

This is different from what the GTK Quickstart document suggests.

Ref: http://209.85.173.132/search?q=cache:31pmSWZoRA8J:it.toolbox.com/blogs/web2-place/how-to-install-postgres-8-on-rhelcentos-in-3-minutes-24284+postgresql+8+redhat+installation&hl=en&ct=clnk&cd=1&gl=au

CentOS comes with postgresql-libs.

If not:

# yum install postgresql-libs

Then (if they have not been installed),

# yum install postgresql postgresql-server

Next steps were suggested by Postgres note but it was not necessary, because the user postgres and /var/lib/pgsql/data (empty) already existed on CentOS 5.2. Also, GT 4.0.8 Quickstart suggests /var/lib/postgres/data but this was also wrong (i.e. /var/lib/pgsql/data is correct).

# adduser postgres
# mkdir -p /usr/local/pgsql/data
# chown postgres:postgres /usr/local/pgsql/data
# su - postgres
$ /usr/bin/initdb -D /var/lib/pgsql/data > logfile 2>&1 &
$ pwd
/var/lib/pgsql

$ cat logfile
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale en_US.UTF-8.
The default database encoding has accordingly been set to UTF8.

fixing permissions on existing directory /var/lib/pgsql/data ... ok
creating directory /var/lib/pgsql/data/global ... ok
creating directory /var/lib/pgsql/data/pg_xlog ... ok
creating directory /var/lib/pgsql/data/pg_xlog/archive_status ... ok
creating directory /var/lib/pgsql/data/pg_clog ... ok
creating directory /var/lib/pgsql/data/pg_subtrans ... ok
creating directory /var/lib/pgsql/data/pg_twophase ... ok
creating directory /var/lib/pgsql/data/pg_multixact/members ... ok
creating directory /var/lib/pgsql/data/pg_multixact/offsets ... ok
creating directory /var/lib/pgsql/data/base ... ok
creating directory /var/lib/pgsql/data/base/1 ... ok
creating directory /var/lib/pgsql/data/pg_tblspc ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 1000
creating configuration files ... ok
creating template1 database in /var/lib/pgsql/data/base/1 ... ok
initializing pg_authid ... ok
enabling unlimited row size for system tables ... ok
initializing dependencies ... ok
creating system views ... ok
loading pg_description ... ok
creating conversions ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the -A option the
next time you run initdb.

Success. You can now start the database server using:

    /usr/bin/postmaster -D /var/lib/pgsql/data
or
    /usr/bin/pg_ctl -D /var/lib/pgsql/data -l logfile start
$ /usr/bin/pg_ctl -D /var/lib/pgsql/data -l logfile start
postmaster starting

$ /usr/bin/createdb test
CREATE DATABASE

$ /usr/bin/psql test
Welcome to psql 8.1.11, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

Allows TCP/IP: ("-i" may be deprecated in version 8 or above, but it is still there in the help message.)

$ /usr/bin/pg_ctl restart -w -D /var/lib/pgsql/data -o "-i"
waiting for postmaster to shut down.... done
postmaster stopped
waiting for postmaster to start..... done
postmaster started

In /var/lib/pgsql/data/postgresql.conf:

$ vi /var/lib/pgsql/data/postgresql.conf
-- modify --
unix_socket_permissions = 0777
-- modify --
listen_addresses = '*'

This does not take effect until the postmaster is reloaded or restarted.

$ /usr/bin/pg_ctl reload
postmaster signaled
$ vi pg_hba.conf
-- insert --
host rftDatabase "globus" "137.111.246.175" 255.255.255.255 md5
/usr/bin/pg_ctl restart -w -D /var/lib/pgsql/data -o "-i"
# su postgres -c "createuser -P globus"
could not change directory to "/root"
Enter password for new role: 
Enter it again: 
Shall the new role be a superuser? (y/n) y
CREATE ROLE

# pwd
/root

(?? what was the error message about, not to be able to change to /root??)

# su - globus
$ createdb rftDatabase
CREATE DATABASE

$ psql -d rftDatabase -f $GLOBUS_LOCATION/share/globus_wsrf_rft/rft_schema.sql
psql:/usr/local/globus/4.0.8/share/globus_wsrf_rft/rft_schema.sql:6: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "requestid_pkey" for table "requestid"
CREATE TABLE
psql:/usr/local/globus/4.0.8/share/globus_wsrf_rft/rft_schema.sql:11: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "transferid_pkey" for table "transferid"
CREATE TABLE
psql:/usr/local/globus/4.0.8/share/globus_wsrf_rft/rft_schema.sql:30: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "request_pkey" for table "request"
CREATE TABLE
psql:/usr/local/globus/4.0.8/share/globus_wsrf_rft/rft_schema.sql:65: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "transfer_pkey" for table "transfer"
CREATE TABLE
psql:/usr/local/globus/4.0.8/share/globus_wsrf_rft/rft_schema.sql:71: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "restart_pkey" for table "restart"
CREATE TABLE
CREATE TABLE
CREATE INDEX

(Set the value for db user password)
$ vim $GLOBUS_LOCATION/etc/globus_wsrf_rft/jndi-config.xml
-- modify the value --
...
            <parameter>
                <name>
                password
                </name>
                <value>
                *****
                </value>
            </parameter>
...

Restart the container to load the values from the db created and populated.

# /etc/init.d/globus-4.0.8 restart
Stopping Globus container. PID: 20754
Container stopped
Starting Globus container. PID: 8167

 head /usr/local/globus/4.0.8/var/container.log
2009-01-06 18:26:11,572 ERROR service.ReliableFileTransferImpl [main,<init>:76] Unable to setup database driver with pooling.A connection error has occurred: FATAL:  password authentication failed for user "globus"

2009-01-06 18:26:12,004 WARN  service.ReliableFileTransferHome [main,initialize:97] All RFT requests will fail and all GRAM jobs that require file staging will fail.A connection error has occurred: FATAL:  password authentication failed for user "globus"

Starting SOAP server at: https://137.111.246.175:8443/wsrf/services/ 
With the following services:

[1]: https://137.111.246.175:8443/wsrf/services/AdminService
[2]: https://137.111.246.175:8443/wsrf/services/AuthzCalloutTestService
[3]: https://137.111.246.175:8443/wsrf/services/CASService

There is still some error!

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.