狼爱上狸

我胡汉三又回来了

Globus 4.0.1安装指南

Globus 4.0.1安装指南 

                     作者:施宇光 

           

        

     本文首发在cublog,转载请注名原贴地址如下:http://blog.chinaunix.net/u/21765/showart.php?id=170690

       

             

 

安装JDK

假如jdk安装文件j2sdk-1_4_2_11-linux-i586-rpm.bin放在/usr/i_files/

 

root# /usr/i_files/j2sdk-1_4_2_11-linux-i586-rpm.bin

 

出现jdk安装协议,看完后键入 y 同意。注:空格键翻页

root# rpm -ivh j2sdk-1_4_2_11-linux-i586.rpm

程序解包安装,成功。默认安装路径为/usr/java/j2sdk1.4.2_11

 

 

设置环境变量,打开~/.bash_profile文件,可以用gedit打开

root# gedit ~/.bash_profile

 

在文件中加入

export JAVA_HOME=/usr/java/j2sdk1.4.2_11

export CLASSPATH=/usr/java/j2sdk1.4.2_11/lib/dt.jar:/usr/java/j2sdk1.4.2_11/jre/lib/rt.jar:.

 

如果你使用的是Fedora Core系统,那么你还需要做如下设置,以便使系统默认使用我们刚刚安装的jdk

root#  /usr/sbin/alternatives --install /usr/bin/java java /usr/java/j2sdk1.4.2_11/bin/java 2

root# /usr/sbin/alternatives --config java

 

共有 2 个程序提供“java”。

 

 选择    命令

-----------------------------------------------

*+ 1           /usr/lib/jvm/jre-1.4.2-gcj/bin/java

   2           /usr/java/j2sdk1.4.2_11/bin/java

 

Enter 来保存当前选择[+],或键入选择号码:2

 

 

—————————————————————————————————————

root# /usr/sbin/alternatives --install /usr/bin/javac javac /usr/java/j2sdk1.4.2_11/bin/javac 2

root# /usr/sbin/alternatives --config javac

 

共有 2 个程序提供“javac”。

 

 选择    命令

-----------------------------------------------

*+ 1           /usr/lib/jvm/java-1.4.2-gcj/bin/javac

   2           /usr/java/j2sdk1.4.2_11/bin/javac

 

Enter 来保存当前选择[+],或键入选择号码:2

 

 

这里都选择2,即我们自己刚刚安装的jdk路径。

 

测试jdk是否安装成功,打开终端

root# java

Usage: java [-options] class [args...]

           (to execute a class)

   or java [-options] -jar jarfile [args...]

           (to execute a jar file)

 

where options include:

    -client       to select the "client" VM

    -server       to select the "server" VM

........................................

..........................

...............

 

出现以上信息表示java可用

 

root# javac

Usage: javac <options> <source files>

where possible options include:

 -g                        Generate all debugging info

 -g:none                   Generate no debugging info

 -g:{lines,vars,source}    Generate only some debugging info

 -nowarn                   Generate no warnings

........................................

..........................

...............

 

出现以上信息表示javac可用

安装ANT

 

http://jakarta.apache.org下载ant压缩文件apache-ant-1.6.0-bin.tar.gz,这里使用的版本是1.6.0

 

解压后,将所有文件复制到 /usr/local/ant

 

然后设置环境变量

 

root# gedit ~/.bash_profile

 

在文件中加入

export ANT_HOME=/usr/local/ant

 

在终端运行

 

root# ant

 

Buildfile: build.xml does not exist!

Build failed

 

显示如上结果即表示ant设置成功。

安装PostgreSQL

 

:按照本文使用命令时注意用户身份,root#表示根用户

 

创建安装文件放置路径

创建用户并授权给安装文件路径

root# mkdir /usr/post_install

root# adduser postgres

root# chown postgres:postgres /usr/post_install

 

下载程序源代码文件到存放路径

下载地址为ftp://ftp.postgresql.org/pub/source

 

本文使用的文件为postgresql-8.1.3.tar.bz2

 

解压软件

 

root# su postgres

postgres$ tar -jxvf /usr/post_install/postgresql-8.1.3.tar.bz2

 

进入源代码目录

 

postgres$ cd /usr/pos_install/postgresql-8.1.3

 

配置编译选项

postgres$ mkdir /usr/local/pgsql

root# chown postgres:postgres /usr/local/pgsql

postgres$ ./configure --prefix=/usr/local/pgsql

 

其中/usr/local/pgsql使我们指定的将要安装的目录

 

编译

