作者:施宇光 本文首发在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 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.pem和hostkey.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.pem给SimpleCA的管理员。同样,假如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是普通用户名。 基本安装结束。 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-30 05:29 , Processed in 0.146140 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.