Установка Jira Service Management Server на Rocky Linux 8.6 c MySQL и NGINX

Ставим Jira Service Management 5.3.0 с MySQL 8 на Rocky Linux 8.6.

Вводные данные

Чистая обновленная Rocky Linux 8.6

Установка JiraSM 5.3.0 на Rocky Linux 8.6

Отключаем selinux

https://www.andreyolegovich.ru/linux/rocky/selinux.php

Сразу после установки Rocky Linux, отключим selinux, так как он будет мешать подключениям на веб сервер:

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

После требуется перезагрузить ОС

shutdown -r now

(необязательно) Установим Java

Jira для работы требует Java. А Java требует установки утилит fontconfig. Ставить их отдельно необязательно, так как Jira сама их поставит при установке. На данный момент Jira поддерживает Java11 версии, поставить Javaотдельно можно командой:

dnf -y install java-11-openjdk java-11-openjdk-devel

Проверяем установленную версию Java:

java -version
openjdk version “11.0.16.1” 2022-08-12 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.16.1.1-1.el8_6) (build 11.0.16.1+1-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.16.1.1-1.el8_6) (build 11.0.16.1+1-LTS, mixed mode, sharing)

Качаем и ставим Jira Service Management

Теперь, когда сервер подготовлен, качаем .bin с официального сайта, для этого нам понадобится предварительно установить пакет wget:

cd /tmp
dnf -y install wget
wget https://www.atlassian.com/software/jira/downloads/binary/atlassian-servicedesk-5.3.0-x64.bin

Делаем скачанный файл исполняемым:

chmod +x atlassian-servicedesk-5.3.0-x64.bin

И запускаем установку:

./atlassian-servicedesk-5.3.0-x64.bin
WARNING: Please make sure fontconfig is installed in your Linux distribution for Jira installation.
Visit KB article for more information. https://confluence.atlassian.com/x/PRCEOQ
Unpacking JRE …
Starting Installer …
This will install Jira Service Desk 5.3.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]
1
Details on where Jira Service Desk 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 …
/opt/atlassian/jira/bin/tcnative-1.dll
The file already exists.
Would you like Setup to overwrite it?
Yes [y], Yes to All [ya], No [n], No to All [na]
ya
Please wait a few moments while Jira Service Desk is configured.
Installation of Jira Service Desk 5.3.0 is complete
Start Jira Service Desk 5.3.0 now?
Yes [y, Enter], No [n]
y
Please wait a few moments while Jira Service Desk starts up.
Launching Jira Service Desk …
Installation of Jira Service Desk 5.3.0 is complete
Your installation of Jira Service Desk 5.3.0 is now ready and can be
accessed via your browser.
Jira Service Desk 5.3.0 can be accessed at http://localhost:8080
Finishing installation …

Установим SQL 8 для Jira

Установим SQL 8 из репозитория Appstream:

dnf install -y @mysql

Запускаем SQL и добавляем его в автозагрузку:

systemctl enable --now mysqld

Проводим первоначальную настройку:

mysql_secure_installation

Настраиваем SQL сервер

https://confluence.atlassian.com/jiracore/connecting-jira-to-mysql-8-0-1018272102.html

Найти расположение конфигурационного файла MySQL можно командой:

mysql --help | grep "Default options" -A 1

Редактируем файл:

nano /etc/my.cnf.d/mysql-server.cnf

Приводим его к виду:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysql/mysqld.log
pid-file=/run/mysqld/mysqld.pid
default-storage-engine=INNODB
character_set_server=utf8mb4
innodb_default_row_format=DYNAMIC
innodb_log_file_size=2G

Перезапустим MySQL:

systemctl restart mysqld

Создаем базу и пользователя для JiraSM:

mysql -u root -p
CREATE DATABASE jiradb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'jirauser'@'localhost' IDENTIFIED BY 'Str0ngDBP@ssw%rd';
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,REFERENCES,ALTER,INDEX on jiradb.* TO 'jirauser'@'localhost';
FLUSH PRIVILEGES;
QUIT;

Установим коннектор MySQL-Java

Для работы с MySQL Jira требует установки коннектора:

cd /tmp
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j-8.0.31.zip
dnf install -y zip
unzip mysql-connector-j-8.0.31.zip
cp mysql-connector-j-8.0.31/mysql-connector-j-8.0.31.jar /opt/atlassian/jira/lib

Добавляем правила в Firewall

Добавляем исключения для нужных нам портов в Firewall:

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

Чтобы все заработало, перезагрузим сервер

shutdown -r now

Настроим коннектор HTTP:

nano /opt/atlassian/jira/conf/server.xml

Уберем закрывающие теги и добавим proxyName и proxyPort:

<!--
        <Connector port="8080" relaxedPathChars="[]|" relaxedQueryChars="[]|{}^\`&quot;&lt;&gt;"
                   maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false"
                   maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443"
                   acceptCount="100" disableUploadTimeout="true" bindOnInit="false" scheme="http"
                   proxyName="jira.example.com" proxyPort="80"/>

Добавим еще один блок для обхода прокси:

<!-- Standard HTTP Connector -->
       <Connector port="8082" relaxedPathChars="[]|" relaxedQueryChars="[]|{}^\`&quot;&lt;&gt;"
                  maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false"
                  maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true"
                  redirectPort="8443" acceptCount="100" disableUploadTimeout="true"/>

Перезапустим службу Жира:

systemctl restart jira

Настроим прокси NGINX для Jira

Установим и активируем Nginx:

