Installing JIRA on Orion Server

PDF
PDF

These instructions will help you install JIRA on OrionServer. It may also be helpful for OC4J users (JIRA works on OC4J 9.0.4 and above).

This document is relevant to Orion 1.5.4, 1.6.0 and 2.0.1.

Please let us know if you have any problems (or it works with other versions) on the mailing list.

Both JIRA and Orion can be setup in many ways - this is just one configuration that we have found works consistently for us.

1. Unpack JIRA

Unzip the JIRA WAR (Webapp ARchive) distribution. A new directory containing JIRA will be created, hereafter referred to as $JIRA_HOME

2. Configure JIRA

2.1 Modify transaction factory attribute

Modify the transaction factory in the entityengine.xml file, located in the $JIRA_HOME/edit-webapp/WEB-INF/classes directory.

Verify that the existing <transaction-factory> tag looks like this (the default):

<transaction-factory
  class="org.ofbiz.core.entity.transaction.JNDIFactory">
  <user-transaction-jndi jndi-server-name="default"
    jndi-name="java:comp/UserTransaction"/>
  <transaction-manager-jndi jndi-server-name="default"
    jndi-name="java:comp/UserTransaction"/>
</transaction-factory>

2.2 Configuring the database

By default, Orion comes with a hsql database, configured by a 'datasource' located at jdbc/xa/HypersonicXADS. These instructions use that datasource. Alternatively, you can add your own datasource for another database by editing orion/config/data-sources.xml. for example, by adding the following inside the root element:

<data-source
        class="com.evermind.sql.DriverManagerDataSource"
        name="JIRA Postgres database"
        location="jdbc/JiraCoreDS"
        xa-location="jdbc/xa/JiraXADS"
        ejb-location="jdbc/JiraDS"
        connection-driver="org.postgresql.Driver"
        username="postgres"
        password="postgresPassword123"
        url="jdbc:postgresql:jiradb"
        inactivity-timeout="30"
/>
  />

Here we've configured a PostgreSQL datasource. Details will vary depending on database - see this page for details.

Warning
Oracle users note: the setBigStringTryClob parameter needs to be passed through to the JDBC driver for JIRA to work fully, but Orion / OC4J do not let this string through. Please see the Oracle 10g JDBC driver notes for a workaround.
Note
If you're using your own datasource, the jndi-name attribute in entityengine.xml must match the xa-location attribute in your Orion config/data-sources.xml file.

Here's the relevant section of the entityengine.xml file: (the sections in bold are the ones you will need to change)

<datasource name="defaultDS" field-type-name="postgres"
      schema-name="public"
      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">
        <jndi-jdbc jndi-server-name="default" jndi-name="jdbc/xa/JiraXADS"/>
</datasource>
		

Note that here we've also added a schema-name="public" attribute, as Postgres requires.

The database's JDBC driver now needs to be copied into the Orion library directory (usually lib/). In the case of Postgres, one might have $ORION/lib/pg73jdbc3.jar

Finally, Orion does not come bundled with a compiler for JSP files. Hence you need to copy tools.jar from your JDK lib directory to the Orion directory.

3. Build JIRA

Now build JIRA by typing build ear (Windows) or ./build.sh ear (Unix) on the command line, in $JIRA_HOME. This will produce the deployable EAR file in the $JIRA_HOME/dist-generic directory.

4. Deploy JIRA in Orion

Edit the Orion config/server.xml to add this application like so:

<application name="jira"
        path="c:\jira\atlassian-jira-3.3.3.ear" /> 

(edit the path and filename as generated in step 3).

5. Bind the JIRA website

You can add JIRA to any of your websites in Orion. As an example, to add JIRA to the default Orion website edit config/default-web-site.xml and add the following line

<web-app application="jira" name="atlassian-jira-web" root="/jira" />

Start Orion by using java -jar orion.jar -userThreads in the directory where you installed Orion. JIRA should be accessible at http://localhost/jira/ (change the host, port and path as needed).

Warning
The -userThreads option is important -- without it, services will fail to run.

OC4J notes

An OC4J 9.0.4 user writes:

> Thanks for the Info. I have now got JIRA working with OC4J 9.0.4.

> In case you get anyone else querying this, then after the initial
> install there is an error referring to errors loading tag libraries:

oracle.jsp.parse.JspParseException: Line # 1, <%@ taglib uri="webwork" prefix="webwork" %> Error: Unable to load
  taghandler
class: webwork

> This
> is a documented problem with the OC4J and can be fixed by adding the
> following to config/global-web-application.xml:

<orion-web-app......  jsp-cache-tlds="false">