postgres$ gmake

 

成功后显示

All of PostgreSQL successfully made. Ready to install.

 

安装

postgres$ gmake install

 

成功后显示

PostgreSQL installation complete.

 

创建数据库存储目录

root# mkdir -p /etc/database/pgsql_data/

root# chown postgres:postgres /etc/database/pgsql_data/

 

初始化数据库

postgres$ /usr/local/pgsql/bin/initdb -D /etc/database/pgsql_data/

 

成功后显示如下

Success. You can now start the database server using:

 

    /usr/local/pgsql/bin/postmaster -D /etc/database/pgsql_data

or

    /usr/local/pgsql/bin/pg_ctl -D /etc/database/pgsql_data -l logfile start

 

设置共享库

root# /sbin/ldconfig /usr/local/pgsql/lib

 

设置环境变量

root# gedit ~/.bash_profile

 

启动数据库服务

postgres$ /usr/local/pgsql/bin/pg_ctl -D /etc/database/pgsql_data -l logfile start

 

成功后显示

postmaster starting

You have mail in /var/spool/mail/root

 

创建测试库

postgres$ /usr/local/pgsql/bin/createdb test

 

成功后显示

CREATE DATABASE

 

试用测试库

postgres$ /usr/local/pgsql/bin/psql test

 

成功后显示

Welcome to psql 8.1.3, 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

 

test=#

 

 

启动脚本,以便系统启动时自动加载PostgreSQL服务

 

将源码文件夹下的linux文件拷贝到init.d

root# cp /usr/post_install/postgresql-8.1.3/contrib/start-scripts/linux /etc/init.d/postgresql

 

编辑此文件

root# gedit /etc/init.d/postgresql

 

更改参数为自己安装时设定的目录

# Installation prefix

prefix=/usr/local/pgsql   :安装目录

 

# Data directory

PGDATA="/etc/database/pgsql_data"   :数据库目录

 

 

如果需要通过远程网络访问数据库,同时修改start,restart如下

 

start)

    $ECHO_N "Starting PostgreSQL: "$ECHO_C

    su - $PGUSER -c "$DAEMON -i -D '$PGDATA' &" >>$PGLOG 2>&1

    echo "ok"

    ;;

-----------------------------

 restart)

    echo -n "Restarting PostgreSQL: "

    su - $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast -w"

    su - $PGUSER -c "$DAEMON -i -D '$PGDATA' &" >>$PGLOG 2>&1

    echo "ok"

    ;;

 

最后修改权限

root# chmod a+x /etc/init.d/postgresql

root# chkconfig --add postgresql

 

 

安装zlib

下载zlib-1.2.3.tar.gz,解压缩到目录

 

编译准备

root# ./configure --prefix=/usr --shared

 

编译

root# make

 

测试共享库

root# make check

 

成功后显示

*** zlib test OK ***

 

安装共享库

root# make install

 

编译并安装静态库

root# make clean

root# ./configure --prefix=/usr

root# make

root# make check

root# make install

 

修改静态库权限

root# chmod 644 /usr/lib/libz.a

 

我们可以将库转移到通常的/lib目录下

root# mv /usr/lib/libz.so.* /lib

root# ln -sf ../../lib/libz.so.1 /usr/lib/libz.so

 

zlib安装完毕

 

安装lam-mpi

 

http://www.lam-mpi.org下载文件,本文使用lam-7.1.2-1.i586.rpm

 

root# rpm -ivh lam-7.1.2-1.i586.rpm

 

root# lamboot

 

显示提示信息即表示安装成功

 

lam-mpi安装完毕

 

至此前提软件安装完毕

 

安装GT4.0.1

 

root用户创建 globus 用户,并创建安装目录,将权限付给globus

root# mkdir /usr/local/globus-4.0.1

root# chown globus:globus /usr/local/globus-4.0.1

 

下载GT4.0.1原文件包, globus 用户解压并进行配置。

注:安装用原文件应该用globus用户解压到一个权限归globus用户所有的文件夹,否则下边的命令将出现权限错误

 

进入解压目录后,进行编译设置

globus$ export GLOBUS_LOCATION=/usr/local/globus-4.0.1

globus$ ./configure --prefix=$GLOBUS_LOCATION

 

注:为了方便执行,可以将export GLOBUS_LOCATION=/usr/local/globus-4.0.1加入到/etc/profile~/.bash_profile

 

无错误出现后即可进行编译

globus# make 2>&1 | tee build.log

 

也可以不加参数,直接make,不同在于上边参数可以生成编译日志文件build.log,如果编译失败可疑分析原因。

 

