Share on Social Media

In this article, you will learn how to install Jira on CentOS 8, a complete production ready issue tracking software. #centlinux #linux #jira

What is Jira? :

Jira is a family of products built to help all types of teams in management of their work. Jira offers several products and deployment options that are purpose-built for Software, IT, Business, Ops teams, and more. Jira products are proprietary and developed by Atlassian.

Jira Software is an issue tracking product that allows bug tracking and agile project management. Jira Software is not free but we can download and use Jira software under a 30 days trial license.

Environment Specification:

We are using a minimal installed CentOS 8 virtual machine with following specification.

  • CPU – 3.4 Ghz (2 cores)
  • Memory – 4 GB
  • Storage – 40 GB
  • Operating System – CentOS 8.0
  • Hostname –
  • IP Address – /24

Install Fontconfig on CentOS 8:

Jira Software requires Java and the Java requires fontconfig utilities. Although, it is not necessary to explicitly install fontconfig prior to Jira installation. Because Jira installer will automatically install fontconfig package if not already installed.

But for the sake of segregation, we are installing it before moving forward to Jira Software installation.

# dnf install -y fontconfig

Install MySQL on CentOS 8:

Jira applications come with pre-configured with the H2 database, which is suitable for evaluation or demonstration purposes. But we can also configure Oracle, MySQL, PostreSQL and other popular databases as the Jira backend.

Here, we are configuring a MySQL database as the Jira applications backend.

Jira is compatible with MySQL 5.7, which is not available in default yum repositories of CentOS 8 server. Therefore, we need to add the Oracle MySQL yum repository and then install MySQL 5.7 from it.

Create a repo file in /etc/yum.repos.d directory.

# vi /etc/yum.repos.d/mysql57.repo

And add following lines therein.

name=MySQL 5.7 Community Server

name=MySQL Connectors Community 

name=MySQL Tools Community 

Build cache for newly added yum repositories.

# yum makecache
CentOS-8 - AppStream                            3.1 kB/s | 4.3 kB     00:01
CentOS-8 - Base                                 2.0 kB/s | 3.8 kB     00:01
CentOS-8 - Extras                               1.3 kB/s | 1.5 kB     00:01
MySQL 5.7 Community Server                      316 kB/s | 1.7 MB     00:05
MySQL Connectors Community                       38 kB/s |  64 kB     00:01
MySQL Tools Community                           180 kB/s | 392 kB     00:02
Metadata cache created.

Disable MySQL module in default yum repository.

# dnf module disable mysql
Last metadata expiration check: 0:00:42 ago on Sun 19 Apr 2020 03:16:09 PM PKT.
Dependencies resolved.
 Package           Architecture     Version             Repository         Size
Disabling modules:

Transaction Summary

Is this ok [y/N]: y

Now, we can install MySQL 5.7 using dnf command.

# dnf --enablerepo=mysql57-community install -y mysql-community-server

Enable and start MySQL database service.

# systemctl enable --now mysqld.service

Retrieve temporary password for root user as follows.

# grep 'A temporary password' /var/log/mysqld.log
2020-04-19T10:40:23.859366Z 1 [Note] A temporary password is generated for root@localhost: y?yc,ew7>4mO

Configure MySQL database server.

# mysql_secure_installation

Securing the MySQL server deployment.

Enter password for user root:
The 'validate_password' plugin is installed on the server.
The subsequent steps will run with the existing configuration
of the plugin.
Using existing password for root.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : Y

New password:

Re-enter new password:

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y

Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
 - Dropping test database...

 - Removing privileges on test database...

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

All done!

Connect with MySQL shell as root user.

# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 18
Server version: 5.7.29 MySQL Community Server (GPL)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.


Create a database and user for Jira software.

mysql> CREATE DATABASE jiradb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL on jiradb.* TO 'juser'@'localhost' IDENTIFIED BY 'Ahmer@1234';
Query OK, 0 rows affected, 1 warning (0.00 sec)

Query OK, 0 rows affected (0.23 sec)

mysql> QUIT;

Edit MySQL configuration file accoridng to Jira Software requirements.

# vi /etc/my.cnf

Add following directives under [mysqld] section in this file.


Restart MySQL service to load new configurations.

# systemctl restart mysqld.service

Download Jira Software:

Jira software is available to download at Jira official website. Currently, Jira Software 8.8.0 latest stable release is available for download.

Jira Download Page

Select your required Operating System and click on Submit.

Download Jira Software

Read and accept the User Agreement and click on Submit.

Thanks for downloading Jira Software Server

You download will be started shortly.

Save Jira Setup file

Transfer the downloaded file to machine by using WinSCP or similar tool.

Install Jira on CentOS 8:

Connect with as root user by using ssh tool.

We have transferred the Jira Software installation file to the home directory of root user.

# ls -lh
total 384M
-rw-------. 1 root root 1.4K Sep 29  2019 anaconda-ks.cfg
-rw-r--r--. 1 root root 384M Apr 19 10:41 atlassian-jira-software-8.8.0-x64.bin

The Jira Software installation file does not have the necessary execute permissions, therefore we need to grant the execute permissions to this file.

