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 TIP](/twiki/pub/TWiki/TWikiDocGraphics/tip.gif)
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