接下来就是漫长的编译过程。

 

编译成功后即可进行安装

globus# make install

 

无错误提示即表示安装完成。下边我们进行GT4的配置

 

----------------------------------------------

 

配置GT4

 

作为globus登录,设置GLOBUS_LOCATION指向GT4的安装路径

globus$ export GLOBUS_LOCATION=/usr/local/globus-4.0.1

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

 

注:在“.”的后边有一个空格。

 

申请主机证书

 

为了运行GT4,必须为主机分配证书。其中:

证书必须包含两个文件:hostcert.pemhostkey.pem

这两个文件必须必须在正确的路径下 /etc/grid-security/

主机在DNS上必须有一个固定的域名,不可以运行在DHCP服务的服务器上。

 

为此,可以选择:

 

从一个以及存在的CA处申请一个证书。

 

安装SimpleCA,并使之为我们分配证书。

 

使用globus提供的low-trust证书。

 

这里,我们选择一个比较容易实现的方法,就是安装SimpleCA。在下面一节里面我们将介绍如何安装和配置SimpleCA

 

如果是在第一台机器上安装也应该安装SimpleCA,以便以后为其他多台机器提供服务。

 

安装和配置SimpleCA

 

1.创建用户

 

       保证系统中存在这样的用户:

 

l           普通的用户账号,用来执行客户端的程序。

 

l           一个globus账号,用来执行管理的任务。如启动、停止容器,部署服务等。同时,这个用户还负责管理SimpleCA。为此,需要保证该用户对$GLOBUS_LOCATION目录有读写权限。在第1章中我们以及创建了这样一个用户。

 

注:如果编译安装的时候没有正确的设定权限,可以用chown命令来修改

root# chown globus:globus -R /usr/local/globus-4.0.1

 

注:参数-R表示递归的将目录下所有的子目录及文件同时更改权限

 

2.运行安装脚本

 

       对每个网格,只需运行一次下面的脚本即可。

globus$ export GLOBUS_LOCATION=/usr/local/globus-4.0.1

globus$ GLOBUS_LOCATION/setup/globus/setup-simple-ca

 

在此过程中,程序会提醒你关于你想创建的CA的信息,如:

C e r t i f i c a t e    A u t h o r i t y    S e t u p

 

This script will setup a Certificate Authority for signing Globus

users certificates. It will also generate a simple CA package

that can be distributed to the users of the CA.

 

The CA information about the certificates it distributes will

be kept in:

 

/home/globus/.globus/simpleCA/

/usr/local/globus-4.0.1/setup/globus/setup-simple-ca: line 250: test: res: integer expression expected

 

The unique subject name for this CA is:

 

cn=Globus Simple CA, ou=simpleCA-syg.localdomain, ou=GlobusTest, o=Grid

 

Do you want to keep this as the CA subject (y/n) [y]:

 

推荐默认选项,按y继续。接下来,会提示你输入用来发送证书的email地址:

Enter the email of the CA (this is the email where certificate requests will be sent to be signed by the CA):

 

其实会在本地产生认证文件,也可以任意输入email地址

这时,系统提示你输入证书过期的时间。默认是5年,接受即可。

The CA certificate has an expiration date. Keep in mind that                 once the CA certificate has expired, all the certificates                 signed by that CA become invalid. A CA should regenerate                 the CA certificate and start re-issuing ca-setup packages                 before the actual CA certificate expires. This can be done                 by re-running this setup script. Enter the number of DAYS                 the CA certificate should last before it expires.

 

[default: 5 years (1825 days)]:

 

紧接着,系统提示输入生成密钥的短语,即密码。正确输入并牢记,不得包含空格。

Generating a 1024 bit RSA private key

 

                ........++++++

 

                ................++++++

 

                writing new private key to '/home/globus/.globus/simpleCA//private/cakey.pem'

 

                Enter PEM pass phrase:

 

最后,你会看见下面的提示:

A self-signed certificate has been generated for the Certificate Authority with the subject:                            /O=Grid/OU=GlobusTest/OU=simpleCA-mayed.mcs.anl.gov/CN=Globus Simple CA

 

If this is invalid, rerun this script

 

setup/globus/setup-simple-ca

 

and enter the appropriate fields.

 

------------------------------------------------------------------

 

The private key of the CA is stored in /home/globus/.globus/simpleCA//private/cakey.pem

 

The public CA certificate is stored in /home/globus/.globus/simpleCA//cacert.pem

 

The distribution package built for this CA is stored in

 

