This page last changed on Mar 05, 2007 by ivan@atlassian.com.
Confluence EAR/WAR Requirements
The EAR-WAR edition of Confluence is intended for deployment into an existing J2EE application server. It is assumed that you already know how to deploy a webapp on the application server of choice. If not, we recommend installing the Confluence Standalone Edition.
Supported
- Apache Tomcat (4.1 and above)
- Weblogic (8.1 SP3 and above)
- Resin (2.11.11 and above)
- JBoss
- Orion (2.0.2 and above)
- Websphere (5.1.1.3 and above)
Unsupported
- Macromedia JRun - untested
Incompatible
 |
- If you are not confident with application server configuration, please contact your system administrator to assist you before proceeding or consider installing Confluence Standalone
- If deploying to an application server other than Apache Tomcat server, review the Application Server Configuration guide.
- If deploying as an unexploded WAR, Ant 1.3 or later is required
- If deploying on an unsupported servers, server-related issues cannot be covered by Atlassian technical support. Requests for assistance can be directed to the user forums instead
- Confluence, the database and application server must use the same character encoding. UTF-8 is recommended
- A user-contributed Fedora or RHEL/Centos Install Guide is also available for reference
- Unix, Linux or Solaris users must install these X11 libraries
|
Before installing the WAR version of Confluence, please go through this checklist of requirements.
Instructions on how to install the WAR version on Tomcat
Step 1 - Download and extract WAR
- Download the Confluence WAR zip file
- Extract the downloaded zip file. It should extract to a folder called confluence-<version>. Inside this folder you'll find a folder called "confluence". Make a note of the absolute path to this directory (as you will need to use it later).
 |
Do not copy the confluence folder to the webapps folder inside tomcat - this may cause Confluence to be deployed more than once. |
Windows users avoid Win XP's built in unzip as it doesn't extract all the files. Use a 3rd party zip extractor like WinZip.
Solaris users will need to use GNU tar to handle the long filenames.
Step 2 - Check for patches
Review the Release Notes for your Confluence version and apply any patches listed
- Open confluence/WEB-INF/classes/confluence-init.properties in a text editor
- Set the confluence.homeproperty to a directory of your choosing. This is the directory that will contain all of Confluence's configuration, backup and attachment files.
Step 4 - Edit Tomcat context descriptors
If you using Tomcat 5.0.x or Tomcat 5.5.x:
- Create a file called confluence.xml in your Tomcat installation's conf/Catalina/localhost directory (if you have set up a different hostname for your tomcat instance, please specify that instead of localhost)
- Open confluence.xml and add these lines:
<Context path="/confluence" docBase="c:/applications/confluence-2.1.3/confluence" debug="0" reloadable="true">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="atlassian-confluence." suffix=".log" timestamp="true"/>
</Context>
- For docBase specify the value you noted down earlier.
If you are using Tomcat 4.x
- Open conf/server.xml in a text editor
- Add the following:
<Context path="/confluence" docBase="c:/applications/confluence-2.1.3/confluence" debug="0" reloadable="true">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="atlassian-confluence." suffix=".log" timestamp="true"/>
</Context>
- For docBase specify the value you noted down earlier.
Review any documentation associated with your webserver here. If your application server requires deploying Confluence as a EAR/WAR:
To build the WAR File:
Windows users
- Open a the command line prompt
- Navigate to the confluence-WAR-install directory
- Run the command build war
Linux users
- Open a terminal window
- Navigate to the confluence-WAR-install directory
- Add executable mode to build.sh - chmod +x build.sh
- Run build.sh
- The WAR file is now located in the "dist" folder in your Confluence-WAR-Install directory
Step 6 - Restart Server
- Shut down, and then restart tomcat
- Confluence should now be accessible on http://host:port/confluence
Next Step
Setup Confluence
Troubleshooting
Solutions to common issues with installing Confluence. Click on a problem to show the solution.
Confluence window closes immediately when started
An error is preventing Confluence from starting.
- Open a command prompt. On Windows, do this by clicking on your Start menu, then click Run. In the Run box, type cmd and press OK
- From the command prompt, go to your Confluence install directory
- Go into the bin subdirectory
- Run startup.bat and read the error message
- Find the solution to that error below
Confluence won't start - java.lang.NoClassDefFoundError IntraHibernateAttachmentCopier
If you are seeing "java.lang.NoClassDefFoundError: com/atlassian/confluence/pages/persistence/dao/hibernate/AbstractHibernateAttachmentDao$IntraHibernateAttachmentCopier", you have unzipped Confluence using a program that cannot handle long filenames. You must delete your install directory and go back to the point in the instructions that covers unzipping Confluence using a third-party unzip program.
Confluence won't start - Error creating Confluence Home directory
The confluence.home variable specified in confluence-init.properties cannot be created. To fix this, edit /confluence/WEB-INF/classes/confluence-init.properties and check the path specified exists. Make sure all the directory slashes use / and that the # has been removed. If you're stuck, try using confluence.home=c:/confluence/data
Confluence won't start - JAVA_HOME environment variable is not defined correctly
You have not installed the Java Development Kit, or not set the %JAVA_HOME% to the directory of the JDK. You should re-check your steps in Stage 2.
Confluence won't start - Port 8080 is in use
If you have another Tomcat running on the same machine, you must edit <INSTALL>/conf/server.xml and change both 8080 and 8005 to ports that do not conflict with your other Tomcat instance according to these instructions.
Confluence won't start - Error creating bean with name 'scheduler'
Confluence won't start - Error registering bean with name 'fileSystemAttachmentDataDao'
If you did not use one of the recommended unzipping tools, and happened to use for instance the default Windows XP extractor, one of the classes required for starting up Confluence may not be located due to the lengthy file-path. This is due to the reason that the default Windows tool silently fails to extract files with long names. We suggest you to use other tools such as WinZIP and 7zip and redo the deployment process.
Cause:
org.springframework.beans.factory.BeanDefinitionStoreException: Error registering bean with name 'fileSystemAttachmentDataDao' defined in class path resource applicationContext.xml: Class that bean class com.atlassian.confluence.pages.persistence.dao.FileSystemAttachmentDataDao depends on not found; nested exception is java.lang.NoClassDefFoundError: com/atlassian/confluence/pages/persistence/dao/FileSystemAttachmentDataDao$FileSystemAttachmentNamingStrategy
at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinition(DefaultXmlBeanDefinitionParser.java:366)
caused by: java.lang.NoClassDefFoundError: com/atlassian/confluence/pages/persistence/dao/FileSystemAttachmentDataDao$FileSystemAttachmentNamingStrategy
at java.lang.Class.forName0(Native Method)
Confluence starts but localhost:8080 times out
Check the server logs for errors. If you are running Confluence Standalone on Windows, error messages will be printed to the console window that opened when you ran startup.bat. On Unix systems, Confluence will log messages to logs/catalina.out.
Confluence starts but localhost:8080 goes to Tomcat start homepage
The CATALINA_HOME environment variable is set to another instance of Tomcat. You should run shutdown.sh, remove the CATALINA_HOME reference to the other Tomcat version, and run startup.sh again.
Confluence starts but logins fail at login screen
If you try to login with the correct username and password but are always returned to the login screen without any error messages, and you are running Zone Alarm, please check that it is not blocking the Confluence server
Confluence Cluster Installation
Configuration Guide
Confluence Setup Guide
Confluence Documentation Home
An important note concerning logging and Tomcat 5.5 in the Tomcat 5.5 documentation:
"An important consequence for Tomcat 5.5 is that the <Logger> element found in previous versions to create a localhost_log is no longer a valid nested element of <Context>. Instead, the default Tomcat configuration will use java.util.logging. If the developer wishes to collect detailed internal Tomcat logging (i.e what is happening within the Tomcat engine), then they should configure a logging system such as java.util.logging or log4j as detailed next."
So if you're installing Confluence to run under Tomcat 5.5, don't include the Logger element in the Context container.

