This document will assist you in adding Confluence to your existing JIRA standalone install.
This document is a guideline on how to add Confluence to a JIRA standalone install. It assumes that the files mentioned in this document are shipped with Jira. |
Step 1 - Download and extract WAR
- Download the Confluence WAR 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). Note: Do not copy the confluence folder to the webapps folder inside tomcat - this may cause Confluence to be deployed more than once.
Step 2 - Configure confluence-init.properties
- Open confluence/WEB-INF/classes/confluence-init.properties in a text editor
- Set the confluence.home property to a directory of your choosing. This is the directory that will contain all of Confluence's configuration, backup and attachment files.
Step 3 - Edit tomcat context descriptors
If you are deploying to JIRA version 3.3 or higher:
- Create a file called confluence.xml in your JIRA standalone's conf/Catalina/localhost directory (if you have set up a different hostname for your JIRA 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.
Otherwise (for older versions of JIRA):
- Open conf/server.xml in a text editor
- Find the block that begins: <Context path="" docBase="../atlassian-jira" debug="0" reloadable="true"> and ends with </Context> block.
- After the </Context>, append 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.
- Remove the commons-logging-1.0.4.jar file from the confluence/WEB-INF/lib directory
Do not delete the existing Jira <Context> block. Insert the code above after the Jira <Context> block.
Step 4 - Modify your setenv.sh/bat (ONLY IF YOU ARE RUNNING A SUN MICROSYSTEMS JVM)
- Open JIRA's bin/setenv.sh/bat (.sh on unix, .bat on windows) in a text editor.
- Change the line that says: JAVA_OPTS="-Xms128m -Xmx256m $JAVA_OPTS -Djava.awt.headless=true " to be: JAVA_OPTS="-Xms128m -Xmx256m $JAVA_OPTS -Djava.awt.headless=true -XX:MaxPermSize=128m'
The Java Virtual Machine sets aside a portion of memory as the "permanent space", for objects that it never expects to have to garbage-collect. Because JIRA and Confluence are both quite large applications, it is possible that this permanent space will be filled up. Increasing the application heap size will not help, because the permanent generation size is a separate setting.
This flag is only supported on JVM's created by Sun Microsystems. If you include this flag while running another vendors JVM (such as JRocket, or IBM's JVM) they will not start. |
Step 5 - Restart the Server
- Shut down, and then restart the standalone server
- Confluence should now be accessible on the same server as your existing JIRA standalone, under the confluence directory.
For example, if your JIRA is running at http://jira.example.org:8080/, Confluence will be running on http://jira.example.org:8080/confluencereuse
When setting up the Confluence database do not reuse the JIRA database. Create a new database for Confluence.
Troubleshooting
When I try to send a test mail from Confluence, I get javax.mail.NoSuchProviderException: smtp
In some circumstances, Confluence will be unable to send email after being deployed in the same application-server as JIRA. If, when you try to send a test mail from the administration tool, you get the error: "javax.mail.NoSuchProviderException: smtp", please follow these instructions to fix it.
I have installed JIRA and Confluence in some other application server than Tomcat
These instructions only apply to the standalone Tomcat version of JIRA. Other application servers have not been tested in this configuration, and users have specifically reported difficulties deploying the two applications together in Orion Server and JBoss. We hope to resolve these issues soon.
Confluence is slow, and dumps enormous amounts of information to its logfiles
If you are seeing a large amount of DEBUG logging output, then ensure that you have removed the commons-logging-1.0.4.jar file from the confluence/WEB-INF/lib directory
Is there a companion document for adding JIRA to a standalone version of Confluence?
There is currently no such document. For various reasons of configuration, adding Confluence to a JIRA standalone is generally easier and preferable to adding JIRA to a Confluence standalone.
OK, I can do that. I think. How DO I do this? Is it something like this:
1. Shutdown Confluence and Tomcat
2. Install JIRA standalone
3. Start up JIRA standalone
4. Follow instructions for adding Confluence
That easy?
Yes, that's the process to follow.
At least with JIRA 3.3.1, removing commons-logging-1.0.4.jar from confluence/WEB-INF/lib does not seem necessary. JIRA 3.3.1 uses Tomcat 5.5.9, which has the same commons-logging version as Confluence 1.4.3. If the commons-logging jar is removed from confluence/WEB-INF/lib, I find a huge amount of INFO logging in catalina.out. With commons-logging present, log messages are reduced to a reasonable level.
I did not want confluence to be under JIRA because, in my case, the audiences are different. I chose to do the following:
<Engine name="Catalina" defaultHost="wiki.mydomain.com">
<Host name="jira.mydomain.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="${catalina.home}/atlassian-jira" reloadable="false">
<Resource name="jdbc/JiraDS" auth="Container" type="javax.sql.DataSource"
username="jirauser"
password="jira_password"
driverClassName="net.sourceforge.jtds.jdbc.Driver"
url="jdbc:_url_:jiradb"
validationQuery="Select 1"/>
<Resource name="UserTransaction" auth="Container" type="javax.transaction.UserTransaction"
factory="org.objectweb.jotm.UserTransactionFactory" jotm.timeout="60"/>
<Manager pathname=""/>
</Context>
</Host>
<Host name="wiki.mydomain.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="${catalina.home}/../confluence-2.1.5a/confluence" reloadable="false">
<Logger classname="org.apache.catalina.logger.FileLogger" prefix="atlassian-confluence." suffix=".log" timestamp="true"/>
</Context>
</Host>
</Engine>
I have hooked both JIRA and Confluence to authenticate against our Active Directory (LDAP).
I hope this won't cause any integration problems.
I'd like a setup like that too, but I'm not sure if I can do the same on a Jira 3.6 standalone. Should I just wrap the <context> tag in confluence.xml with a <host> tag?
Sure, that should work. You need to make sure the name in the host tag maps to your application server in your DNS.
If you have any issues, please raise a support request at http://support.atlassian.com.
Is there a method to allow Confluence and Jira to share users?
Yes there is. Full instructions can be found [here]
Cheers,
Dave
Hi Dave,
I think the link is dead...
Hi Martin,
Apologies for that, we've recently moved around/consolidated a lot of our documentation.
Here's the correct link: http://confluence.atlassian.com/display/DOC/Delegate+user+management+to+use+JIRA+logins.
Cheers,
Michelle
I run JIRA standalone with a context path of "/jira", and I have the context path of Confluence set to "/confluence". The setup here works for me when I am access both JIRA and Confluence via "http://localhost:8080/...". However, I normally run JIRA behind Apache, with the appropriate ProxyPass settings and with "proxyHost" and "proxyPort" set in JIRA's "server.xml".
I expected this would also work for Confluence, that by changing "/jira" to "/confluence" in the URL, I would get Confluence instead of JIRA. However, it isn't working that way. JIRA works OK, but the Confluence URL returns an error 503 page (Service unavailable).
I'm a bit lost as to how to debug this any further. Can anyone suggest what is the appropriate way to have Apache running in front of both JIRA and Confluence? Thanks a lot in advance,
Cheers, Tony.
The description for the installations works. BUT!
After restarting JIRA all the entries which have been contained (Users, Issues, Projects, ...) before installinge Confluence were gone. We had to import the data from a backup.