/home/globus/.globus/simpleCA//globus_simple_ca_82c6af8a_setup-0.17.tar.gz

 

这里显示的信息对于以后在其它机器上进行安装你的网格是十分重要的。在最后一行的数字82c6af8a是你的CA hash,它是一个8位的十六进制的字符串。安装继续进行,直到你看到类似下面的内容,证明安装以及结束。

 

******************************************************************

 

Note: To complete setup of the GSI software you need to run the following script as root to configure your security configuration directory:

 

/opt/gt4/setup/globus_simple_ca_68ea3306_setup/setup-gsi

 

For further information on using the setup-gsi script, use the -help option. The -default option sets this security configuration to be the default, and -nonroot can be used on systems where root access is not available.

 

******************************************************************

 

setup-ssl-utils: Complete

 

如果出现问题,可以尝试以下命令

root# GPT_LOCATION=/usr/local/globus-4.0.1

root# /usr/local/globus-4.0.1//sbin/gpt-build -force /home/globus/.globus/simpleCA//globus_simple_ca_82c6af8a_setup-0.18.tar.gz

 

root# $GLOBUS_LOCATION/sbin/gpt-postinstall

root# $GLOBUS_LOCATION/sbin/gpt-build /home/globus/.globus/simpleCA//globus_simple_ca_82c6af8a_setup-0.18.tar.gz

 

3.安装GSI

 

       root用户登录,运行:

root# $GLOBUS_LOCATION/setup/globus_simple_ca_CA_Hash_setup/setup-gsi -default

 

其中,Hash表示你的CA Hash,应该用82c6af8a代替。这里每次安装时获得的CA Hash是不一样的,应该注意。

setup-gsi: Configuring GSI security

Making /etc/grid-security...

mkdir /etc/grid-security

Making trusted certs directory: /etc/grid-security/certificates/

mkdir /etc/grid-security/certificates/

Installing /etc/grid-security/certificates//grid-security.conf.82c6af8a...

Running grid-security-config...

Installing Globus CA certificate into trusted CA certificate directory...

Installing Globus CA signing policy into trusted CA certificate directory...

setup-gsi: Complete

 

显示如上即表示GSI安装正确。

-----------------------------------------------------

 

证书的申请和发放

 

host证书

 

1.申请一个host证书

 

       这个证书应该是给服务器申请的,这样才可以向用户发放证书。首先,使用root用户登录,运行命令:

root# grid-cert-request –host ‘hostname’

 

这里的hostname是服务器的主机名,比如“mci.uestc.edu.cn”。该命令会在服务器上创建3个文件,分别是:

 

l           /etc/grid-security/hostkey.pem

 

l           /etc/grid-security/hostcert_request.pem

 

l           /etc/grid-security/hsotcert.pem(这是一个空的文件)

 

之后,会通过邮件的方式将hostcert_request.pem发送给CA的管理员,即globus用户。如果hostname写本机地址,则在本机的/etc/grid-security下寻找到三个文件,自行拷贝出来,进行下边的签名步骤

 

2.对host证书签名

 

       作为globus用户登录,并运行如下命令:

globus$ grid-ca-sign –in hostcert_request.pem –out hostsigned.pem

 

这个命令是对接受到的host证书进行签名,从而生成hostsigned.pem文件。在此过程中,系统提示globus用户输入最初安装SimpleCA时输入的短语。

 

3.获得签名证书

 

作为root用户登录,将刚才生成的hostsinged.pem文件移到/etc/grid-security/目录下并改名为hostcert.pem,从而覆盖原先的空文件。这时,该文件的所有者是root,同时对其它用户是只读的权限。

 

用户证书

 

1.申请证书

 

首先,用一个普通用户登录。然后在命令行输入如下命令:

 

user$ grid-cert-request

 

在此过程中,会提示你输入passphrase。这个是用来生成密钥的短语,要牢记。否则只能重新申请证书。

 

       最后,系统中会生成如下三个文件:

 

·         ~$USER/.globus/usercert.pem (empty)

 

·         ~$USER/.globus/userkey.pem

 

·         ~$USER/.globus/usercert_request.pem

 

其中usercert.pem是空文件,需要另外获得。此时,会用email方式将usercert_request.pemSimpleCA的管理员。同样,如果host配置时使用本机地址,则在本地的~$USER/.globus/下即可找到文件,拷贝出来签名。

 

2.对申请的证书进行签名

 

       SimpleCA的管理员账号globus登录,并运行如下命令

 

globus$ grid-ca-sign -in usercert_request.pem -out signed.pem

 

