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 init: clean: compile: 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 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 -------------------------------------------------- BUILD SUCCESSFUL Total time: 38 seconds [root@XXXX_webapp_01 jira]#
[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 /opt/atlassian/jira/dist-tomcat/tomcat-6
root@XXXX_webapp_01 lib]# wget --13:20:22-- Resolving www.atlassian.com... 126.96.36.199 Connecting to www.atlassian.com|188.8.131.52|: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-184.108.40.206.jar 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'? nYou 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:
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:
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.
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 127.0.0.1.