Atlassian Confluence 3.1.2 on Sun Glassfish V2
von Mario Rasser
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
tar xfzv confluence-3.1.2.tar.gz
Confluence needed changes
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:
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-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
- 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
We have successfully deployed Atlassian Confluence 3.3 on Glassfish V2. So this HowTo can be adopted to Confluence 3.3 Version too.
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.