How to Install JIRA on an Ubuntu ARM Server

posted in: ARM Servers, JIRA, ubuntu | 4

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:

1. Add Oracle Java repository
2. Install Oracle Java SDK
3. Download and configure JIRA
4. Run JIRA!

Let’s get started.

First, we need to ensure we have a few software utilities installed that will help us add some software repositories in the next step.

sudo apt-get install python-software-properties software-properties-common

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).

Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-7-oracle/jre/bin/java 1062 auto mode
1 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 manual mode
2 /usr/lib/jvm/java-7-oracle/jre/bin/java 1062 manual mode

Press enter to keep the current choice[*], or type selection number:

Select the one that references your new Oracle Java installation, if it is not already selected.

Once complete, you can test everything is working by running:

java -version

It should give you back information on the installed Java version, and should be similar to this:

java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) Client VM (build 24.60-b09, mixed mode)

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.

sudo wget https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.4.2.tar.gz

Once the download has finished, we need to extract it.

sudo tar -xvzf atlassian-jira-6.4.2.tar.gz

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.

Enjoy!

4 Responses

  1. Hi,

    I have tried this procedure with Raspberry Pi 2. Until a certain point it works but soon after finnishing, it did fail for me, and only failed. The place i ever got is the welcome screen of Jira telling me how would you like to install : https://confluence.atlassian.com/jira/running-the-setup-wizard-185729463.html. What ever the option i take (set it up for me / i ll set up my self), it take ten minutes to start, true, but i get the error screen described here : https://confluence.atlassian.com/display/JIRAKB/Troubleshooting+JIRA+Startup+Failed+Error

    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…)

    Here is the deal.
    RPI 2 – 64 Go Sd Card – Ubuntu Mate 15.10 – Jira V7.0 – Postgresql 9 – JAVA 8

    1- follow this post – greatly done
    – just change the deal about getting Oracle-java one command : sudo apt-get update && sudo apt-get install oracle-java7-jdk -> switch to java 8 for JIRA 7
    Launch jira and I got the error message

    2- Follow the steps but use a Jira user instead of root
    sudo /usr/sbin/useradd –create-home –comment “Account for running JIRA” –shell /bin/bash jira
    sudo groupadd atlassian
    sudo usermod -a -G atlassian jira
    sudo chgrp -R atlassian /path/to/the/jira.home
    sudo chmod -R 770 /path/to/the/jirahome
    Do the same for /path/to/jirainstall/logs & …/work & …/temp (it is all explained in Jira documentation if you install from and archived file)

    Don’t forget your Postresql database (i sued Postresql9) :
    sudo /usr/sbin/useradd –create-home –comment “Account for running JIRA” –shell /bin/bash jira
    user:~$ sudo su – postgres
    postgres:~$ createuser -P jira –interactive
    Enter password for new role:password 🙂
    Enter it again:
    Shall the new role be a superuser? (y/n) n
    Shall the new role be allowed to create databases? (y/n) y
    Shall the new role be allowed to create more new roles? (y/n) n
    CREATE ROLE

    postgres:~$ logout
    user:~$ sudo su – jira
    jira:~$ createdb jiradb
    CREATE DATABASE

    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.

    • Hi Gil, sorry to hear your install is not working out.

      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.

      Good luck and thanks for reading!

    • @Gil – did you ever get this running? I failed many times with 7 and am going with 6.4.13 now

  2. Hi,
    I followed the tutorial steps but I wasn’t able to make JIRA 7 running in my Raspberry Pi 2, please can you update the tutorial to the latest Raspbian OS and JIRA 7?

    Many Thanks

Leave a Reply