IceScrum

De EjnTricks

Logo IceScrum.png

System-Install-icon.png Installation

Cet article présente l'installation de IceScrum sur une machine Ubuntu et en mode autonome. Afin de maîtriser l'installation, la version "war" est téléchargée pour une installation dans un Tomcat déjà configuré. Cette instance de Tomcat est démarrée sous la forme d'un service. Le service est démarré avec le compte tomcat6 qui ne possède pas de home. Ceci est important car IceScrum utilise un fichier de configuration dans ce home, mais n'existant pas, cela provoque une erreur. Voir: Tomcat

Pour cela le fichier téléchargé est <icescrum2_R2_15_1_war_tomcat6.zip> Le fichier est décompressé par la commande:

unzip icescrum2_R2_15_1_war_tomcat6.zip

Le fichier unzip icescrum2_R2_15_1_war_tomcat6.war en est extrait. Cette webapp est ensuite placée au niveau de CATALINA_BASE de Tomcat. Dans le cadre d'une installation par défaut sous Ubuntu, cela correspond à l'emplacement /var/lib/tomcat6.

Le nom du fichier est modifié en icescrum.war afin que le nom de la webapp soit plus simple.

Configuration

Mémoire

Le site officiel recommande de réserver 512 Mo de mémoire pour le bon fonctionnement de l'application en spécifiant la valeur -xmx512M dans la variable d'environnement JAVA_OPT. L'installation de Tomcat est découpé en CATALINA_BASE et CATALINA_HOME. Afin de ne pas impacter la machine, le fichier setenv.sh est créé au niveau de l'instance de Tomcat, soit dans le répertoire /var/lib/tomcat6/bin, comme décrit ici. Par défaut ce répertoire n'existe pas et il est créé en donnant comme propriétaire tomcat6:

cd /var/lib/tomcat6
sudo mkdir bin
sudo chown tomcat6:tomcat6 bin
cd bin
sudo touch setenv.sh
sudo chown tomcat6:tomcat6 setenv.sh

Le fichier setenv.sh est modifié ainsi:

 # change -Xmx options set by set service installed
 JAVA_OPTS="$(echo $JAVA_OPTS | sed 's/-Xmx128M/-Xmx512M/g')"

Cette modification est spécifique à l'installation de Tomcat sous Ubuntu. En effet, dans le script de démarrage du service sous tomcat, /etc/init/d/tomcat6, la taille de la mémoire est spécifiée à l'aide des exécutions:

# Default Java options
# Set java.awt.headless=true if JAVA_OPTS is not set so the
# Xalan XSL transformer can work without X11 display on JDK 1.4+
# It also looks like the default heap size of 64M is not enough for most cases
# so the maximum heap size is set to 128M
if [ -z "$JAVA_OPTS" ]; then
        JAVA_OPTS="-Djava.awt.headless=true -Xmx128M"
fi


Logger

Lors du démarrage de IceScrum, la stack suivante est affiché dans le log de tomcat, fichier /var/lib/tomcat6/logs/catalina.out, représentant une anomalie dans la configuration du logger de l'application:

La configuration du logger est modifiée afin d'écrire dans le répertoire logs de l'instance de Tomcat, à savoir /var/lib/tomcat6. La modification est faite sur la section présentée ci dessous, dans le fichier log4j.properties, répertoire /var/lib/tomcat6/webapps/icescrum/WEB-INF/classes:

### direct log messages to file ###
log4j.appender.fichier=org.apache.log4j.RollingFileAppender
log4j.appender.fichier.File=${user.home}/.icescrum/icescrum2-logging.log
log4j.appender.fichier.MaxFileSize=5000KB
log4j.appender.fichier.MaxBackupIndex=10
log4j.appender.fichier.layout=org.apache.log4j.PatternLayout
log4j.appender.fichier.layout.ConversionPattern=%d{dd/MMM HH:mm:ss}/ %5p %c{1}:%L - %m%n

En:

### direct log messages to file ###
log4j.appender.fichier=org.apache.log4j.RollingFileAppender
log4j.appender.fichier.File=${catalina.base}/logs/icescrum2-logging.log
log4j.appender.fichier.MaxFileSize=5000KB
log4j.appender.fichier.MaxBackupIndex=10
log4j.appender.fichier.layout=org.apache.log4j.PatternLayout
log4j.appender.fichier.layout.ConversionPattern=%d{dd/MMM HH:mm:ss}/ %5p %c{1}:%L - %m%n

Paramètre de l'application

Lors du démarrage de IceScrum, la stack suivante est affiché dans le log de tomcat:

Par défaut, la surcharge du fichier de configuration s'effectue dans le home du compte lançant Tomcat. Dans le cadre de la machine, le compte utilisé est tomcat6 qui ne possède pas de home. Le démarrage n'est alors pas possible. Il faut alors créé un nouveau répertoire sous /usr/share/tomcat6 dans lequel le fichier configuration.properties est créé avec le contenu suivant:

database.driverClassName = org.gjt.mm.mysql.Driver
database.dialect = org.hibernate.dialect.MySQLInnoDBDialect
database.dblogin = icescrum
database.dbpwd = etienne
database.url=jdbc:mysql://localhost:3306/icescrum2?useUnicode=true&characterEncoding=utf8

La mise en place de ce fichier s'effectue avec les commandes:

cd /usr/share/tomcat6
sudo mkdir .icescrum
sudo chmod 775 .icescrum
sudo chown tomcat6:tomcat6 .icescrum
cd .icescrum
sudo mkdir icescrum
sudo chmod 775 icescrum
sudo chown tomcat6:tomcat6 icescrum
cd icescrum
sudo touch configuration.properties
sudo chmod 664 configuration.properties
sudo chown tomcat6:tomcat6 configuration.properties

Configuration de la base de données

L'installation en standard utilise la base HSQL qui travaille uniquement en mémoire. Dans le cadre de cet exemple, la base de données souhaitée est MySQL.

La base de données est créé à l'aide des requêtes suivantes:

CREATE DATABASE icescrum2 CHARACTER SET utf8;
CREATE USER 'icescrum'@'localhost' IDENTIFIED BY 'etienne';
GRANT SELECT,INSERT,UPDATE,DELETE,ALTER,CREATE ON icescrum2.* TO 'icescrum'@'localhost';

Pour ce faire, le fichier personnalisé configuration.properties par l'ajout des lignes suivantes:

database.driverClassName = org.gjt.mm.mysql.Driver
database.dialect=org.hibernate.dialect.MySQLInnoDBDialect
database.dblogin = root
database.dbpwd = etienne
database.url=jdbc:mysql://localhost:3306/icescrum2?useUnicode=true&characterEncoding=utf8


Viewer icon.png Voir aussi

Documentation officielle: http://www.icescrum.org/index.php/frequently-asked-questions/about-configuration