Installer Icescrum

July 11, 2013

Le processus d'installation sera décrit dans le cas d'une installation Debian normale. Si vous utilisez une autre distribution, vous devrez peut-être adapter certaines commandes. Tous les processus d'installation seront en cli (interface ligne de commande). Je ne suis pas un expert java ni sysadmin, certains choix ne seront peut-être pas les meilleurs. Je suis ouvert à vos retours.

Il sera considéré que vous possédé déjà une installation de java sun complète et fonctionnelle.

Installation via apt-get

$ sudo apt-get install tomcat7 tomcat7-common mysql mysql-client mysql-java

Nous n'utiliserons pas l'interface web de configuration disponible avec tomcat Une fois installé, vérifiez votre installation en allant sur http://localhost:8080 Vous devriez voir le It Works de tomcat.

Téléchargement de IceScrum 7

Nous allons maintenant pouvoir télécharger le fichier icescrum.war sur le site officiel. Attention, le lien est un tout petit bouton vert.

Considérons que vous l'avez place dans le home de l'utilisateur courant, déplacez le :

$ sudo mv ~/icescrum.war /var/lib/tomcat7/webapps/

Configuration Tomcat

N'ayant pas réussi à utiliser le système de base de donnée fourni avec icescrum et qui plus est déconseillé pour une autre utilisation que des tests, je vous propose une configuration avec MySQL. Libre à vous d'adapter votre configuration en fonction de vos besoins. Tout d'abord Icescrum a besoin de variables d'environnement pour fonctionner.

$ sudo nano /usr/share/tomcat7/bin/setenv.sh

Il ne vous reste plus qu'à y insérer le contenu suivant :

CATALINA_OPTS="-XX:MaxPermSize=512m -Xmx1024m"
CATALINA_OPTS="$CATALINA_OPTS -Dicescrum_config_location=/etc/tomcat7/icescrum.groovy"
CATALINA_OPTS="$CATALINA_OPTS -Duser.timezone=UTC"
CATALINA_OPTS="$CATALINA_OPTS -Dicescrum.log.dir=/var/lib/tomcat7/basedir/icescrum/"

Avant d'entrer vraiment dans le vif de la configuration de Icescrum, vous devrez tout d'abord configurer votre serveur tomcat pour qu'il puisse supporter icescrum, pour ce faire :

$ sudo nano /etc/tomcat7/server.xml

Trouvez la ligne commencant par <Connector port="8080" et remplacez là entièrement par <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="2000" maxThreads="500" URIEncoding="UTF-8"/>

Configuration Mysql

Il faut ajouter une base de donnée vide à votre mysql. On l'appelera ici icescrum.

$ echo "create database icescrum"|mysql -u root -p

Configuration Icescrum

Vous devez créer maintenant le fichier de configuration principal de icescrum

$ sudo nano /etc/tomcat7/icescrum.groovy

et insérez le texte suivant après avoir configuré ce qui vous intéresse.

Attention, grails.serverURL est très important, il doit représenter l'url du serveur tel qu'il sera vu par les clients, n'oubliez pas d'éditer si vous faites des modification !!!

//Server URL - IMPORTANT
grails.serverURL = "http://127.0.0.1:8080/icescrum"

//Logging (for debug purposes)
icescrum.debug.enable = true

//Working directory
icescrum.baseDir = "/var/lib/tomcat7/basedir/icescrum/"

//PostgreSQL
//dataSource.driverClassName = "org.postgresql.Driver"
//dataSource.dialect="net.sf.hibernate.dialect.PostgreSQLDialect"
//dataSource.dialect="org.hibernate.dialect.PostgreSQLDialect"
//dataSource.url = "jdbc:postgresql://localhost:5432/icescrum"
//dataSource.username = "postgres"
//dataSource.password = "postgres"

dataSource.dialect = "org.hibernate.dialect.MySQL5InnoDBDialect"
dataSource.driverClassName = "com.mysql.jdbc.Driver"
dataSource.url = "jdbc:mysql://localhost:3306/icescrum?useUnicode=true&characterEncoding=utf8"
dataSource.username = "root"
dataSource.password = "password"

//Mail server (These exemple values aren't set by default)
grails.mail.host = "smtp.gmail.com"
grails.mail.port = 465
grails.mail.username = "identifiant@gmail.com"
grails.mail.password = "mot-de-passe"

//Project
icescrum.project.import.enable = true
icescrum.project.export.enable = true
icescrum.project.creation.enable = true
icescrum.project.private.enable = true

//Users
icescrum.gravatar.secure = false
icescrum.gravatar.enable = true
icescrum.registration.enable = true
icescrum.login.retrieve.enable = true

//Alerts
icescrum.auto_follow_productowner = true
icescrum.auto_follow_stakeholder = true
icescrum.auto_follow_scrummaster = true
icescrum.alerts.errors.to = "quentin@dufour.tk"
icescrum.alerts.subject_prefix = "[icescrum]"
icescrum.alerts.enable = true
icescrum.alerts.default.from = "mrsuperboum@gmail.com"

//Attachments
icescrum.attachments.enable = true

Il faut aussi créer les dossiers que l'on a déclaré dans le setenv.sh précédemment

$ sudo mkdir -p /var/lib/tomcat7/basedir/icescrum

Puis donner les permissions à tomcat dessus :

$ sudo chown -R tomcat7:tomcat7 /var/lib/tomcat7/basedir

Lancement

Il ne vous reste plus qu'à relancer tomcat et croiser les doigts.

$ sudo service tomcat7 restart

Pour voir si tout se passe bien, regardez les logs de tomcat :

$ sudo tail -f /var/log/tomcat7/catalina.out

Enfin, vous pouvez accéder à votre installation icescrum depuis http://127.0.0.1:8080/icescrum

Si vous rencontrez des problèmes, commencez par vérifier les permissions sur vos répertoires et que tout ce que vous deviez installer à bien été installé !