对通过email收到的usercert_request.pem进行签名。这时,系统会提示globus用户输入在安装SimpleCA过程中输入的passphrase。正确输入后就会根据usercert_request.pem生成一个signed.pem文件,并通过email将其发送给申请证书的用户。

 

3.获得签名证书

 

       用普通用户登录,并接收来自email的经过签名的signed.pem文件,将其拷贝到~$USRE/.globus/目录下,并改名为usercert.pem。从而覆盖原先生成的空文件。

 

测试

 

       为了对安装在/etc/grid-security/certificates的证书进行校验,需要运行如下命令:

user$ grid-proxy-init –debug –verify

 

如果一切正确,输出的结果类似下面的内容:

 

user$ grid-proxy-init -debug -verify

 

        User Cert File: /home/user/.globus/usercert.pem

 

        User Key File: /home/user/.globus/userkey.pem

 

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

 

        Output File: /tmp/x509up_u1817

 

        Your identity: /O=Grid/OU=GlobusTest/OU=simpleCA-mayed.mcs.anl.gov/OU=mcs.anl.gov/CN=User Name

 

        Enter GRID pass phrase for this identity:

 

        Creating proxy ..............................++++++++++++

 

        ...............++++++++++++

 

        Done

 

        Proxy Verify OK

 

        Your proxy is valid until: Sat Mar 20 03:01:46 2006

使容器可以访问证书

 

       通过上述方法获得证书的host key文件(/etc/grid-security/hostkey.pem)对于root用户使只读的。而此时容器会以非root用户身份运行(可能使globus用户)。为了让容器也可以访问证书,必须使用root账号登录并做如下改动:

root# cd /etc/grid-security

 

root# cp hostkey.pem containerkey.pem

 

root# cp hostcert.pem containercert.pem

 

root# chown globus.globus containerkey.pem containercert.pem

 

 

执行结束后,/etc/grid-security目录看起来像下面这样:

root# ls -l *.pem

 

-rw-r--r-- 1 globus globus 1785 Oct 14 14:47 containercert.pem

 

-r-------- 1 globus globus 887 Oct 14 14:47 containerkey.pem

 

-rw-r--r-- 1 root root 1785 Oct 14 14:42 hostcert.pem

 

-r-------- 1 root root 887 Sep 29 09:59 hostkey.pem

 

 

添加授权

 

为用户添加授权,使之可以访问服务。首先,需要作为root用户登录,创建/etc/grid-security/grid-mapfile文件。这时,你需要两部分信息:

 

l           用户的主体名(subject name

 

l           这个主体名应该映射到的账号(account name

 

这个文件的语法是每个用户使用一行来表示,前面是用户的主体名,后面跟着用户的账号。

 

       为了得到这两部分信息,可以使用grid-cert-info命令得到用户的主体名,并用whoami命令得到用户的账号。例如:

 

user$ grid-cert-info -subject

 

/O=Grid/OU=GlobusTest/OU=simpleCA-hostname/OU=mcs.anl.gov/CN=user

 

user$ whoami

 

user

可以使用grid-mapfile-add-entry命令向grid-mapfile文件中添加用户。例如:

 

root# $GLOBUS_LOCATION/sbin/grid-mapfile-add-entry -dn "/O=Grid/OU=GlobusTest/OU=simpleCA-mayed.mcs.anl.gov/OU=hostname/CN=user" -ln user

结果grid-mapfile看起来应该像这样:

 

"/O=Grid/OU=GlobusTest/OU=simpleCA-hostname/OU=hostname/CN=user" user

 

注:主体名两侧的双引号是必须的,因为这样可以忽略其中包含的空格。其中hostname即申请host证书时的服务器名。user是普通用户名。

 

基本安装结束。

posted on 2007-06-20 10:21 狼爱上狸 阅读(2260) 评论(2)  编辑  收藏 所属分类: Globus

评论

# re: Globus 4.0.1安装指南[未登录] 2007-10-20 15:29 刘伟

你好 ,首先感谢 ,我看这你的blog装上了globus但问题是 只要重启就要重新安装 [root@localhost ~]# globus-start-container -nosec
bash: globus-start-container: command not found
谢谢帮忙   回复  更多评论   

# re: Globus 4.0.1安装指南[未登录] 2007-12-19 11:47 虾米

能不能帮帮我 我是普通二本学校的研究生 我想在我电脑上装Globus 4.0.1 但是一点头绪都没有能不能帮帮我 可以吧你的QQ给我吗?!有时间的话请回复,谢谢!  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: