====== Installing GRID software ====== This is a guide to installing gLite 3.2.2 on (K)Ubuntu 8.04. There is some instructions about installing gLite on these sites: * http://www.iit.bme.hu/~kapolnai/saleve/index.php/Howto_install_gLite_UI_on_Ubuntu * https://twiki.cern.ch/twiki/bin/view/LCG/UiTarInstall But it doesn't go into enough detail, so I started my own page detailing how to install the glite software. I'm making a separate page for [[network_tuning|Network Tuning]]. ==== download ==== Get the tar balls from https://twiki.cern.ch/twiki/bin/view/LCG/UiTarInstall wget http://grid-deployment.web.cern.ch/grid-deployment/download/relocatable/glite-UI/SL5_x86_64/glite-UI-3.2.2-0.tar.gz wget http://grid-deployment.web.cern.ch/grid-deployment/download/relocatable/glite-UI/SL5_x86_64/glite-UI-3.2.2-0-external.tar.gz Untar the two files mkdir grid cd grid tar -zxf ../glite-UI-3.2.2-0.tar.gz tar -zxf ../glite-UI-3.2.2-0-external.tar.gz Create a softlink to libexpat: ln -s /usr/lib/libexpat.so.1 grid/external/usr/lib/libexpat.so.0 (does this work? only on 32bit systems?) ln -s /usr/lib/libexpat.so.1 grid/external/usr/lib64/libexpat.so.0 Create softlinks to libssl and libcrypt: ln -s /usr/lib/libssl.so.0.9.8 grid/external/usr/lib/libssl.so.6 (does this work? only on 32bit systems?) ln -s /usr/lib/libcrypto.so.0.9.8 grid/external/usr/lib/libcrypto.so.6 (does this work? only on 32bit systems?) ln -s /usr/lib/libssl.so.0.9.8 grid/external/usr/lib64/libssl.so.6 ln -s /usr/lib/libcrypto.so.0.9.8 grid/external/usr/lib64/libcrypto.so.6 Please note that depending on your exact OS, you might need a newer version of OpenSSL and link to that instead. (see below) Create a softlink to libldap: ln -s grid/external/usr/lib64/libldap-2.3.so.0 /usr/lib/libldap.so Install rpm related tools: apt-get install rpm apt-get install alien You might also need to install java JRE 1.5 (or 1.6 ?) as the tools need it. ==== certificates ==== Create directories for the certificates mkdir grid/etc/grid-security mkdir grid/etc/grid-security/certificates mkdir grid/etc/grid-security/vomsdir FIXME : We'll need a cron job to keep these up to date. There seems to need to create a script to do this: grid/glite/libexec/fetch-crl.sh Cron command: 1 6 * * * /app/grid/glite/libexec/fetch-crl.sh >> /var/log/fetch-crl-cron.log 2>&1 This probably uses grid/external/usr/sbin/fetch-crl Create a directory for the configuration scripts: mkdir grid/config ==== YAIM configuration ==== We need to make the following files: * groups.conf * users.conf * site-info.def The files groups.conf and users.conf can be empty. The file “site-info.def” is the important configuration file that we need to get right. First generate a [[software:site-info.def]]. You do this by taking one of the examples and editing it to tailor it to your site. Important parameters are: USERS_CONF=/opt/grid/config/users.conf GROUPS_CONF=/opt/grid/config/groups.conf FUNCTIONS_DIR=/opt/grid/glite/yaim/functions INSTALL_ROOT=/opt/grid OUTPUT_STORAGE=/tmp/jobOutput JAVA_LOCATION="/usr/lib/jvm/java-1.5.0-sun" # Site-wide settings SITE_EMAIL=grit@astron.nl SITE_NAME=Astron SITE_LOC="Groningen, The Netherlands" SITE_LAT=53.23821 # -90 to 90 degrees SITE_LONG=6.53481 # -180 to 180 degrees SITE_WEB="http://www.rug.nl/rc" SITE_TIER="n/a" SITE_SUPPORT_SITE="Sara NL" Next we need to do something along these lines using YAIM http://yaim.info/ ../glite/yaim/bin/yaim -c -s site-info.def -n UI_TAR After a lot of fiddling with the site-info.def this works, even though it gives some errors. One of the things you need to change is the glite/yaim/functions/utils/detect_platform because using uname -i is not POSIX compliant according to https://bugs.launchpad.net/ubuntu/+source/coreutils/+bug/111863 It works if you use uname -m instead. uname -m Also you need to edit glite/yaim/functions/config_ui_tar change the following line: yaimgridpath_append LD_LIBRARY_PATH ${GLITE_EXTERNAL_ROOT}/usr/lib You need to add: ## added by Adriaan Renting if [ "x${OS_ARCH}" = "x64BIT" ]; then if [ -d ${GLITE_EXTERNAL_ROOT}/usr/lib64 ]; then yaimgridpath_append LD_LIBRARY_PATH ${GLITE_EXTERNAL_ROOT}/usr/lib64 fi fi This generates the startup scrips. (see usage below) ==== OpenSSL ==== I needed to also update OpenSSL, as the version that came with Ubuntu 8.04 was too old and gave unresolved symbols. I got the libraries from a rpm of OpenSSL 0.9.8e and put them in this directory: > ls grid/downloads/lib64 libcrypto.so.0.9.8e libcrypto.so.6 libssl.so.0.9.8e libssl.so.6 I then updated the links made earlier to point to them. ln -s grid/downloads/lib64libssl.so.0.9.8e grid/external/usr/lib64/libssl.so.6 ln -s grid/downloads/lib64/libcrypto.so.0.9.8e grid/external/usr/lib64/libcrypto.so.6 I could probably just have copied the .so files to grid/external/usr/lib64 instead. ==== Usage ==== # gLite environment source /${APS_LOCAL}/grid/external/etc/profile.d/grid-env.csh source /${APS_LOCAL}/grid/globus/etc/globus-user-env.csh voms-proxy-init -valid 24:00 -voms lofar:/lofar/ops setenv LFC_HOST `lcg-infosites --vo lofar lfc` On the LOFAR systems there is a script in /opt/scripts/doGrid that does exactly this. ===== Errors ===== After a while I encountered this error message from voms-proxy-init: globus_gss_assist token :-1: read failure: Operation not permitted It seems it's caused by your time/date being out of sync. Fixing NTP solved the problem at least.