Posted by sprater at Feb 03, 2006 13:19
|
In my installation I wanted Confluence to the Tomcat's default application, so that a request to the server "root" (http://domain/) would get a response from Confluence. Here is an example of a configuration that achieves that objective:
http://toklas.org/display/sa/5.3+Confluence+as+the+Default+Application

Posted by lrtalley at Feb 11, 2006 21:12
|
It's asking for login details...

Posted by gfraser at Feb 11, 2006 21:19
|
You configure this through the Tomcat server.xml file. There will be a <context> tag with an empty path attribute. Change this context to point to your Confluence webapp.
http://tomcat.apache.org/tomcat-5.5-doc/config/context.html

Posted by mryall at Feb 13, 2006 00:06
|
Don't forget to set the JAVA_OPTS such that at least 256MB can be used by java (-Xmx256m)0

Posted by ltcraben at May 02, 2006 18:24
|
Is there a reason the deployment isn't done through the "Tomcat Web Application Manager"? Presumably, that would be the next step following the "Build WAR" warning panel??

Posted by olivier_dagenais@canada.com at Sep 19, 2006 20:58
|
If you do point to
docBase="c:/applications/confluence-2.1.3/confluence"
you'll get a blank directory. Should point to the $CONFLUENCE.war file instead.

Posted by yanchenko at Dec 04, 2006 18:19
|
Users running Debian / Ubuntu & Confluence up to ver.2.2.10 should updatecglib as otherwise exceptions during installation are expected.

Posted by yanchenko at Dec 05, 2006 00:22
|
How do I go about building an EAR file instead of a WAR file? I've just been informed it's a requirement for our systems. I thought they were the same thing!

Posted by honconftest at Jan 19, 2007 13:24
|
Ok, answer is to run "build ear" instead of "build". Works great. Thanks to Donna in live support on that one!

Posted by honconftest at Jan 19, 2007 13:49
|
So I kept getting 'NoClassDefFoundError' faults for apache along with errors about setting up logging. The logging setup errors were:
log4j:WARN No appenders could be found for logger (com.atlassian.confluence.lifecycle).
log4j:WARN Please initialize the log4j system properly.
The NoClassDefFound erros looked like this:
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory.
java.lang.NoClassDefFoundError: org/apache/commons/codec/DecoderException
It turned out these were all being caused by having some jakarta commons-* libraries in my orion lib directory (I'd been using them on another project, they were not recommended by any Atlassian install process). The files were:
commons-email-1.0.jar
commons-httpclient-3.0.1.jar
commons-logging-1.0.4.jar
So I removed all three and confluence worked fine but JIRA stopped working. I then moved the commons-logging-x to the JIRA/WEB-INF/lib directory and JIRA started working fine.
Now onto http access into subversion...

Posted by william.crighton at Mar 09, 2007 08:36
|
|