Оглавление
Ставим 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 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
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
Приводим его к виду (https://confluence.atlassian.com/doc/database-setup-for-mysql-128747.html):
[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 требует установки коннектора https://dev.mysql.com/downloads/connector/j/:
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="[]|{}^\`"<>" 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="[]|{}^\`"<>"
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-8.5.3-x64.bin
Делаем скачанный файл исполняемым:
chmod +x atlassian-confluence-8.5.3-x64.bin
И запускаем установку:
./atlassian-confluence-8.5.3-x64.bin
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.
Start Confluence now?
Yes [y, Enter], No [n]
Please wait a few moments while Confluence starts up.
Launching Confluence …
Your installation of Confluence 8.5.3 is now ready and can be accessed via
your browser.
Confluence 8.5.3 can be accessed at http://localhost:8090
Создаем базу и пользователя для 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
Добавляем Jira в автозагрузку
Создадим отдельного пользователя:
useradd --create-home -c "JIRA role account" jira
Изменим владельца директории с бинарными файлами и домашним каталогом JIRA:
chown -R jira: /opt/atlassian/jira/
Создадим unit файлы для сервиса:
touch /lib/systemd/system/jira.service
chmod 664 /lib/systemd/system/jira.service
Откроем на редактирование созданный для сервиса файл:
nano /lib/systemd/system/jira.service
Структура нашего файла будет следующая:
[Unit]
Description=Atlassian Jira
After=network.target
[Service]
Type=forking
User=jira
LimitNOFILE=20000
PIDFile=/opt/atlassian/jira/work/catalina.pid
ExecStart=/opt/atlassian/jira/bin/start-jira.sh
ExecStop=/opt/atlassian/jira/bin/stop-jira.sh
[Install]
WantedBy=multi-user.target
Включаем и запускаем службу:
systemctl daemon-reload
systemctl enable jira.service
systemctl start jira.service
systemctl status jira.service
systemctl enable jira.service
Synchronizing state of jira.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable jira
update-rc.d: error: jira Default-Start contains no runlevels, aborting.
Это может происходить, если служба Жира уже создана в системе. Надо удалить и заново поставить службу:
cp /etc/init.d/jira /opt/atlassian/jira-init.d.bak && rm /etc/init.d/jira
sudo systemctl enable jira.service
Created symlink /etc/systemd/system/multi-user.target.wants/jira.service → /lib/systemd/system/jira.service.
Ссылки
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://confluence.atlassian.com/jirakb/run-jira-as-a-systemd-service-on-linux-979411854.html