Installer Atlassian Jira 4.1 et Confluence 3.3 sur Debian Lenny avec Tomcat 5.5 et MySQL
Cet article est un résumé des procédures d'installation de Jira et Confluence telle qu'on peut les trouver sur le site de Atlassian. Il est focalisé sur un environnement Tomcat 5.5 et MySQL.
Pre-requis
Il s'agit des pre-requis consolidés pour Jira et Confluence, notament pour la configuration de Tomcat qui nécessite quelques ajustements.
Avoir JDK 6 de Sun (openJDK 6 n'est pas supporté par Atlassian), Tomcat 5.5 et MySQL 5.x installés.
Dans le fichier server.xml de Tomcat (/var/lib/tomcat5.5/conf/server.xml), ajouter le paramètre URIEncoding="UTF-8" au connecteur "non-SSL".
Dans le script de démarrage de Tomcat (/etc/init.d/tomcat5.5), ajouter les paramètres suivants pour le démarrage
if [ -z "$JAVA_OPTS" ]; then
JAVA_OPTS="-Djava.awt.headless=true -Xmx768M -Duser.timezone=Europe/Paris -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true -Dmail.mime.decodeparameters=true -XX:MaxPermSize=128m"
fiDans /usr/share/tomcat5.5/common/lib, copier le fichier jar du connecteur java de MySQL disponible via cette page : http://www.mysql.com/downloads/connector/j/
Jira
Il s'agit d'installer la version EAR-WAR de Jira. La procédure d'installation sur le site de Atlassian est à cette adresse :
http://confluence.atlassian.com/display/JIRA/Installing+JIRA+WAR-EAR
Créer la base de donnée en utf-8 et donner les droits à un utilisateur.
mysql> CREATE DATABASE jiradb CHARACTER SET utf8 COLLATE utf8_bin; mysql> grant all privileges on jiradb.* to 'jira'@'localhost' identified by 'jira' with grant option;
Télécharger la distribution à l'adresse suivante : http://www.atlassian.com/software/jira/JIRADownloadCenter.jspa
Au besoin, choisir le bon OS et afficher toutes les versions disponibles ("show all" au dessus du bouton "download")
Contrairement à ce que demande la documentation sur le site de Atlassian, je ne créer pas de d'utilisateur "jira". J'installe Jira dans /opt/atlassian.
Décompresser la distribution dans /opt/atlassian et créer un lien symbolique
gunzip atlassian-jira-enterprise-4.1.2.tar.gz tar xf atlassian-jira-enterprise-4.1.2.tar sudo chown -R un_utilisateur: /opt/atlassian ln -s atlassian-jira-enterprise-4.1.2 jira
J'indique le Jira home path dans le fichier /opt/atlassian/jira/jira/edit-webapp/WEB-INF/classes/jira-application.properties
jira.home = /opt/atlassian/jira
Donner les droits d'écriture à tout le monde dans le répertoires /opt/atlassian/atlassian-jira-enterprise-4.1.2, /opt/atlassian/atlassian-jira-enterprise-4.1.2/cache et /opt/atlassian/atlassian-jira-enterprise-4.1.2/plugins
Configurer la connexion à la base de données dans le fichier /opt/atlassian/jira/jira/edit-webapp/WEB-INF/classes/entityengine.xml
<datasource name="defaultDS" field-type-name="mysql"
helper-class="org.ofbiz.core.entity.GenericHelperDAO"
check-on-start="true"
use-foreign-keys="false"
use-foreign-key-indices="false"
check-fks-on-start="false"
check-fk-indices-on-start="false"
add-missing-on-start="true"
check-indices-on-start="true">et vérifier par la même occasion :
<transaction-factory class="org.ofbiz.core.entity.transaction.JNDIFactory">
<user-transaction-jndi jndi-server-name="default" jndi-name= "java:comp/env/UserTransaction" />
<transaction-manager-jndi jndi-server-name="default" jndi-name="java:comp/env/UserTransaction" />
</transaction-factory>Construire Jira
cd /opt/atlassian/jira ./build.sh
Ajouter dans /usr/share/tomcat5.5/common/lib les librairies nécessaires à jira et qui se trouvent sur le site Atlassian à l'adresse : http://confluence.atlassian.com/download/attachments/200709089/jira-jars-tomcat5.zip?version=1&modificationDate=1252474277460
Stopper Tomcat
sudo /etc/init.d/tomcat5.5 stop
Copier le fichier /opt/atlassian/jira/dist-tomcat/tomcat-5.5/jira.xml dans /var/lib/tomcat5.5/conf/Catalina/localhost
Démarrer Tomcat
sudo /etc/init.d/tomcat5.5 start
Confluence
Créer la base de donnée en utf-8 et donner les droits à un utilisateur.
mysql> CREATE DATABASE confluence CHARACTER SET utf8 COLLATE utf8_bin; mysql> grant all privileges on confluence.* to 'confluence'@'localhost' identified by 'confluence' with grant option;
Il s'agit de la version EAR-WAR de confluence. La procédure d'installation sur le site de Atlassian est à cette adresse : http://confluence.atlassian.com/display/DOC/Installing+Confluence+EAR-WAR+on+Tomcat
Télécharger la distribution à l'adresse suivante : http://www.atlassian.com/software/confluence/ConfluenceDownloadCenter.jspa
Au besoin, choisir le bon OS et afficher toutes les versions disponibles ("show all" au dessus du bouton "download")
Décompresser l'archive dans /opt/atlassian et créer un lien symbolique
gunzip confluence-3.3.3.tar.gz tar xf confluence-3.3.3.tar sudo chown -R un_utilisateur: /opt/atlassian ln -s confluence-3.3.3 confluence
Donner les droits d'écriture à tout le monde dans le répertoire confluence-3.3.3
Editer confluence/WEB-INF/classes/confluence-init.properties afin d'indiquer le Confluence home path
confluence.home = /opt/atlassian/confluence
Créer un fichier confluence.xml dans le répertoire conf/Catalina/localhost de Tomcat qui contient :
<Context path="/confluence" docBase="/opt/atlassian/confluence/confluence" debug="0" reloadable="true" />
Redémarrer Tomcat
Se connecter à confluence pour exécuter le wizard : http://serveur:8180/confluence/
Problème connu
Les menus de Confluence ne fonctionnent pas ou Confluence ne démarre pas lorsque Conflunence et Jira sont hébergés dans le même serveur Tomcat.
Ces problèmes sont du au fait que ces deux produits utilisent une version différente d'une même librairie Atlassian. Il s'agit de org.apache.felix.main-2.0.0-atlassian-1.jar pour Jira et org.apache.felix.main-2.0.4-atlassian-3.jar pour Confluence. La solution consiste a :
- arrêter Tomcat
- sauvegarder org.apache.felix.main-2.0.0-atlassian-1.jar de Jira
- remplacer toutes les instances de org.apache.felix.main-2.0.0-atlassian-1.jar dans Jira (il y en a 2) par org.apache.felix.main-2.0.4-atlassian-3.jar de Confluence
- démarrer Tomcat