dnf -y install nginx
systemctl enable --now nginx

Настроим Nginx

Создадим конфигурационный файл для Jira:

nano /etc/nginx/conf.d/jira.conf

Замените jira.example.com на FQDN своего сервера:

server {
    listen 80;
    server_name jira.example.com;
    location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
        proxy_pass http://jira.example.com:8080;
        client_max_body_size 10M;
    }
}

Перезапустим Nginx:

systemctl restart nginx

Настраиваем Jira на Rocky Linux

Убедимся, что службы jira и nginx запущены:

systemctl status jira nginx

Обе службы должны быть в статусе running. Если так, то двигаемся дальше.

Запускаем Jira по адресу http://jira.example.com

Установим Atlassian Confluence

Качаем .bin с официального сайта:

cd /tmp
wget https://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-7.19.2-x64.bin

Делаем скачанный файл исполняемым:

cchmod +x atlassian-confluence-7.19.2-x64.bin

И запускаем установку:

./atlassian-confluence-7.19.2-x64.bin
Installing fontconfig and fonts
Last metadata expiration check: 0:35:29 ago on Sat 22 Oct 2022 04:17:36 PM EDT.
Last metadata expiration check: 0:35:31 ago on Sat 22 Oct 2022 04:17:36 PM EDT.
Package fontconfig-2.13.1-4.el8.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
Last metadata expiration check: 0:35:32 ago on Sat 22 Oct 2022 04:17:36 PM EDT.
Package dejavu-sans-fonts-2.35-7.el8.noarch is already installed.
Dependencies resolved.
Nothing to do.
Complete!
Last metadata expiration check: 0:35:33 ago on Sat 22 Oct 2022 04:17:36 PM EDT.
No match for argument: google-noto-cjk-fonts
Error: Unable to find a match: google-noto-cjk-fonts
Last metadata expiration check: 0:35:35 ago on Sat 22 Oct 2022 04:17:36 PM EDT.
No match for argument: google-noto-sans-cjk-fonts
Error: Unable to find a match: google-noto-sans-cjk-fonts
Last metadata expiration check: 0:35:36 ago on Sat 22 Oct 2022 04:17:36 PM EDT.
No match for argument: google-noto-serif-cjk-fonts
Error: Unable to find a match: google-noto-serif-cjk-fonts
Regenerating the font cache
Fonts and fontconfig have been installed
Unpacking JRE …
Starting Installer …
This will install Confluence 7.19.2 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 (uses default settings) [1],
Custom Install (recommended for advanced users) [2, Enter],
Upgrade an existing Confluence installation [3]
1
See where Confluence will be installed and the settings that will be used.
Installation Directory: /opt/atlassian/confluence
Home Directory: /var/atlassian/application-data/confluence
HTTP Port: 8090
RMI Port: 8000
Install as service: Yes
Install [i, Enter], Exit [e]
Extracting files …
Please wait a few moments while we configure Confluence.
Installation of Confluence 7.19.2 is complete
Start Confluence now?
Yes [y, Enter], No [n]
Please wait a few moments while Confluence starts up.
Launching Confluence …
Installation of Confluence 7.19.2 is complete
Your installation of Confluence 7.19.2 is now ready and can be accessed via
your browser.
Confluence 7.19.2 can be accessed at http://localhost:8090
Finishing installation …

Создаем базу и пользователя для Confluence

mysql -u root -p
CREATE DATABASE confluencedb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'confluenceuser'@'localhost' IDENTIFIED BY 'Str0ngDBP@ssw%rd';

В отличие от Jira, для Confluence мы должны предоставить полные права на базу:

GRANT ALL PRIVILEGES on confluencedb.* TO 'confluenceuser'@'localhost';
FLUSH PRIVILEGES;
QUIT;

Настройка MySQL для Confluence

Редактируем файл:

nano /etc/my.cnf.d/mysql-server.cnf

Приводим его к виду:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysql/mysqld.log
pid-file=/run/mysqld/mysqld.pid
default-storage-engine=INNODB
character_set_server=utf8mb4
innodb_default_row_format=DYNAMIC
innodb_log_file_size=2G
collation-server=utf8mb4_bin
max_allowed_packet=256M
transaction-isolation=READ-COMMITTED
binlog_format=row
log_bin_trust_function_creators = 1

Перезапустим MySQL:

systemctl restart mysqld

Установим коннектор MySQL-Java

Для работы с MySQL Jira требует установки коннектора:

cd /tmp
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j-8.0.31.zip
dnf install -y zip
unzip mysql-connector-j-8.0.31.zip
cp mysql-connector-j-8.0.31/mysql-connector-j-8.0.31.jar /opt/atlassian/confluence/lib

Добавляем правила в Firewall

https://www.centlinux.com/2020/04/install-jira-software-server-on-centos-8.html

Добавляем исключения для нужных нам портов в Firewall:

firewall-cmd --permanent --add-port=8090/tcp
firewall-cmd --reload

Чтобы все заработало, перезагрузим сервер

shutdown -r now

Ссылки

https://www.centlinux.com/2020/04/install-jira-software-server-on-centos-8.html

https://www.it-admins.ru/index.php?option=com_content&view=article&id=42&Itemid=165

https://www.programmersought.com/article/83947545189/#%E4%BA%8C%E3%80%81%E4%B8%8B%E8%BD%BD%E5%AE%89%E8%A3%85%E7%A0%B4%E8%A7%A3%E5%8C%85

Оставьте ответ

Ваш адрес email не будет опубликован.

WC Captcha 40 ÷ 10 =