Tags:
create new tag
, view all tags

Quelques clients et interfaces pour iRODS


Côté client uniquement

JUX

Installation

Télécharger le jar à l'adresse suivante :

https://forge.in2p3.fr/wiki/jux

Pour l'installation, il suffit d'exécuter (à la main et sans hache de préférence) la commande :

java -jar <nom_du_jar>

par exemple : java -jar install-jux-1.3.jar

Il suffit alors de suivre à coup de clics la procédure qui permet par exemple de choisir le répertoire d'installation.

Configuration

Pour configurer l'accès à iRODS, il faut modifier le fichier
<rep_install>/etc/jsaga-universe.xml
Si on veut une authentification par identifiant/mot de passe, il doit ressembler à :
<?xml version="1.0" encoding="UTF-8"?>
<UNIVERSE name="World" xmlns="http://www.in2p3.fr/jsaga">
    <GRID name="<contexte_de_sécurité>" contextType="UserPass">
        <attribute name="UserID" value="<identifiant>"/>
        <attribute name="UserPass" value="<mot_de_passe>"/>
        <data type="irods"/>
        <data type="irodsl">
            <schemeAlias>irods</schemeAlias>
        </data>
    </GRID>
</UNIVERSE>
Le contexte_de_sécurité est le nom que l'on utilisera dans le paragraphe suivant quand on définira l'accès à iRODS.

Démarrage et accès à iRODS

