Jira installation notes

These are my notes to get Jira installed and working with a Crowd backend for authentication and single sign on. I've already shown you the notes to get Crowd and Confluence installed. Check out the previous articles in the series.

As always, these are notes for reference and they may not work perfectly for you, YMMV. Quick refresher...

Get Tomcat working, as we did in the previous post. I'm going to just add Jira to that. Make sure Jira's database settings are properly configured. Follow the steps to integrate Jira into an existing Tomcat installation and not standalone; lets get started.

Following these two documents. doc1, and doc2. ((http://www.atlassian.com/software/jira/docs/latest/servers/tomcat60.html)) ((http://www.atlassian.com/software/jira/docs/latest/install-war.html))

get the ear/war download for jira. I found the one I needed at (http://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-enterprise-3.13.4.tar.gz).
tar xvzf atlassian-jira-enterprise-3.13.4.tar.gz

I like making symlinks so things are easy to test and upgrade if we need to:

[root@XXXX_webapp_01 atlassian]# ln -s atlassian-jira-enterprise-3.13.4 ./jira
ln: creating symbolic link `./jira' to `atlassian-jira-enterprise-3.13.4': File exists
[root@XXXX_webapp_01 atlassian]# ln -fs atlassian-jira-enterprise-3.13.4 ./jira
[root@XXXX_webapp_01 atlassian]# ls -la
total 63044
drwxr-xr-x  8 root root     4096 Jun 19  2009 .
drwxr-xr-x  8 root root     4096 Jun 12 14:23 ..
-rw-r--r--  1 root root 32722355 Feb 16 23:33 atlassian-crowd-1.6.1-war.zip
drwxr-xr-x  9 root root     4096 Jun 19  2009 atlassian-jira-enterprise-3.13.4
-rw-r--r--  1 root root 31659532 Apr 23 19:00 atlassian-jira-enterprise-3.13.4.tar.gz
lrwxrwxrwx  1 root root       30 Jun 12 12:03 confluence -> confluence-3.0.0_01/confluence
drwxr-xr-x  5 root root     4096 Jun 12 12:01 confluence-3.0.0_01
drwxr-xr-x 13 root root     4096 Jun 12 14:38 confluence-home
lrwxrwxrwx  1 root root       15 Jun 12 10:10 crowd -> crowd-1.6.1-war
drwxr-xr-x  8 root root     4096 Jun 12 10:17 crowd-1.6.1-war
drwxr-xr-x  5 root root     4096 Jun 12 14:11 crowd-home
drwxr-xr-x  5 root root     4096 Jun 12 10:54 crowd-home.orig
lrwxrwxrwx  1 root root       32 Jun 19  2009 jira -> atlassian-jira-enterprise-3.13.4
[root@XXXX_webapp_01 atlassian]#

After you extract it, the directory that gets created is considered $JIRA_HOME, for me that is /opt/atlassian/jira. Next up is to verify that entityengine.xml is correct. I didn't have to change anything in mine.
After you've verified the file, you can build jira. You should see this:

[root@XXXX_webapp_01 jira]# ./build.sh 
Buildfile: build.xml



Created dir: /opt/atlassian/atlassian-jira-enterprise-3.13.4/tmp/build/war
Created dir: /opt/atlassian/atlassian-jira-enterprise-3.13.4/dist-generic
Created dir: /opt/atlassian/atlassian-jira-enterprise-3.13.4/dist-tomcat
Created dir: /opt/atlassian/atlassian-jira-enterprise-3.13.4/dist-tomcat/tomcat-6
Copying 5896 files to /opt/atlassian/atlassian-jira-enterprise-3.13.4/tmp/build/war
Copied 4 empty directories to /opt/atlassian/atlassian-jira-enterprise-3.13.4/tmp/build/war
Copying 2 files to /opt/atlassian/atlassian-jira-enterprise-3.13.4/tmp/build/war

Building jar: /opt/atlassian/atlassian-jira-enterprise-3.13.4/dist-generic/atlassian-jira-3.13.4.war
Building jar: /opt/atlassian/atlassian-jira-enterprise-3.13.4/dist-tomcat/atlassian-jira-3.13.4.war
Building jar: /opt/atlassian/atlassian-jira-enterprise-3.13.4/dist-tomcat/tomcat-6/atlassian-jira-3.13.4.war
Copying 1 file to /opt/atlassian/atlassian-jira-enterprise-3.13.4/dist-tomcat/tomcat-4
Copying 1 file to /opt/atlassian/atlassian-jira-enterprise-3.13.4/dist-tomcat/tomcat-5
Copying 1 file to /opt/atlassian/atlassian-jira-enterprise-3.13.4/dist-tomcat/tomcat-5.5
Copying 1 file to /opt/atlassian/atlassian-jira-enterprise-3.13.4/dist-tomcat/tomcat-6

Deployable WARs generated: 

TOMCAT:  /opt/atlassian/atlassian-jira-enterprise-3.13.4/dist-tomcat/atlassian-jira-3.13.4.war
GENERIC: /opt/atlassian/atlassian-jira-enterprise-3.13.4/dist-generic/atlassian-jira-3.13.4.war 

See  for install instructions

Total time: 38 seconds
[root@XXXX_webapp_01 jira]#

As expected:

[root@XXXX_webapp_01 tomcat-6]# ls -la
total 33048
drwxr-xr-x 2 root root     4096 Jun 19 13:18 .
drwxr-xr-x 6 root root     4096 Jun 19 13:18 ..
-rw-r--r-- 1 root root 33752893 Jun 19 13:18 atlassian-jira-3.13.4.war
-rw-r--r-- 1 root root     1196 Jun 19 13:18 jira.xml
[root@XXXX_webapp_01 tomcat-6]# pwd
root@XXXX_webapp_01 lib]# wget 
Resolving www.atlassian.com...
Connecting to www.atlassian.com||:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1500191 (1.4M) [application/zip]
Saving to: `jira-jars-tomcat6.zip'

100%[===========================================================>] 1,500,191   1.40M/s   in 1.0s   

13:20:23 (1.40 MB/s) - `jira-jars-tomcat6.zip' saved [1500191/1500191]

[root@XXXX_webapp_01 lib]# unzip jira-jars-tomcat6.zip -d ./
Archive:  jira-jars-tomcat6.zip
   creating: ./jira-jars-tomcat6/
  inflating: ./jira-jars-tomcat6/carol-1.5.2.jar  
  inflating: ./jira-jars-tomcat6/carol-properties.jar  
  inflating: ./jira-jars-tomcat6/commons-logging-1.0.4.jar  
  inflating: ./jira-jars-tomcat6/hsqldb-  
  inflating: ./jira-jars-tomcat6/jonas_timer-1.4.3.jar  
  inflating: ./jira-jars-tomcat6/jotm-1.4.3.jar  
  inflating: ./jira-jars-tomcat6/jotm-iiop_stubs-1.4.3.jar  
  inflating: ./jira-jars-tomcat6/jotm-jrmp_stubs-1.4.3.jar  
  inflating: ./jira-jars-tomcat6/jta-1.0.1.jar  
  inflating: ./jira-jars-tomcat6/log4j-1.2.7.jar  
  inflating: ./jira-jars-tomcat6/objectweb-datasource-1.4.3.jar  
  inflating: ./jira-jars-tomcat6/ots-jts_1.0.jar  
  inflating: ./jira-jars-tomcat6/xapool-1.3.1.jar  

[root@XXXX_webapp_01 lib]# mv jira-jars-tomcat6/* ./
mv: overwrite `./jta-1.0.1.jar'? n

You should now have a bunch of added files inside the lib directory for Tomcat. Next up we have to re-configure Tomcat. The instructions from Atlassian call you to make a Catalina/localhost folder, but because I needed one or Confluence as well, it already exists for me. I don't actually remember having to create it anyway, but anyway, moving on. You need to copy the jira.xml file that was built alongside the jar earlier and copy inot the localhost directory for Tomcat. It should be in the same place as the confluence.xml file.

[root@XXXX_webapp_01 localhost]# cp /opt/atlassian/atlassian-jira-enterprise-3.13.4/dist-tomcat/tomcat-6/jira.xml ./
[root@XXXX_webapp_01 localhost]# ls
confluence.xml  crowd.xml  host-manager.xml  jira.xml  manager.xml

Make sure you have your database ready with a username and password, and then fill out the jira.xml file as instructed.

Make sure you know your username and password, you can use MySQL Administrator for that:

Jira permissions view with MySQL Administrator
Jira permissions view with MySQL Administrator

Username and password go into the jira.xml, along with the database --tucked away in the jdbc:mysql url. Then we have to modify tomcat's server.xml to include Jira's context.

There was a problem when I tried deploying Jira for the first time in Tomcat, I had an extra line in the entityengine.xml file for Jira. I fixed it and also proceeded to make a few deviations from the instructions.

Rather than using the .war file, I exploded it into what became $JIRA_HOME and then I made the context for Jira point to that location. The instructions, I believe have you point TC to the war file.

Now I have to integrate Jira to the existing Crowd instance. Since this is all for the same group of people, I do'nt need another directory, I simply need users and the application definition in Crowd.

Here's the document to help out http://confluence.atlassian.com/display/CROWD/Integrating+Crowd+with+Atlassian+JIRA.

Make the three groups:

Jira needs three groups
Jira needs three groups

Since I already have usernames in the system, I simply will add some of the administrator users to all three of Jira's groups. Notice, if you're creating users for the first time you need to have at least one user that belongs to all three groups for this to work. After you have the groups, and a user in all three groups you can define the application.

Define the application, make sure you add the Jira groups so the members can actually use Jira, I also added the group Crowd Administrators to this application.

Jira Application in Crowd definition
Jira Application in Crowd definition

After you've defined the application, we'll need to change a couple files and move a few more around to make this all work. Carefully follow the steps to integrate Jira and Crowd.

After you've defined the groups, the application, the users and have modified the crowd.properties file along with making the other changes outlined in the document, you should be able to restart tomcat and have Jira just work.

I had an issue at first, the crowd.properties file called the Crowd services url on its default port of 8095, I had to change that to 8080 since that is where Tomcat is serving this stuff. I also had to make sure that not only was the server's IP defined in the applications permissions, but also