Project

General

Profile

Script d'installation (sans support des certificats grille)

Lorsqu'on n'a pas besoin du support des certificats grille (globus), la compilation et l'installation des clients iRODS peut s'effectuer plus simplement à partir d'un script.

Les instructions pour télécharger et exécuter le script sont ici: https://github.com/mesocentre-mcia/mcia-irods-client-install

Cette méthode vous donnera aussi accès à quelques commandes supplémentaires que vous pourrez trouver utiles (voir https://github.com/mesocentre-mcia/mcia-irods-utils)

Compilation à partir des sources (avec support des certificats grilles)

Vous travaillez sur votre ordinateur personnel mais vous devez avoir un accès root.

Installation de Globus

L'authentification au service iRODS de France-Grilles se fait par certificat. Les clients iRODS doivent donc être compilés avec le Globus Toolkit de Globus pour en utiliser la partie sécurité GSI. Pour cela il est nécessaire d'installer ce toolkit de Globus.
Pour en savoir plus, on peut consulter une présentation synthétique de Globus Toolkit.

A noter : pour ceux qui travaillent sur une User Interface, les outils Globus sont déjà installés, cette étape n'est donc pas nécessaire. Il suffira par la suite simplement de définir l'emplacement des librairies globus.

Travaillons avec la version 5.2.4 de Globus. Pour cela, downloader le tarball de Globus (depuis le site toolkit de Globus, choisir la version, puis aller dans "Full Toolkit Source Download"). Ensuite :

##SL6 only - un "yum" au préalable pour résoudre les dépendances
yum install screen make perl-Archive-Tar gcc lbstdc++-devel libtool libtool-ltdl-devel  openssl-devel

#installation de globus toolkit
tar -xzf gt5.2.4-all-source-installer.tar.gz
cd gt5.2.4-all-source-installer
export GLOBUS_LOCATION=/usr/local/globus
./configure --prefix=$GLOBUS_LOCATION
make globus-gsi > build.log 2>&1   # les librairies sont placées dans $GLOBUS_LOCATION/lib64
# et il faut linker un fichier include
cd /usr/local/globus-c4/include/globus/
ln -s gcc64dbg/globus_config.h .

Pour les Mac OS X en 32 bits (<10.8) :
Les Mac dont l'OS X est nativement en 32 bits (tapez uname -m ou bien arch pour le controler : si le retour donne i386 votre OS est en 32 bits). Pour que le Globus toolkit soit compatible avec iRODS il faut forcer la compilation en 64 bits (les processeurs sont en général en 64 bits). Pour cela il faut modifier les makefile après la configuration de Globus :

tar -xzf gt5.2.4-all-source-installer.tar.gz
cd gt5.2.4-all-source-installer
export GLOBUS_LOCATION=/usr/local/globus
./configure --prefix=$GLOBUS_LOCATION --with-flavor=gcc64
make globus-gsi  #les libraries sont placées dans $GLOBUS_LOCATION/lib/
cd /usr/local/globus
ln -s lib/ lib64
cd /usr/local/globus/include/globus
ln -s gcc64/globus_config.h .

Pour avoir les lignes de commandes make : installer Xcode, lorsque c'est fait, démarrer ce logiciel, clicker sur "Downloads", sélectionner "Command Line Tools" et clicker sur "Install".

Les autorités de certifications

Dernière distribution du package des ACs de Grilles contenant les certificats et les CRLs des ACs, et les CP/CPS; ce dépôt est à jour et contient des fichiers sous la forme de RPMs ou de fichiers compressés (.tar.gz).

Ici, nous allons récupérer les fichiers compressés pour les mettre dans $GLOBUS_LOCATION/share/certificates/ (le sous-répertoire "certificates" est à créer) :

cd $GLOBUS_LOCATION/share/
mkdir certificates               # création du répertoire attendu
cd certificates
wget -r -nd --no-parent http://dist.eugridpma.info/distribution/current/accredited/tgz/
for i in `ls *gz` ; do tar -xzf $i ; done   # décompression des fichiers
mv */* .                                    # on met les fichiers dans le répertoire attendu

Installation des clients iRODS

Pour l'installation des clients iRODS, vous devez travailler sous votre propre compte (irods ne s'installe pas sous root). Tout d'abord, récuperez le tarball sur le site officiel iRODS (irods3.3.tgz), ou bien téléchargé le fichier irods3.3.tgz directement. Puis :

tar -xzf irods3.3.tgz # création du répertoire @iRODS@ au même endroit
cd iRODS/
# il faut ensuite changer le nom des librairies de globus recherchées dans les makefiles de iRODS
grep -r "GSI_INSTALL_TYPE2=_\$(GSI_INSTALL_TYPE)" * | grep -v original | cut -d':' -f1 | while read line ; do echo $line ;   sed -i -e 's/GSI_INSTALL_TYPE2=_\$(GSI_INSTALL_TYPE)/GSI_INSTALL_TYPE2=/' $line;  done
export LD_LIBRARY_PATH=/usr/local/globus/lib64

Note pour les utilisateurs avec un Mac OS X : dans le fichier de configuration config/platform.mk, il faut enlever les options de compilations " -z muldefs".

Nous avons tout en mains pour installer les clients iRODS

./irodssetup   #des questions sont posées en ligne
#    Include additional prompts for advanced settings [no]? 
#    Build an iRODS server [no]? ....................'no' car nous voulons seulement les clients
#    Include GSI [yes]?          ....................'yes' car nous nous authentifierons par certificat
#    GLOBUS_LOCATION [/usr/local/globus]? ........... indiquer ici le chemin vers votre installation de globus
#    GSI Install Type to use (or 'none') [globus]? .. 'globus' sans importance
#    Include Kerberos [no]?  ........................'no'
#    Include the NCCS Auditing extensions [no]? .....'no'
PATH=$PWD/clients/icommands/bin:$PATH  # pour avoir accès directement aux clients

Le fichier attachment:irodssetup_clients.txt donne la copie d'écran complète lors du setup de iRODS pour installer les clients iRODS.

A ce niveau-là, les clients ont été construits. Ils sont dans clients/icommands/bin.

La suite

Il reste maintenant à mettre en place votre environnement de travail (le fichier qui vous permettra de vous identifier). Voir la page wiki Mise en place de son environnement de travail iRODS.