How to Install JIRA on an Ubuntu ARM Server

We recently began testing Atlassian JIRA and Confluence for some internal development work, and we noticed there was a lack of documentation on the steps necessary to install and run JIRA on ARM Servers. There are fragmented pieces of information scattered about the web, but not a complete installation guide specifically designed for running JIRA on ARM. Hopefully this walkthrough will help clear up any confusion on the topic, and help you install JIRA successfully.

First, lets discuss the specific environment this guide addresses. This tutorial is for installing JIRA on Ubuntu 14.04 LTS running on ARM architecture processors. It may also work on similar Linux distros such as Raspbian for the Raspberry Pi, Debian, etc, but we only tested and built on Ubuntu Server 14.04 LTS, so your mileage may vary on the others.

Before we get in to the details, here is a quick overview of what we will accomplish in this guide:

This is going to give us access to the ‘add-apt-repository’ command, which we’ll make use of now:

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update

This will pull in a new repository that contains the Oracle Java SDK. We need to use the Oracle Java runtime environment, as opposed to the OpenJDK packages that are in the default Ubuntu repos.

sudo apt-get install oracle-java7-installer

The JAVA_HOME variable should be set for you during installation, but just to be certain we are going to install one more utility, which will allow us to also choose which Java to run if more than one are present on your system.

sudo apt-get install oracle-java7-set-default

Once it finishes installing, we run it with:

sudo update-alternatives --config java

And then choose your Oracle Java installation from the numerical options. It will look similar to this:

There are 2 choices for the alternative java (providing /usr/bin/java).

Now that Java is installed and configured, it is time to download and setup JIRA. Atlassian only provides a binary for installing JIRA on 32-bit and 64-bit x86 platforms, so we cannot use their automated installation scripts. To run JIRA on ARM, we need to use the Archive File option provided by Atlassian. Further reading on the topic can be found here: Installing JIRA from an Archive File on Windows, Linux or Solaris. To find the archive, browse to https://www.atlassian.com/software/jira/download and click on “All JIRA download options”. You will see one labeled “JIRA 6.4.2 (TAR.GZ Archive)” We can see that it is a link to https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.4.2.tar.gz (at the time of this writing). That is the file we are interested in.

On your server, navigate to the folder you want to download this file to, and then start the download.

This will extract the contents of the archive in to a subdirectory. Next, we are going to need to declare a path for the variable ‘jira.home’, so lets first make a directory to point the variable at.

sudo mkdir /var/jira

Now we can set the property in the ‘atlassian-jira/WEB-INF/classes/jira-application.properties’ file.

sudo nano atlassian-jira/WEB-INF/classes/jira-application.properties

Uncomment the line to define ‘jira.home’ and add ‘/var/jira’ (without the quotes). Save and exit.

At this point, JIRA has what it needs and is able to run, so we can start it with:

cd bin./start-jira.sh

JIRA can take up to 10 minutes or more to start, depending on your ARM processor’s core and speed, as well as your filesystem location and speed. Once it’s fully loaded and operational, you can access JIRA by browsing to http://your-ip-address:8080 and going through the steps to finalize setup.

Remember, installing JIRA like this was only tested on an Ubuntu 14.04 LTS ARM Server, but these steps should be roughly the same for installing JIRA on a Raspberry Pi running Raspian, or a Debian ARM server.

I tried to do it many ways and to fix issues using https://confluence.atlassian.com/display/JIRAKB/Troubleshooting+JIRA+Startup+Failed+Error
– using the step by step described here and then Jira documentation (auto install for test purpose and manual install for production purposes)
– using JIRA account or using Root
– increasing RAM dedicated in setenv.sh (to a decent maximum)
– increasing “wait delay)
– adding Swap file (i know i know…)
– I didn’t try to check if they were disabled in the DB but my db was just freshly activated, install from a new clean sd card, for every new attempt (i also know…)

And then launch jira with jira account. It all works well to the welcom screen, then, whatever the option, the tail -f /pathtojirainstall/logs/catalina.out shows ERROR on the plugins

I do admit i had two other errors i could see in the massive panel of error message on the plugins (they are recurrent)
– at the beginning it said i was missing “catalina core Apr something” which could speed up stuff, but i didn’t find a way to fix it
– in the middle it said i was using UTF-8-en-us insteant of POSIX UTF-8

So my questions are :
– did you guys actually had it really up and running farther than the nice welcom screen ?
– if so did you try with Java 8 and JIRA 7 recently ?

Thanks a lot for your post it was really helpful in many ways.

mininodes

We did in fact have this fully installed and running, but, our setup was fairly different than yours. In our case, we were using a Cubieboard2 with JIRA version 6.4, running JAVA 7, MySQL instead of Postgresql, and on Ubuntu 14.04. So, there are quite a few variables to consider among these installs. We have not tried to duplicate any of the work using the newly released JIRA version 7.0 or JAVA 8 yet, or on a RaspberryPi 2 for that matter.

To try to isolate the issue further, perhaps try using JAVA 7, JIRA 6.4, and MySQL first, then incrementally make the changes to see what works and what does not.