Pour démarrer JUX, il suffit de lancer l'exécutable jux se trouvant à la racine du répertoire d'installation. Il ne reste plus qu'à configurer l'accès (la connexion) à iRODS. Dans le menu Tools, choisir (!) Connection manager. Puis cliquer sur new connection. Une fenêtre s'ouvre, il faut alors :
  • choisir un nom de connexion arbitraire,
  • choisir un protocol dans la liste, pour nous ce sera irods,
  • renseigner le nom d'hôte de la machine hébergeant iRODS,
  • son port (par défaut 1247),
  • la base du chemin à explorer (par exemple / ou /tempZone ou...),
  • le nom de la zone (par exemple tempZone),
  • le domaine (???),
  • la ressource par défaut (demoResc),
  • choisir le contexte de sécurité (celui que l'on a défini précédemment).
Un clique sur save, on ferme le "connection manager" et c'est gagné !


Côtés serveur et client

davis + client WebDAV

Installer davis (sur le serveur hébergeant iRODS ou pas)

TIP L'installation de jetty/davis est expliquée ici avec les procédures selon que l'on veuille ou non mettre apache en frontal par exemple.

Nous allons ici détailler la procédure d'installation de davis 8.2 avec apache qui gérera le chiffrement ssl de la connexion. La distribution utilisée est ubuntu 9.04.

Installation
  • On installe ce dont on va avoir besoin :

        sudo apt-get install apache2 sun-java6-jre

  • On télécharge davis http://code.google.com/p/webdavis/downloads/list, et on le décompresse où l'on veut, ce sera notre JETTY_HOME. Afin de simplifier les futurs mises-à-jour et de raccourcir leur durée, on crée un lien symbolique nommé davis pointant sur le répertoire fraîchement décompressé. Par exemple :

        cd /home/user
        wget http://webdavis.googlecode.com/files/davis-0.8.2.tar.gz
        tar xzf davis-0.8.2.tar.gz
        ln -s davis-0.8.2 davis

  • On copie le fichier jetty.sh de JETTY_HOME/bin vers /etc/init.d/ en le renommant en davis. On le rend exécutable :

        cd davis
        sudo cp bin/jetty.sh /etc/init.d/davis
        sudo chmod +x /etc/init.d/davis

  • On crée le fichier /etc/default/jetty dans lequel on choisit le répertoire d'installation ainsi que le répertoire contenant java et les options que l'on veut passer à ce dernier. Ce fichier sera lu par notre script de démarrage.

        sudo touch /etc/default/jetty
        sudo echo 'JETTY_HOME=/home/user/davis' >> /etc/default/jetty
        sudo echo 'JAVA_HOME=/usr/lib/jvm/java-6-sun' >> /etc/default/jetty
        sudo echo 'JAVA_OPTIONS="-server -Xms768m -Xmx1024m"' >> /etc/default/jetty

  • davis pourra ainsi être démarré, redémarré ou arrêté comme tout service via : sudo /etc/init.d/davis {start|restart|stop} . Si on veut que davis démarre en même temps que la machine, on peut exécuter la commande suivante :

        update-rc.d davis defaults

Configuration de jetty
  • jetty utilise un principe appelé connector pour définir comment il va servir ses servlets. Comme nous utilisons apache, il nous faut donc désactiver son connecteur ssl. Donc, dans le fichier JETTY_HOME/etc/jetty.xml on commente ou supprime la section correspondante au connecteur ssl.

  • On ajoute/modifie ensuite le connecteur ajp pour apache :
        <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
        <!-- Add a AJP listener on port 8009                           -->
        <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
        <Call name="addConnector">
          <Arg>
             <New class="org.mortbay.jetty.ajp.Ajp13SocketConnector">
               <Set name="port">8009</Set>
               <Set name="ThreadPool">
                 <New class="org.mortbay.thread.BoundedThreadPool">
                   <Set name="minThreads">50</Set>
                   <Set name="maxThreads">500</Set>
                   <Set name="MaxIdleTimeMs">0</Set>
               </New>
               </Set>
               <Set name="statsOn">false</Set>
             </New>
          </Arg>
        </Call>

Configuration de apache
  • On crée un VirtualHost pour apache. On crée donc un fichier que l'on nommé davis dans /etc/apache2/sites-available/. Celui-ci doit ressembler à ceci :
        <VirtualHost *:443>
          ServerName vospace.u-strasbg.fr
          DocumentRoot "/var/www"

          SSLEngine On
          SSLCertificateFile /etc/ssl/private/localhost.pem

          ProxyRequests Off

          ProxyPass / ajp://localhost:8009/ flushpackets=on
          ProxyPreserveHost On

          <Location />
            Satisfy Any
            Order Allow,Deny
            Allow from all
          </Location>
        </VirtualHost>

  • Soit on prend notre certificat généré par une CA soit on crée notre certificat ssl auto-signé que l'on place dans /etc/ssl/private/localhost.pem. Pour cette dernière solution :
        sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/private/localhost.pem

  • Et on active les modules ssl et ajp de apache ainsi que notre VirtualHost avant de redémarrer apache :
        sudo a2enmod ssl
        sudo a2enmod proxy_ajp
        sudo a2ensite davis
        sudo /etc/init.d/apache2 restart

Configuration de davis
La configuration de davis est expliquée ici. Par exemple, vous pouvez :
  • Éditer le fichier JETTY_HOME/webapps/root/WEB-INF/web.xml, chercher <param-name>config-files</param-name> pour remplacer <param-value>[...]</param-value> par <param-value>davis.properties</param-value>.
  • Éditer le fichier JETTY_HOME/webapps/root/WEB-INF/davis.properties pour mettre les paramètres comme il faut. Sans les commentaires, cela peut ressembler à :
        request-uri.charset=UTF-8
        acceptBasic=false
        alwaysAuthenticate=true
        closeOnAuthenticate=false
        contextBase=
        contextBaseHeader=
        shared-token-header-name=
        cn-header-name=
        admin-cert-file=
        admin-key-file=
        organisation-name=Davis
        authentication-realm=<Texte à afficher à la connexion>
        organisation-logo=<URL du logo en mode Web>
        myproxy-server=
        server-type=irods
        default-idp=eResearchSA
        server-port=1247
        server-name=<nom de domaine complet du serveur>
        zone-name=<nom de la zone iRODS>
        default-domain=
        default-resource=
        proxy-host=
        proxy-port=
        proxy-username=
        proxy-password=

  • On peut maintenant démarrer davis :
        sudo /etc/init.d/davis start

clients WebDAV

Il existe divers clients pour le protocol WebDAV par exemple :
  • Sous windows : l'Explorateur de fichiers, Internet Explorer.
  • Sous linux (sous X) : les explorateurs de fichiers de base de gnome ou kde.
  • Sous linux (en console) : cadaver.

Exemple avec gnome :

  • Menu "Raccourcis" -> "Se connecter à un serveur..."
  • Fenêtre "Connexion au serveur"
    • Type de service : WebDAV (ou WebDAV sécurisé)
    • Serveur : nom de domaine du serveur
    • Port : [vide]
    • Dossier : chemin à explorer (par exemple / ou /tempZone ou...)
    • Nom d'utilisateur : [vide]
    • "Se connecter"
  • Rentrer les nom d'utilisateur et mot de passe.
  • Il est maintenant possible de naviguer dans iRODS comme dans une arborescence locale.


-- VincentMeslard - 03 Dec 2009
Topic revision: r2 - 2009-12-23 - VincentMeslard
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback