Installation Serveur

Pré-requis

Pour installer ChainEdit sur un serveur, vous devez disposer d'une version de Java supérieure à 7 et d'une version de Tomcat 7 installée sur le serveur.

Vous devez également télécharger l'archive chainedit3-server-x-x-x.zip.

Installation

Dans l'archive, vous trouverez un fichier war et un répertoire data :

  1. Copiez le fichier war dans la webapps de Tomcat et dézippez le fichier (Chainedit ne fonctionne pas sans décompacter le fichier war)
  2. Copiez le répertoire data sur un disque accessible depuis le serveur Tomcat (mais pas dans la webapps pour assurer une meilleure sécurité et éviter de l'écraser lors des mises à jour)
  3. Mettez en place votre politique de sauvegarde du fichier data (La DSI de Rennes 1 met à jour une image des fichiers toutes les heures pour permettre un retour en arrière en cas d'erreur de saisie ou de supression de données)
  4. Configurez Tomcat et paramétrez l'application (voir les points suivant) 

Configurer Tomcat

Indiquer le chemin du fichier de configuration

Pour une installation serveur, pour indiquer le chemin du fichier de configuration config.properties qui est livré dans le répertoire /data, il faut ajouter dans les propriétés système une variable chainedit.config.location = ..path/Config.properties. Remplacez ..path par le chemin d'accès au répertoire dans votre environnement. Attention ! le nom de la variable à changé en chainedit3 pour tenir compte du fait qu'un même Tomcat peut servir à plusieurs applications.

Pour cela il y a plusieurs méthodes:

  • Méthode 1 : Ajouter l'option au lancement de Tomcat dans la commande start (Conseillé, le plus simple ) :
Pour Windows : $TOMCAT_HOME\bin\catalina.bat : set CATALINA_OPTS="-Dchainedit.config.location= ..path/config.properties" 
Pour Linux : $TOMCAT_HOME/bin/catalina.sh : export CATALINA_OPTS="-Dchainedit.config.location= ..path/config.properties"
  • Méthode 2 : Modifier le fichier server.xml de Tomcat (Demande une meilleure connaissance de Tomcat mais plus résiliant) :
<Context> ... <Environment name="chainedit.config.location" type="java.lang.String" value="..path/config.properties" override="false" /> ... </Context>
  • Méthode 3 : Ajouter dans le web.xml de ChainEdit (Déconseillé car en cas de mise à jour de ChainEdit l'opération est à refaire):
<context-param> <param-name>chainedit.config.location</param-name> <param-value>..path/config.properties</param-value> </context-param>

 

Activer le mode d'authentification

Base de données (par défaut)

  • Pour une installation serveur, ce mode est activé par défaut.

Authentification SSO CAS

Pour une installation serveur, pour activer le mode CAS, il faut ajouter dans la propriété système chainedit.system.mode = cas. Pour cela :

  • Méthode 1 : Ajouter l'option au lancement de Tomcat dans la commande start (Conseillé, le plus simple ) :
Pour Windows : $TOMCAT_HOME\bin\catalina.bat : set CATALINA_OPTS="-Dchainedit.security.mode=cas"

Pour Linux : $TOMCAT_HOME/bin/catalina.sh : export CATALINA_OPTS="-Dchainedit.security.mode=cas"
  • Méthode 2 : Vous pouvez aussi modifier le fichier context.xml de Tomcat :
<Context> ... <Environment name="chainedit.security.mode" type="java.lang.String" value="**cas**" override="false" /> ... </Context>
  • Méthode 3 : Ajouter dans le web.xml de ChainEdit (Déconseillé car en cas de mise à jour de ChainEdit l'opération est à refaire):
<context-param> <param-name>chainedit.system.mode</param-name> <param-value>cas</param-value> </context-param>

Attention ! Il faut lancer au moins une fois l'application en mode base de données pour y ajouter un utilisateur administrateur correspondant à un identifiant CAS connu dans le SI (LDAP). Par défaut un utilisateur admin / admin est disponible.

Paramétrer l'application

Le paramétrage est à effectuer dans le fichier config.properties dont le chemin d'accès a été préalablement précisé lors du paramétrage de Tomcat.

  • Suivez les commentaires dans le fichier.
  • Remplacez :http://localhost:8080 par l'URL d'accès à votre serveur.
  • Remplacez $INSTALL_PATH par le chemin du répertoire /data ou par le chemin d'installation du war de ChainEdit (en fonction du répertoire cible qui suit $INSTALL_PATH).
  • Vous pouvez également paramétrer le CAS et l'accès LDAP dans ce fichier. En cas de changement de base de données, c'est également là que se trouvent les paramètres d'accès aux données (HSQL ou MYSQL).
########################################################################
# Exceptions
#
# Précisez ici le niveau de debug. En production il faut mettre ERROR
exceptionHandling.logLevel=INFO
  


########################################################################
# Authentication
# security.mode = manual or CAS in Web.xml or system properties
# For CAS authentication mode
# Précisez ici  l'adresse du serveur CAS et l'adresse de retour à l'application

cas.service.host=http://localhost:8080/chainedit
cas.server.host=https://sso-cas.univ-rennes1.fr

########################################################################
# LDAP
# warning should be implement even if ldap not used
# Can Search in Ldap for user creation (true/false).
# Précisez ici l'utilisation ou non d'un acèès LDAP et les paramètres d'accès (Norme Supann par défaut)
ldap.search = false
ldap.objectclass=person
ldap.displayNameAttribute=displayName
ldap.emailAttribute=mail
ldap.uidAttribute=uid
ldap.nameAttribute=sn
ldap.givenNameAttribute=givenName
ldap.searchAttribute=cn
ldap.testFilter=cn=*smith*
ldap.url=ldap://ldapglobal.univ-rennes1.fr:389
ldap.userName=
ldap.password=
ldap.base=ou=people,dc=univ-rennes1,dc=fr
ldap.connectTimeout=5000
ldap.attributes=sn,givenName,cn,displayName,mail
ldap.searchDisplayedAttributes=sn,givenName,cn,displayName,mail

########################################################################
# SMTP
# Précisez ici les paramètres du serveur de messagerie sortant

smtp.host=smtp.domain.edu
smtp.port=25
smtp.user=
smtp.password=
smtp.charset=utf-8
  

smtp.fromName=ESUP-Portail Blank Application
smtp.interceptAll=true
  

smtp.interceptName=Maintainer
smtp.notInterceptedAddresses=
  

smtp.testName=Maintainer

########################################################################
# Database
#
# HSQL
# Précisez ici les paramètres d'accès au serveur de base de données. Par défaut HSQL, mais les drivers MYSQL sont également fournis.

jdbc.connection.driver_class=org.hsqldb.jdbcDriver
jdbc.dialect=org.hibernate.dialect.HSQLDialect
jdbc.connection.url=jdbc:hsqldb:file:$INSTALL_PATH/data/database/chaineditDB
jdbc.connection.username=admin
jdbc.connection.password=secret
jndi.datasource=jdbc/chainedit
datasource.bean=JDBCDataSource
jpa.database.type=HSQL
jpa.generateDdl=true

# MySQL
#jdbc.connection.driver_class=com.mysql.jdbc.Driver
#jdbc.dialect=org.hibernate.dialect.MySQL5Dialect
#jdbc.connection.url=jdbc:mysql://localhost:3306/chainedit
#jdbc.connection.username=root
#jdbc.connection.password=
#jndi.datasource=jdbc/chainedit
#datasource.bean=JDBCDataSource
#jpa.database.type=MYSQL
#jpa.generateDdl=true

########################################################################
# Domain
#

# Précisez ici les paramètres spécifiques à ChainEdit. Remplacez $INSTALL_PATH par le chemin d'accès où le répertoire data a été créé ou bien où l'application a été installée (en fontion des lignes). 
# Remplacez http://localhost:8080 par l'URL d'accès à l'application


# Url to acces Chainedit
chainedit.url=http://localhost:8080/chainedit
#path to temp dir
tmp.path=$INSTALL_PATH/data/tmp
#path to data directory
data.path=$INSTALL_PATH/data/
#path to directory to copy icons tree
configresources.path=$INSTALL_PATH/apache-tomcat-7.0.59/webapps/chainedit/configresources
#URL to directory to access icons tree
configsresources.url=http://localhost:8080/chainedit/configresources/
#path to directory to copy generated modules
result.path=$INSTALL_PATH/apache-tomcat-7.0.59/webapps/chainedit/result/
#URL to directory to access generated modules
result.url=http://localhost:8080/chainedit/result/
# path to copy generated module to index
referencing.path=$INSTALL_PATH/deploy/refchainedit
# URL to access copied generated module to index
referencing.url=http://localhost:8080/refchainedit
# default ORI workflow name
ws.metadataType=ressource_pedago_complex
# path for java object caching
cache.path=$INSTALL_PATH/data/tmp/cache

Lancement de l'application

Au lancement de Tomcat, les variables positionnées permettent de positionner le mode d'authentification. An cas de lancement en mode CAS, n'oubliez pas de lancer au moins une fois l'application sans ce mode pour créer un utlisateur administrateur avec un login correspondant à un utilisateur CAS. Par défaut un utilisateur admin / admin existe. Les données du fichier de configuration précisé dans les variables d'environnement Tomcat sont alors utilisées pour lancer l'application.

Modifier ehcache.xml

Sur certains systèmes le paramètre  <diskStore path="java.io.tmpdir"/> du fichier /WEB-INF/properties/cache/ehcache.xml n'est pas pris en compte. Dans ce cas, il faut remplacer java.io.tmpdir par la valeur du paramètre cache.path indiquée dans le fichier config.properties.