Atlassian Confluence 3.1.2 on Sun Glassfish V2

05.03.2010
von Mario Rasser

Abstract

Confluence is a Enterprise Wiki from Atlassian, which is just awesome. It is supporting tons of free and commercial Plugins and Themes. It is perfect for documentation, document management and working in Teams.

We are using it since the middle of the last year starting with Version 3.0.2 running on Sun Oracle Glassfish V2 Application Server. The first Upgrade try to Confluence 3.1.1 failed caused by compatibility issues of Apache Xerces. Denny a colleague of mine figured out a way to solve that issue.

The Confluence setup it self is well described on the Atlassian Homepage, but as Atlassian is not officially supporting Sun Oracle Glassfish Application Server, this post will describe how to get Confluence running on Glassfish V2.

Preparing of the Confluence WAR

Download the Confluence WAR (in our case Confluence 3.1.2 from 3th March 2010) from the Atlassian Homepage, to the Linux Box you want to deploy the file on:

Download EAR/WAR and extract

cd /usr/local/src
wget http://www.atlassian.com/software/confluence/downloads/binary/confluence-3.1.2.tar.gz
tar xfzv confluence-3.1.2.tar.gz

Confluence needed changes

vi confluence-3.1.2/confluence/WEB-INF/classes/confluence-init.properties

and set confluence.home=/local/confluence to you Confluence Data Directory.

Afterwards create the data directory mkdir -p /local/confluence, you may need to change the owner and/or rights to the USER Glassifish is running as.

Finally build the new WAR, that will be deployed on the Glassfish Application Server:
/usr/local/src/confluence-3.1.2#sh build.sh

Changes in Glassfish

There are compatibility issues between the Apache Xerces library shipped with Glassfish and the one shipped with Confluence > 3.1.

To prevent the conflicts in the JAVA Classpath we need to rename the GLASSFISH_HOME/lib/webservices-rt.jar to GLASSFISH_HOME/lib/webservices-rt-v2u1-b09d.jar, than edit GLASSFISH_HOME/domains/*/config/domain.xml and replace the library name by the modified library file name and restart the domain and the node agents.

YEAH YEAH, all previously existing exception caused by the different Apache Xerces Libraries are gone

Deployment in a rush

Skip the steps that are not need on your installation, e.g. if you already have a running node agent or similar

As said in the intro, the Setup and Installation is well described by Atlassian. So these steps will describe the deployment on a clustered Glassfish in a rush:

  • Create DB and DB User
  • Get the JDBC Connector for MySQL, if not already installed
  • Copy the mysql-connector-java-5.0.6-bin.jar to GLASSFISH_HOME/lib
  • Create MySQL Connection Pool (test the connectivity)
  • Create a node-agent
  • Create a cluster called confluence
  • Create cluster instance for your node
  • Create a DataSource jdbc/ConfluenceDSusing the already created ConnectionPool, assign it to the cluster confluence and enable it
  • Deploy the created WAR to the Application Server
  • Start the Cluster instance on the node you want to run it on
  • Proceed the need steps via the installation process

Update 1

We have successfully deployed Atlassian Confluence 3.3 on Glassfish V2. So this HowTo can be adopted to Confluence 3.3 Version too.

Update 2

Today we deployed the new Atlassian Confluence 3.4 Version on Glassfish V2. So this HowTo can be used for the Confluence 3.4 installation too.

Professional Confluence Support and Hosting

Kommentare sind geschlossen.

© 2003-2017 Fa. ipunct - IT-Lösungen auf den Punkt gebracht