This page last changed on Jun 15, 2009 by rosie@atlassian.com.

These instructions will help you install JIRA on IBM Websphere 5.1, noting some deviations from the generic install instructions.

Warning
Please install WebSphere Application Server 5.1 Cumulative Fix 5. Actually, JIRA should only need PQ80592 (and its prerequisites) and PQ87029 applied. PQ80592 resolves a bug that makes all JIRA pages appear blank (JRA-2510). PQ87029 ensures that importing data works correctly (JRA-8442). Please note that only Websphere 5.1.0.5 has been tested.

On this page:

1. Unpack JIRA

Download and unzip JIRA (but not with XP's unzipper nor the default tar utility on Solaris). Ensure that you download the WAR/EAR version, not the Standalone version that is recommended on the Downloads page.

Avoid the Windows XP built-in unzip tool! The built-in unzip tool in Windows XP is broken — it silently fails to extract files with long names (see JRA-2153 ). Other users have also reported problems using WinRAR. Please use another tool like WinZIP to unpack JIRA.
Avoid the Solaris default tar utility! On Solaris, please use GNU tar to unpack JIRA in order to handle long filenames. Do not use the Solaris default tar utility.

A new directory containing JIRA will be created, hereafter referred to as $JIRA_INSTALL.

If you are using Linux/UNIX: A dedicated user should be created to run JIRA, as JIRA runs as the user it is invoked under and therefore can potentially be abused. Here is an example of how to create a dedicated user to run JIRA in Linux:
$ sudo /usr/sbin/useradd --create-home --home-dir /usr/local/jira --shell /bin/bash jira


2. Configure JIRA

2.1 Configure entityengine.xml

The edit-webapp/WEB-INF/classes/entityengine.xml file needs to be modified to specify the correct database field type. The example below is configured for MS SQL Server.

Please ensure that the value of the jndi-jdbc/jndi-name attribute has the "java:comp/env/" prefix. The prefix should be in the file by default.

<datasource name="defaultDS" field-type-name="mssql"
    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">
    <jndi-jdbc jndi-server-name="default" jndi-name="java:comp/env/jdbc/JiraDS"/>
</datasource>
		
Warning
Make sure that your entityengine.xml is well-formed XML. Websphere "swallows" the error messages you should get in your log file if entityengine.xml is not well-formed, and instead reports a spurious error message.
You can test that your entityengine.xml is well-formed by opening it in Internet Explorer or Firefox. These browsers will display an error if the file is not well-formed XML, and will indicate the location of the error in the file.

2.2 Modify web.xml

Edit webapp/WEB-INF/web.xml file and remove lines:

<!-- Uncomment for WebSphere
Uncomment for WebSphere -->
                

which appear towards the bottom of the file. After removing the lines the <resource-ref> entry should look like:

<!-- resource references -->
<resource-ref>
    <description>Database for JIRA</description>
    <res-ref-name>jdbc/JiraDS</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>SERVLET</res-auth>
    <res-sharing-scope>Unshareable</res-sharing-scope>
</resource-ref>
                

Please ensure that the res-sharing-scope is set to Unshareable.

2.3 Set JIRA Home

To specify the location of your JIRA Home Directory (note that you need to do this before you build JIRA):

You can specify any location on a disk for your JIRA home directory. Please be sure to specify an absolute path.

Please note that you cannot use the same JIRA home directory for multiple instances of JIRA. We recommend that you do not specify your JIRA home directory inside your installation directory, to prevent information from being accidentally lost during major operations (e.g. backing up and restoring instances).

3. Build JIRA

Now build JIRA by running the build script for your platform (e.g. build.bat on Windows or build.sh on a Unix or Linux system). This will produce the deployable WAR file in the dist-generic directory.

4. Configure the Websphere datasource

The datasource for the database should now be configured in Websphere using the Websphere Administration Console. See this guide for setting up a DataSource in the admin web interface.

When defining the datasource map it to the jdbc/JiraServerDS JNDI key. Please ensure that the JNDI key is set to jdbc/JiraServerDS and not jdbc/JiraDS.

5. Deploy JIRA in Websphere

The JIRA WAR file can now be deployed to Websphere (by e.g. using Websphere's Administration Console).

When deploying the JIRA WAR file, please bind JIRA's jdbc/JiraDS datasource to Websphere's jdbc/JiraServerDS entry.

Please use the WAR file in dist-generic directory and NOT the dist-tomcat directory.
Warning
Please ensure that WebSphere's "Servlet Caching" is turned off. Otherwise JIRA will die with ClassCastExceptions.

6. Set mail.mime.decodeparameters

The following system property must be set in order for the JIRA mail handler to work correctly with emails from RFC 2231-compliant mail clients:

mail.mime.decodeparameters=true

System properties are set in different ways depending on your application server.

7. Start JIRA

When you access the path at which you have deployed JIRA, via your web browser, the Setup Wizard should appear.

User-contributed notes

Have experiences to share with Websphere 5.1.x and JIRA? We welcome your thoughts. Please see the user-contributed Websphere notes.

Document generated by Confluence on Oct 06, 2009 00:31