scenari
 

SCENARIserver3.3 Linux

SCENARIserver doit être installé comme une webapp dans un serveur de servlet comme Tomcat.
Cette webapp peut soit partager un serveur de servlets avec d'autres applications, soit être installée dans un serveur dédié.

Attention !

Cette page décrit l'installation de SCENARIserver3.3, 3.4 et 3.5 UNIQUEMENT. Pour les versions précédentes veuillez vous reporter aux pages ci-dessous:

Attention !

Notes de versions :

  • Il semble que SCENARIserver 3.5.0.05 ai une erreur qui empêche son fonctionnement sous Linux. Veuillez installer la nightly 3.5 ou les futures versions.
  • OpenOffice.org 2.4.1 a rendu le "start wizard" strictement obligatoire (boite de dialogue "register / already registered / never register"). Donc, il vous faut soit le lancer une fois après l'installation en mode graphique et passer ce wizard, soit installer une autre version d'OpenOffice.org

Création d'un SCENARIserver dédié

Prérequis

  • Téléchargez les constituants du serveur:
    • Téléchargez la JRE 1.5 de SUN (prendre Linux (self-extracting file))
    • Téléchargez la librairie de manipulation d'images JAI (utilisé par SCENARI pour toutes les manipulations d'images)
    • Téléchargez le serveur de servlet tel que Tomcat (ou éventuellement jetty à la place, plus léger mais sur lequel nous avons fait moins de tests)
    • Recommandé : SCENARIserveur 3.4 et supérieurs peuvent utiliser ImageMagick pour effectuer les conversions d'image, avec une qualité supérieur a JAI. Vous pouvez utiliser la version d'ImageMagick propre à votre distribution Linux (c'est un outil très courant), pour vérifier s'il est installé tapez "convert" dans un shell, sinon passez par l'outil d'installation de package de votre distribution pour l'obtenir.
    • Recommandé : pour certains modèles de document ou pour intégrer des ressources openoffice, il est vivement recommandé d'installer le package "msttcorefonts" de votre distribution linux
  • Téléchargez les éléments nécessaires à la construction de la webapp SCENARIserver :
  • SCENARIserver doit se connecter à OpenOffice pour plusieurs types de générations or OpenOffice à besoin d'un serveur X pour fonctionner. Bien que dans le cadre de SCENARIserver OpenOffice puisse se connecter au serveur X11 présent par défaut sur la machine (souvent sur le DISPLAY 0) il est conseillé de lancer un serveur X spécifiquement pour OpenOffice. Dans cet exemple nous allons utiliser un serveur xvfb, serveur X virtuelle.
    • Assurez vous d'avoir OpenOffice d'installé, par ailleurs assurez vous que OpenOffice se lance bien sous le login choisi pour SCENARIserver (dans notre exemple SCENARIserver sera lancé en temps que root)
    • Assurez vous d'avoir xvfb d'installé (xvfb est disponible pour la majorité des distributions Linux).

Construction du serveur

Dans cet exemple nous allons installer SCENARIserver dans le dossier /opt qui est l'endroit usuelle pour l'installation d'éléments extérieurs à la distribution Linux.

  1. créez le dossier /opt/SCENARIserver3.3/
    [root@kelispost01 ~]# mkdir /opt/SCENARIserver3.3
    [root@kelispost01 ~]# cd /opt/SCENARIserver3.3
    [root@kelispost01 SCENARIserver3.3]# 
    
  2. installez la JRE de SUN dans /opt/SCENARIserver3.3/jre
    [root@kelispost01 SCENARIserver3.3]# cp /home/sam/downloads/jre-1_5_0_10-linux-i586.bin .
    [root@kelispost01 SCENARIserver3.3]# chmod u+x jre-1_5_0_10-linux-i586.bin 
    [root@kelispost01 SCENARIserver3.3]# ./jre-1_5_0_10-linux-i586.bin 
    Sun Microsystems, Inc.  Binary Code License Agreement
    ...
    Done.
    [root@kelispost01 SCENARIserver3.3]# mv jre1.5.0_10/ jre
    [root@kelispost01 SCENARIserver3.3]# rm -f jre-1_5_0_10-linux-i586.bin 
    
  3. installez la librairie JAI dans la JRE (dans /opt/SCENARIserver3.3/jre)
    [root@kelispost01 SCENARIserver3.3]# cd jre
    [root@kelispost01 jre]# cp /home/sam/downloads/jai-1_1_3-lib-linux-i586-jre.bin .
    [root@kelispost01 jre]# chmod u+x jai-1_1_3-lib-linux-i586-jre.bin 
    [root@kelispost01 jre]# ./jai-1_1_3-lib-linux-i586-jre.bin 
    Sun Microsystems, Inc.
    ...
    Done.
    [root@kelispost01 jre]# rm -f jai-1_1_3-lib-linux-i586-jre.bin 
    
  4. décompressez Tomcat dans /opt/SCENARIserver3.3/tomcat
    [root@kelispost01 jre]# cd ..
    [root@kelispost01 SCENARIserver3.3]# cp /home/sam/downloads/apache-tomcat-6.0.10.zip .
    [root@kelispost01 SCENARIserver3.3]# unzip apache-tomcat-6.0.10.zip 
    [root@kelispost01 SCENARIserver3.3]# mv apache-tomcat-6.0.10 tomcat
    [root@kelispost01 SCENARIserver3.3]# rm -f apache-tomcat-6.0.10.zip
    [root@kelispost01 SCENARIserver3.3]# chmod a+x /opt/SCENARIserver3.3/tomcat/bin/*.sh
    
  5. Intégrez SCENARIserver3.3 dans les scripts de démarrage de Linux pour en faire un service.
    Créez le script de démarrage /etc/init.d/SCENARIserver3.3 avec le contenu précisé ici
    [root@kelispost01 SCENARIserver3.3]# cd /etc/init.d/
    [root@kelispost01 init.d]# nano SCENARIserver3.3
    ...
    [root@kelispost01 init.d]# chmod a+x SCENARIserver3.3
    [root@kelispost01 init.d]# chkconfig --add SCENARIserver3.3 
    
  6. Intégrez le serveur X xvfb dans les scripts de démarrage de Linux pour en faire un service.
    Créez le script de démarrage /etc/init.d/xvfb avec le contenu précisé ici
    [root@kelispost01 init.d]# nano xvfb
    ...
    [root@kelispost01 init.d]# chmod a+x xvfb
    [root@kelispost01 init.d]# chkconfig --add xvfb 
    

Construction de la webapp SCENARIserver3.3

  1. créez un dossier temporaire /tmp/scservinstall
    [root@kelispost01 init.d]# mkdir /tmp/scservinstall
    [root@kelispost01 init.d]# cd /tmp/scservinstall
    [root@kelispost01 scservinstall]# 
    
  2. décompressez SCENARIserver3.3 dans /tmp/scservinstall/setup
    [root@kelispost01 scservinstall]# mkdir setup
    [root@kelispost01 scservinstall]# cd setup/
    [root@kelispost01 setup]# cp /home/sam/downloads/SCENARIserver_3.3.0_lin.tar.gz .
    [root@kelispost01 setup]# tar xzf SCENARIserver_3.3.0_lin.tar.gz 
    
  3. éditez le fichier build.property et paramétrez le comme suis:
    [root@kelispost01 setup]# nano build.property 
    ...
    
    # SCserver - fichier de configuration de la WebAPP
    server.webapp.name=SCENARIserver3.3
    server.work.path=/var/opt/SCENARIserver3.3
    server.url=http://192.168.2.101:8080
    
    # Configuration des applications tierces
    server.appExt.lame.path=/var/opt/SCENARIserver3.3/nativlib/lame
    server.appExt.sox.path=/var/opt/SCENARIserver3.3/nativlib/sox
    server.appExt.soxmix.path=/var/opt/SCENARIserver3.3/nativlib/soxmix
    
    en remplaçant server.url=http://192.168.2.101:8080 par les données relatives à votre machine
  4. posez le variable d'environnement JAVA_HOME
    [root@kelispost01 setup]# export JAVA_HOME=/opt/SCENARIserver3.3/jre
    
  5. exécutez le script de génération de la webapp:
    [root@kelispost01 setup]# ./buiWebApp.sh 
    Compilation, scserver
    ...
    BUILD SUCCESSFUL
    Total time: 1 second
    
    Vous allez obtenir un fichier SCENARIserver3.3.war qu'il faut maintenant déployer dans Tomcat.

Conseil

Sur SCENARIserver 3.5.0.05 il est possible que vous recontriez l'erreur : Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/Main, dans ce cas, ouvrez le fichier et remplacez la ligne :

$vJavaCmd -classpath "libext/ant.jar;libext/ant.nodeps.jar;libext/ant.launcher.jar;webApp/WEB-INF/lib/ant.contrib.jar" -Xmx150m org.apache.tools.ant.Main -buildfile build.xml

par

$vJavaCmd -classpath "libext/ant.jar:libext/ant.nodeps.jar:libext/ant.launcher.jar:webApp/WEB-INF/lib/ant.contrib.jar" -Xmx150m org.apache.tools.ant.Main -buildfile build.xml

Ce fichier sera corrigé dans les versions futures.

Déploiement de la webapp SCENARIserver

  1. Copier/coller le contenu du répertoire /tmp/scservinstall/setup/libext vers /opt/SCENARIserver3.3/tomcat/lib (pour une version de Tomcat inférieure à 6 vers /opt/SCENARIserver3.3/tomcat/common/lib)
    [root@kelispost01 setup]# cp libext/* /opt/SCENARIserver3.3/tomcat/lib
    
  2. Créez le dossier de travail de la webapp SCENARIserver (spécifié dans le fichier build.property, server.work.path), dans notre exemple celui-ci sera /var/opt/SCENARIserver3.3
    [root@kelispost01 setup]# mkdir -p /var/opt/SCENARIserver3.3
    
  3. copier/coller le contenu du répertoire /tmp/scservinstall/setup/data dans le dossier /var/opt/SCENARIserver3.3
    [root@kelispost01 setup]# cp -R /tmp/scservinstall/setup/data/* /var/opt/SCENARIserver3.3
    
  4. déplacez le dossier contenant les librairies natives /var/opt/SCENARIserver3.3/nativlib vers le dossier d'installation du serveur /opt/SCENARIserver3.3
    [root@kelispost01 setup]# mv /var/opt/SCENARIserver3.3/nativlib /opt/SCENARIserver3.3
    
  5. assurez-vous que les librairies natives sont bien exécutables :
    [root@kelispost01 setup]# chmod a+x /opt/SCENARIserver3.3/nativlib/*
    
  6. changez éventuellement le mot de passe admin : dans le fichier /var/opt/SCENARIserver3.3/users/ac/admin/acdef.xml
  7. Copier/coller le fichier /tmp/scservinstall/setup/SCENARIserver3.2.war vers /opt/SCENARIserver3.3/tomcat/webapps/
    [root@kelispost01 setup]# cp SCENARIserver3.3.war /opt/SCENARIserver3.3/tomcat/webapps/
    

Vous êtes maintenant prêt pour tester votre nouveau serveur :

  1. démarrez le service xvfb :
    [root@kelispost01 setup]# /etc/init.d/xvfb start
    Starting Virtual Frame Buffer X Server (Xvfb) as local display :1.0
    
  2. démarrez le service SCENARIserver avec la commande /etc/init.d/SCENARIserver start
    [root@kelispost01 setup]# /etc/init.d/SCENARIserver3.3 start
    Starting SCENARIserver3.3 service:  Using CATALINA_BASE:   /opt/SCENARIserver3.3/tomcat
    Using CATALINA_HOME:   /opt/SCENARIserver3.3/tomcat
    Using CATALINA_TMPDIR: /opt/SCENARIserver3.3/tomcat/temp
    Using JRE_HOME:       /opt/SCENARIserver3.3/jre
                                                               [  OK  ]
    
  3. testez la connection à la webapp dans un navigateur en tapant l'URL http://127.0.0.1:8080/SCENARIserver3.3/s/chain/u/ping et en vous identifiant comme admin.
  4. Utilisation : Dans SCENARIchain ou SCENARIclient ajoutez un serveur distant d'adresse http://192.168.2.101:8080/SCENARIserver3.3 par exemple (selon la config définie dans build.property).

Pour la première connexion ou si vous avez perdu le mot de passe, vous pouvez éditer le fichier à la main sur le serveur : <server.work.path>/users/ac/admin/acdef.xml

Attention !

Les fichiers de mot de passe des utilisateurs sur SCENARIserveur ne sont pas cryptés. Si des personnes risquent d'avoir accès aux fichiers dans le workpath du serveur, modifiez les permissions du répertoire et évitez de ré-utiliser des mots de passe protégeant d'autres accès.

Procédure d'installation sur un serveur Tomcat existant :

  • Télécharger SCENARIserver
  • Installer openoffice.org 2.x.x), vérifier qu'il s'exécute correctement
  • Ajoutez la ligne suivante dans votre script de démarrage tomcat : "export OOO_DISABLE_RECOVERY=1" (pour éviter que les générations ne soit bloquées par des boites de dialogues de récupérations de fichier, comme expliqué dans : http://wiki.services.openoffice.org/wiki/Environment_Variables)
  • Décompresser le tarball
  • Construction de la web APP
    • Assurez-vous qu'une JVM 1.5 de SUN et que ant sont correctement installés sur la machine. Les variables d'environnement suivantes doivent être définies : JAVA_HOME, JAVA_OPTS = -Xmx1500M -Xms1500M -verbose:gc ;
    • Il est trés fortement conseillé d'installer JAI dans cette JVM : https://jai.dev.java.net/binary-builds.html;
    • Paramétrer le fichier build.property (en particuler l'adresse du serveur et le path du dossier nativelib - applications tierces);
    • exécuter le script de gérération de la WEB APP: "buiWebApp.sh"
  • Déploiement
    • Assurez vous de de la présence de Tomcat 5.5+ et d'une JVM1.5;
    • Installez un serveur X, et exécutez le, ou lancez le a partir des scripts de démarrage de la machine : Xvfb, disponible dans la pluspart des distributions, marche très bien. Voir ici pour le mettre en service
      (attention, si vous utilisez un Login Manager, ca ne marchera pas, mais vous pouvez en lancer un 2eme par exemple avec la commande "Xorg :1" pour utiliser le DISPLAY no 1, par défaut c'est 0)
    • Assurez vous que dans le script de démarrage de tomcat contiennent positionne la variable d'environnement DISPLAY (voir ci dessus : servicetomcat)
    • Installer la WebAPP dans Tomcat;
    • Copier/coller le contenu du répertoire "libext" dans le répertoire "lib" de Tomcat (pour toute version de Tomcat inférieure à 6 le dossier lib se trouve dans un dossier "common" à la racine de Tomcat);
    • Copier/coller le contenu du répertoire "data" dans le réperoire spécifié dans la properties "server.work.path" (changer éventuellement le password admin : dans users/ac/admin/acdef.xml);
    • Relancer Tomcat;
    • Tester le ping : http://127.0.0.1:8080/SCENARIserver3/s/chain/u/ping; (admin/test)
  • Utilisation

Compléments :