In this article, We are installing and configuring a production ready Jira Software Server on CentOS/Rocky Linux 8.
This Article Provides:
- What is Jira?
- Environment Specification
- Install Fontconfig on CentOS 8
- Install MySQL 5.7 on CentOS 8
- Download Jira Software for CentOS 8
- Install Jira Software Server on CentOS 8
- Install MySQL JDBC drivers on CentOS 8
- Generate a Trial License for Jira Software
- Configure Jira Software Server on CentOS 8
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 – 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 segregation, we are installing it before moving forward to Jira Software installation.
# dnf install -y fontconfig
Install MySQL 5.7 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.
[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 for CentOS 8:
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 Software Server 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
Start Jira Software Installer by running 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
Install 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 Software 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.
We have successfully installed and configured Jira Software Server 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.
Very nice article, easy to understand. I followed same steps and install successfully.
ReplyDeleteThanks