In this article, you will learn how to install Jira on CentOS 8, a complete production ready issue tracking software. #centlinux #linux #jira
Table of Contents
What is Jira?
Jira is a popular project management and issue tracking software developed by Atlassian. It is widely used by software development teams to plan, track, and manage projects effectively. Here are the key aspects of Jira:
- Issue Tracking: Jira allows teams to track bugs, tasks, and other work items, known as “issues.” Each issue can be customized with various fields to capture detailed information.
- Project Management: Jira supports both traditional project management methodologies (like Waterfall) and agile methodologies (like Scrum and Kanban). It offers tools for sprint planning, backlog grooming, and progress tracking.
- Custom Workflows: Users can create custom workflows to match their team’s processes, ensuring that issues move through the stages of work according to the team’s specific needs.
- Reports and Dashboards: Jira provides a variety of reports and dashboards that help teams monitor their progress, identify bottlenecks, and make data-driven decisions. These can include burndown charts, velocity charts, and cumulative flow diagrams.
- Integration: Jira integrates with many other tools and services, such as Confluence (another Atlassian product for documentation), Bitbucket (for code repository management), and various CI/CD tools. This integration helps streamline the development process.
- User Management: Jira offers robust user management features, including customizable roles and permissions, to ensure that team members have appropriate access to the information and tools they need.
- Customization: Jira is highly customizable, with options to create custom issue types, fields, and screens. This flexibility allows teams to tailor Jira to their specific requirements.
- Marketplace Add-ons: Jira has a marketplace where users can find add-ons and plugins to extend its functionality. These add-ons can provide additional features like enhanced reporting, time tracking, and integration with other third-party tools.
- Cloud and On-Premises: Jira is available in both cloud-based and on-premises versions, allowing organizations to choose the deployment option that best fits their infrastructure and compliance requirements.
Jira is widely used across various industries, particularly in software development, for its robust features and flexibility in managing complex projects and workflows.
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.
Recommended Online Training: Jira Crash Course: Agile Project Management
Jira Alternatives
There are several alternatives to Jira that offer robust project management and issue tracking features. Here are some popular Jira alternatives:
Trello
- Features: Trello uses a card-based system for task management, making it easy to visualize projects and workflows. It’s known for its simplicity and ease of use.
- Best For: Small teams and simple project management needs.
- Pricing: Offers a free tier with basic features and paid plans for advanced features.
Asana
- Features: Asana provides task management, project tracking, and team collaboration tools. It supports various views, including list, board, and timeline views.
- Best For: Teams of all sizes, especially those requiring a flexible tool for various types of projects.
- Pricing: Free for basic use, with premium plans for advanced features.
Monday.com
- Features: Monday.com offers customizable workflows, project tracking, and collaboration tools. It has a visually appealing interface and supports integration with many other tools.
- Best For: Teams looking for a highly customizable project management tool.
- Pricing: Paid plans with different levels of features, no free tier for unlimited use.
ClickUp
- Features: ClickUp is a versatile project management tool that offers task management, time tracking, goal setting, and more. It provides multiple views like lists, boards, and Gantt charts.
- Best For: Teams looking for an all-in-one project management solution.
- Pricing: Free tier available with premium plans for additional features.
GitHub Issues
- Features: GitHub Issues integrates with GitHub repositories, providing issue tracking and project management directly within the GitHub ecosystem. It supports Kanban-style boards and task automation.
- Best For: Development teams already using GitHub for version control.
- Pricing: Free with GitHub repositories, with paid plans for more advanced features.
Azure DevOps
- Features: Azure DevOps offers comprehensive tools for version control, project management, and continuous integration/continuous deployment (CI/CD). It supports Agile workflows and integrates well with other Microsoft tools.
- Best For: Larger teams and enterprises, especially those using other Microsoft products.
- Pricing: Free for small teams, with paid plans for larger organizations.
Redmine
- Features: Redmine is an open-source project management and issue tracking tool. It supports multiple projects, wikis, forums, and time tracking.
- Best For: Teams looking for a free, self-hosted solution.
- Pricing: Free and open-source.
Wrike
- Features: Wrike offers project management, collaboration, and advanced reporting features. It supports Gantt charts, workload management, and custom workflows.
- Best For: Medium to large teams needing detailed project planning and tracking.
- Pricing: Free tier available with premium plans for advanced features.
Each of these tools has its strengths and may be more suitable for different types of teams and projects. Consider your team’s specific needs and workflows when choosing an alternative to Jira.
Read Also: How to install OpenProject on RHEL 8
Linux Server 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 – jira-01.centlinux.com
- IP Address – 192.168.116.206 /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 demonstration, we are installing fontconfig before moving forward to Jira Software installation.
# dnf install -y fontconfig
Installing MySQL on CentOS 8
Jira software come with pre-configured with the H2 database, which is suitable for evaluation or demonstration purposes. But we can also configure Oracle, MySQL, PostgreSQL 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.
[mysql57-community] name=MySQL 5.7 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/ enabled=1 gpgcheck=0 [mysql-connectors-community] name=MySQL Connectors Community baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/7/$basearch/ enabled=1 gpgcheck=0 [mysql-tools-community] name=MySQL Tools Community baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/7/$basearch/ enabled=1 gpgcheck=0
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: mysql Transaction Summary ================================================================================ Is this ok [y/N]: y Complete!
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 environment. Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y Success. 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 Success. 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 environment. Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y - Dropping test database... Success. - Removing privileges on test database... Success. 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 Success. 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 owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql>
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) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.23 sec) mysql> QUIT; Bye
Edit MySQL configuration file accoridng to Jira Software requirements.
# vi /etc/my.cnf
Add following directives under [mysqld] section in this file.
default-storage-engine=INNODB character_set_server=utf8mb4 innodb_default_row_format=DYNAMIC innodb_large_prefix=ON innodb_file_format=Barracuda innodb_log_file_size=2G sql_mode = NO_AUTO_VALUE_ON_ZERO
Restart MySQL service to load new configurations.
# systemctl restart mysqld.service
Download Jira Software Server
Jira software is available to download at Jira official website. Currently, Jira Software 8.8.0 latest stable release is available for download.
Select your required Operating System and click on Submit.
Read and accept the User Agreement and click on Submit.
You download will be started shortly.
Transfer the downloaded file to jira-01.centlinux.com machine by using WinSCP or similar tool.
Install Jira on CentOS 8
Connect with jira-01.centlinux.com 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] o 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] 1 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] i 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] y 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 success # firewall-cmd --reload success
Installing MySQL JDBC drivers on CentOS 8
To connect Jira with the MySQL database, we need to install MySQL JDBC drivers as follows.
# wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.18.zip --2020-04-19 16:28:51-- https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-8.0.18.zip Resolving cdn.mysql.com (cdn.mysql.com)... 23.43.33.86 Connecting to cdn.mysql.com (cdn.mysql.com)|23.43.33.86|: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 mysql-connector-java-8.0.18.zip
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 start-jira.sh -fg executing using dedicated user: jira `sMMMMMMMMMMMMMM+ MMMMMMMMMMMMMM :sdMMMMMMMMMMM MMMMMM `sMMMMMMMMMMMMMM+ MMMMMM MMMMMMMMMMMMMM +MMMMM :sMMMMMMMMMMM MMMMM MMMMMM `UOJ `sMMMMMMMMMMMMM+ MMMMMM MMMMMMMMMMMMMM +MMMMM :sdMMMMMMMMMM MMMMM MMMMMM `UOJ MMMMMM +MMMMM MMMMM `UOJ Atlassian Jira Version : 8.8.0 If you encounter issues starting or stopping Jira, please see the Troubleshooting guide at https://docs.atlassian.com/jira/jadm-docs-088/Troubleshooting+installation 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/catalina.pid Tomcat started.
Generate a Trial License for Jira Software
Browse Atlassian website by using a client’s browser e.g. Google Chrome.
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.
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.
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 http://jira-01.centlinux.com:8080 in a web browser.
Select option “I’ll set it up myself” and click on Next button.
Provide the database connection information here and click on “Test Connection” to test connectivity with the MySQL database server.
Click on Next.
Set Application properties here and click on Next.
Specify your Jira license key and click on Next.
Create an Admin user for your Jira Software. Click on Next.
If you want to set email notifications, then you can configure it here. Otherwise, this settings can be configured later.
Choose your preferred language and click on Continue.
Choose an Avatar for your user account and click on Next.
You have reached at the Jira Dashboard.
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.
Final Thoughts
Thank you for following this guide on how to install Jira on CentOS 8. I hope this tutorial has helped you successfully set up Jira and start leveraging its powerful project management and issue tracking capabilities.
If you need further assistance with installing, configuring, or optimizing Jira on CentOS 8, I am here to help. I offer professional services on Fiverr, including Jira setup, customization, and support. You can check out my profile and services here: Linux Expert Administrator
Feel free to reach out for any additional support. Happy project managing!
Very nice article, easy to understand. I followed same steps and install successfully.
Thanks