# chmod u+x atlassian-jira-software-8.8.0-x64.bin

Install Jira on CentOS 8 by executing the downloaded package.

# ./atlassian-jira-software-8.8.0-x64.bin
Unpacking JRE ...
Starting Installer ...

This will install Jira Software 8.8.0 on your computer.
OK [o, Enter], Cancel [c]
Click Next to continue, or Cancel to exit Setup.

Choose the appropriate installation or upgrade option.
Please choose one of the following:
Express Install (use default settings) [1], Custom Install (recommended for advanced users) [2, Enter], Upgrade an existing Jira installation [3]

Details on where Jira Software will be installed and the settings that will be used.
Installation Directory: /opt/atlassian/jira
Home Directory: /var/atlassian/application-data/jira
HTTP Port: 8080
RMI Port: 8005
Install as service: Yes
Install [i, Enter], Exit [e]

Extracting files ...

Please wait a few moments while Jira Software is configured.

Installation of Jira Software 8.8.0 is complete
Start Jira Software 8.8.0 now?
Yes [y, Enter], No [n]

Please wait a few moments while Jira Software starts up.
Launching Jira Software ...

Installation of Jira Software 8.8.0 is complete
Your installation of Jira Software 8.8.0 is now ready and can be accessed
via your browser.
Jira Software 8.8.0 can be accessed at http://localhost:8080
Finishing installation ...

Allow default service port of Jira Software in Linux firewall.

# firewall-cmd --permanent --add-port=8080/tcp
# firewall-cmd --reload

Install MySQL JDBC drivers on CentOS 8:

To connect Jira with the MySQL database, we need to install MySQL JDBC drivers as follows.

# wget
--2020-04-19 16:28:51--
Resolving (
Connecting to (||:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4573467 (4.4M) [application/zip]
Saving to: âmysql-connector-java-8.0.18.zipâ

mysql-connector-jav 100%[===================>]   4.36M  1.18MB/s    in 3.9s

2020-04-19 16:28:56 (1.11 MB/s) - âmysql-connector-java-8.0.18.zipâ saved [4573467/4573467]

Unzip downloaded zip file as follows.

# unzip

Copy the mysql-connector-java-8.0.18.jar file into /opt/atlassian/jira/lib directory.

# cp mysql-connector-java-8.0.18/mysql-connector-java-8.0.18.jar /opt/atlassian/jira/lib

Restart the Jira service to apply changes.

# service jira stop
# service jira start

To run Jira in the foreground, start the server with -fg
executing using dedicated user: jira

              :sMMMMMMMMMMM   MMMMM
                     MMMMMM    `UOJ
             MMMMMM    `UOJ

      Atlassian Jira
      Version : 8.8.0

If you encounter issues starting or stopping Jira, please see the Troubleshooting guide at

Server startup logs are located in /opt/atlassian/jira/logs/catalina.out
Using CATALINA_BASE:   /opt/atlassian/jira
Using CATALINA_HOME:   /opt/atlassian/jira
Using CATALINA_TMPDIR: /opt/atlassian/jira/temp
Using JRE_HOME:        /opt/atlassian/jira/jre/
Using CLASSPATH:       /opt/atlassian/jira/bin/bootstrap.jar:/opt/atlassian/jira/bin/tomcat-juli.jar
Using CATALINA_PID:    /opt/atlassian/jira/work/
Tomcat started.

Generate a Trial License for Jira Software:

Browse Atlassian website by using a client’s browser e.g. Google Chrome.

Atlassian Website Login

Login to Atlassian website. We can also used Google or Microsoft user accounts to login or we can create an Atlassian user account as well.

Jira New Trial License

After successful login, you will be asked to generate a license for your respective Jira product.

Fill the required information and click on “Generate License” button.

Jira Generate License

The Atlassian will generate a 30 days trail license for Jira software. You should copy and save the License key in a text file, because we will need it later, during the setup of the Jira software.

Configure Jira Server on CentOS 8:

Open URL in a web browser.

Setup Jira Software Server

Select option “I’ll set it up myself” and click on Next button.

Jira Database Setup

Provide the database connection information here and click on “Test Connection” to test connectivity with the MySQL database server.

Click on Next.

Jira Set up Application Properties

Set Application properties here and click on Next.

Jira Specify your License Key

Specify your Jira license key and click on Next.

Jira Set up Administrator account

Create an Admin user for your Jira Software. Click on Next.

Jira set up email notifications

If you want to set email notifications, then you can configure it here. Otherwise, this settings can be configured later.

Welcome to Jira language

Choose your preferred language and click on Continue.

Welcome to Jira Create an author

Choose an Avatar for your user account and click on Next.

Jira software Welcome page

Conclusion – Install Jira on CentOS 8:

In this guide, you have learned how to install Jira on CentOS 8. Before that you start using Jira, we highly recommend you to read Jira 8 Essentials: Effective issue management and project tracking with the latest Jira features, 5th Edition (PAID LINK) by Packt Publishing. It will develop your understanding about the Jira software and its usage.

One thought on “How to install Jira on CentOS 8”

Leave a Reply

Your email address will not be published. Required fields are marked *