Install Jira Software Server on CentOS 8 - CentLinux

Latest

Monday, 20 April 2020

Install Jira Software Server on CentOS 8

Install Jira Software Server on CentOS 8

In this article, We are installing and configuring a production ready Jira Software Server on CentOS 8.

 

This Article Provides:

     

    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.

    [root@jira-01 ~]# dnf install -y fontconfig Last metadata expiration check: 0:01:08 ago on Sun 19 Apr 2020 01:51:45 PM PKT. Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: fontconfig x86_64 2.13.1-3.el8 BaseOS 275 k Installing dependencies: dejavu-fonts-common noarch 2.35-6.el8 BaseOS 74 k dejavu-sans-fonts noarch 2.35-6.el8 BaseOS 1.5 M fontpackages-filesystem noarch 1.44-22.el8 BaseOS 16 k Transaction Summary ================================================================================ Install 4 Packages Total download size: 1.8 M Installed size: 6.2 M Downloading Packages: (1/4): dejavu-fonts-common-2.35-6.el8.noarch.rp 271 kB/s | 74 kB 00:00 (2/4): fontpackages-filesystem-1.44-22.el8.noar 106 kB/s | 16 kB 00:00 (3/4): fontconfig-2.13.1-3.el8.x86_64.rpm 321 kB/s | 275 kB 00:00 (4/4): dejavu-sans-fonts-2.35-6.el8.noarch.rpm 932 kB/s | 1.5 MB 00:01 -------------------------------------------------------------------------------- Total 874 kB/s | 1.8 MB 00:02 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : fontpackages-filesystem-1.44-22.el8.noarch 1/4 Installing : dejavu-fonts-common-2.35-6.el8.noarch 2/4 Installing : dejavu-sans-fonts-2.35-6.el8.noarch 3/4 Installing : fontconfig-2.13.1-3.el8.x86_64 4/4 Running scriptlet: fontconfig-2.13.1-3.el8.x86_64 4/4 Verifying : dejavu-fonts-common-2.35-6.el8.noarch 1/4 Verifying : dejavu-sans-fonts-2.35-6.el8.noarch 2/4 Verifying : fontconfig-2.13.1-3.el8.x86_64 3/4 Verifying : fontpackages-filesystem-1.44-22.el8.noarch 4/4 Installed: fontconfig-2.13.1-3.el8.x86_64 dejavu-fonts-common-2.35-6.el8.noarch dejavu-sans-fonts-2.35-6.el8.noarch fontpackages-filesystem-1.44-22.el8.noarch Complete!

     

    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.

    [root@jira-01 ~]# 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.

    [root@jira-01 ~]# 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.

    [root@jira-01 ~]# 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.

    [root@jira-01 ~]# dnf --enablerepo=mysql57-community install -y mysql-community-server ... Installed: mysql-community-server-5.7.29-1.el7.x86_64 perl-IO-Socket-IP-0.39-5.el8.noarch perl-IO-Socket-SSL-2.066-3.el8.noarch perl-Mozilla-CA-20160104-7.el8.noarch perl-Digest-1.17-395.el8.noarch perl-Digest-MD5-2.55-396.el8.x86_64 perl-Net-SSLeay-1.88-1.el8.x86_64 perl-URI-1.73-3.el8.noarch perl-libnet-3.11-3.el8.noarch ncurses-compat-libs-6.1-7.20180224.el8.x86_64 net-tools-2.0-0.51.20160912git.el8.x86_64 perl-Carp-1.42-396.el8.noarch perl-Data-Dumper-2.167-399.el8.x86_64 perl-Encode-4:2.97-3.el8.x86_64 perl-Errno-1.28-416.el8.x86_64 perl-Exporter-5.72-396.el8.noarch perl-File-Path-2.15-2.el8.noarch perl-File-Temp-0.230.600-1.el8.noarch perl-Getopt-Long-1:2.50-4.el8.noarch perl-HTTP-Tiny-0.074-1.el8.noarch perl-IO-1.38-416.el8.x86_64 perl-MIME-Base64-3.15-396.el8.x86_64 perl-PathTools-3.74-1.el8.x86_64 perl-Pod-Escapes-1:1.07-395.el8.noarch perl-Pod-Perldoc-3.28-396.el8.noarch perl-Pod-Simple-1:3.35-395.el8.noarch perl-Pod-Usage-4:1.69-395.el8.noarch perl-Scalar-List-Utils-3:1.49-2.el8.x86_64 perl-Socket-4:2.027-3.el8.x86_64 perl-Storable-1:3.11-3.el8.x86_64 perl-Term-ANSIColor-4.06-396.el8.noarch perl-Term-Cap-1.17-395.el8.noarch perl-Text-ParseWords-3.30-395.el8.noarch perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch perl-Time-Local-1:1.280-1.el8.noarch perl-Unicode-Normalize-1.25-396.el8.x86_64 perl-constant-1.33-396.el8.noarch perl-interpreter-4:5.26.3-416.el8.x86_64 perl-libs-4:5.26.3-416.el8.x86_64 perl-macros-4:5.26.3-416.el8.x86_64 perl-parent-1:0.237-1.el8.noarch perl-podlators-4.11-1.el8.noarch perl-threads-1:2.21-2.el8.x86_64 perl-threads-shared-1.58-2.el8.x86_64 mysql-community-client-5.7.29-1.el7.x86_64 mysql-community-common-5.7.29-1.el7.x86_64 mysql-community-libs-5.7.29-1.el7.x86_64 Complete!

    Enable and start MySQL database service.

    [root@jira-01 ~]# systemctl enable --now mysqld.service

    Retrieve temporary password for root user as follows.

    [root@jira-01 ~]# 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.

    [root@jira-01 ~]# 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.

    [root@jira-01 ~]# 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.

    [root@jira-01 ~]# 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.

    [root@jira-01 ~]# 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.

    01-install-jira-software-server-centos-8-download

    Select your required Operating System and click on Submit.

    02-install-jira-software-server-centos-8-user-agreement

    Read and accept the User Agreement and click on Submit.

    03-install-jira-software-server-centos-8-thank-you

    You download will be started shortly.

    04-install-jira-software-server-centos-8-start-download

    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.

    [root@jira-01 ~]# 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.

    [root@jira-01 ~]# chmod u+x atlassian-jira-software-8.8.0-x64.bin

    Start Jira Software Installer by running the downloaded package.

    [root@jira-01 ~]# ./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.

    [root@jira-01 ~]# firewall-cmd --permanent --add-port=8080/tcp success [root@jira-01 ~]# 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.

    [root@jira-01 ~]# wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.18.zip --2020-04-19 16:28:49-- https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.18.zip Resolving dev.mysql.com (dev.mysql.com)... 137.254.60.11 Connecting to dev.mysql.com (dev.mysql.com)|137.254.60.11|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-8.0.18.zip [following] --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.

    [root@jira-01 ~]# unzip mysql-connector-java-8.0.18.zip ... inflating: mysql-connector-java-8.0.18/src/test/java/testsuite/x/internal/MysqlxSessionTest.java inflating: mysql-connector-java-8.0.18/src/test/java/testsuite/x/internal/XProtocolAsyncTest.java inflating: mysql-connector-java-8.0.18/src/test/java/testsuite/x/internal/XProtocolAuthTest.java inflating: mysql-connector-java-8.0.18/src/test/java/testsuite/x/internal/XProtocolTest.java inflating: mysql-connector-java-8.0.18/src/test/java/testsuite/x/internal/package-info.java

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

    [root@jira-01 ~]# 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.

    [root@jira-01 ~]# service jira stop ... [root@jira-01 ~]# 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.

    05-install-jira-software-server-centos-8-atlassian-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.

    06-install-jira-software-server-centos-8-generate-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.

    07-install-jira-software-server-centos-8-licenses

    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:

    Browse URL http://jira-01.centlinux.com:8080 in a client's browser.

    08-install-jira-software-server-centos-8-setup

    Select option "I'll set it up myself" and click on Next button.

    09-install-jira-software-server-centos-8-database-setup

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

    Click on Next.

    10-install-jira-software-server-centos-8-applications-setup

    Set Application properties here and click on Next.

    11-install-jira-software-server-centos-8-license-key

    Specify your Jira license key and click on Next.

    12-install-jira-software-server-centos-8-admin-user

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

    13-install-jira-software-server-centos-8-email-notifications

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

    14-install-jira-software-server-centos-8-language

    Choose your preferred language and click on Continue.

    15-install-jira-software-server-centos-8-avatar

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

    16-install-jira-software-server-centos-8-welcome

    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 by Packt Publishing. It will develop your understanding about the Jira software and its usage.

    No comments:

    Post a comment