Продолжим цикл статей по установке программного обеспечения Atlassian.

В данной статье опишем установку JIRA Sowtware на CentOS 9. Работа описанного проверялась на JIRA Software 9.4.3, CentOS 9 Stream, PostgreSQL 15.

Ошибки, которые могут возникнуть приведены в конце статьи.

Предварительные шаги

В статье по установке Confluence есть разделы в которых описано:

  • Установка часового пояса сервера.
  • Установка JAVA.
  • Установка PostgreSQL.
  • Настройка Firewall.

В данной статье не буду повторяться, поэтому просьба перейти в указанную статью и выполнить описанное в указанных разделах. При настройке Firewall для JIRA указывайте порт 8080, если будете устанавливать JIRA по умолчанию без изменений.

После того как выполнили описанное продолжаем установку и настройку.

Создание баз и ролей

Создадим нового пользователя и базу данных:

su - postgres
psql -c "CREATE ROLE jira_user LOGIN SUPERUSER PASSWORD 'тут-сложный-пароль';"
psql -c "CREATE DATABASE jira_db WITH ENCODING 'UNICODE' LC_COLLATE 'C' LC_CTYPE 'C' TEMPLATE template0;"

Выйдем из учётной записи postgres (вернёмся в учётную запись, под которой изначально работали):

exit

Установка JIRA

Скачаем дистрибутив с официального сайта:

https://product-downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-9.4.3-x64.bin

Или выберите любой другой по ссылке:

https://www.atlassian.com/ru/software/jira/download-archives

Поместить atlassian-jira-software-9.4.3-x64.bin в каталог /tmp

Сделать файл исполняемым:

sudo chmod a+x /tmp/atlassian-jira-software-9.4.3-x64.bin

Запустить установку:

sudo /tmp/atlassian-jira-software-9.4.3-x64.bin

Ввести «o» — Enter:

Установка JIRA Software

Ввести «1» — Enter:

Установка JIRA Software

Ввести «i» — Enter:

Установка JIRA Software

Ввести «y» — Enter:

Установка JIRA Software
На скриншоте версия 8.20.17, так как проверял в том числе и её.

После установки:

  • каталог приложения: /opt/atlassian/jira
  • каталог с данными: /var/atlassian/application-data/jira

Настройка службы JIRA

Остановить службу:

sudo /opt/atlassian/jira/bin/stop-jira.sh

Проверить наличие и содержимое файла /usr/lib/systemd/system/jira.service

Если файла нет, то создать файл и назначить ему права:

sudo touch /usr/lib/systemd/system/jira.service
sudo chmod 664 /usr/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

Выполнить команды:

sudo systemctl daemon-reload
sudo systemctl enable jira.service

Если вы столкнулись с данной ошибкой (Jira не поддерживает chkconfig «service jira does not support chkconfig») при выполнении команды systemctl enable jira.service, то вам необходимо удалить файл /etc/init.d/jira (предварительно сделав его копию) и повторить выполнение команды.

Настройка JIRA и получение лицензий

Информация относительно получения лицензии только для ознакомления и личного использования! Для коммерческого использования обязательно купите лицензию или используйте демоверсию продукта! Пользователи используют материал данной статьи под свою полную личную ответственность. Автор не несет ответственности за последствия!

Если вы хотите в познавательных целях активировать программу безлимитной лицензией и после этого сразу же её удалить, то могу вам подсказать, что на просторах интернета «ходит» программа активатор Atlassian Agent 1.3.1. К примеру вот в этой статье:

https://downloadly.ir/software/engineering-specialized/atlassian-bamboo-confluence-crucible-fisheye-jira/

Исходники: https://github.com/ipwnosx/Atlassian-Agent

Как активировать программу? Получить в интернете из открытых источников Atlassian Agent (у меня не запрашивать, так как её у меня нет). Создать каталог для генератора лицензий:

sudo mkdir /opt/atlassian/atlassian-agent

Поместить файл atlassian-agent.jar в каталог /opt/atlassian/atlassian-agent

Добавить пользователю jira права на данный каталог и вложения:

sudo chown -R jira:jira /opt/atlassian/atlassian-agent

Добавить в файлы /opt/atlassian/jira/bin/setenv.sh и /opt/atlassian/jira/bin/setenv32.sh в самое начало строку:

export JAVA_OPTS="-javaagent:/opt/atlassian/atlassian-agent/atlassian-agent.jar ${JAVA_OPTS}"

Запустить службу:

sudo systemctl start jira.service

Проверить статус:

sudo systemctl status jira.service

Перейти по адресу вашего сервера http://{IP}:8080

Переключить язык установки на русский и выбрать пункт «Я выполню настройку самостоятельно» и нажать «Далее»:

Настройка JIRA Software

На следующем шаге выбираем «Моя база данных» и вводим данные для подключения к базе данный и нажимаем «Тест подключения»:

Настройка JIRA Software

Если проверка соединения прошла успешно, то нажимаем «Далее». В противном случае устраните ошибки, о которых сообщит JIRA.

На следующем шаге можно оставить всё как есть:

Настройка JIRA Software

Если у вас JIRA привязана к домену, то в поле «Базовый URL» пропишите URL с указанием домена вместо IP, по которому у вас будет открываться в дальнейшем JIRA.

На следующем шаге будет показан ID сервера (вида: XXXX-XXXX-XXXX-XXXX) и поле для ввода лицензии:

Активация JIRA Software

Копируем ID сервера и прописываем его в конце команды:

java -jar /opt/atlassian/atlassian-agent/atlassian-agent.jar -mail 'my@email.com' -n userName -o CompanyName -p jira -s XXXX-XXXX-XXXX-XXXX

Вместо XXXX-XXXX-XXXX-XXXX вы должны будете указать ваш идентификатор сервера. Остальное можно не менять. Это команда для получения лицензии JIRA Software Server. Для активации JIRA Software Data Center требуется в команду добавить -d:

java -jar /opt/atlassian/atlassian-agent/atlassian-agent.jar -d -mail 'my@email.com' -n userName -o CompanyName -p jira -s XXXX-XXXX-XXXX-XXXX

Выполните данную команду. В ответ получите лицензионный ключ:

Ключ JIRA Software

Скопируйте ключ и введите в поле ввода лицензии и нажимаем «Далее»:

Активация JIRA Software

На следующем шаге создаём учётную запись администратора системы и нажимаем «Далее»:

Настройка JIRA Software

Система установлена и готова к настройке и работе.

Всем успехов в изучении программы.

Ниже материалы не связанные с установкой, но помогающие решить ряд вопросов и проблем.


Активация плагинов

Для активации плагинов необходимо вместо jira указывать ключ плагина.

Пример:

java -jar /opt/atlassian/atlassian-agent/atlassian-agent.jar -d -mail 'my@email.com' -n userName -o CompanyName -p com.victorz.plugin.example -s XXXX-XXXX-XXXX-XXXX

Доступ по порту 80

JIRA по умолчанию работает на порту 8080 и при установке не даёт указать порт 80. Если вы хотите, чтобы она открывалась по адресу victorz.ru, а не victorz.ru:8080, то для этого требуется включить перенаправление портов:

# Открываем порт 80
firewall-cmd --zone=public --add-port=80/tcp --permanent

# Делаем переадресацию с порта 80 на порт 8080
firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080

# Перезапускаем firewalld
firewall-cmd --reload

Всё готово.

URL канала гаджетов (не удалось получить доступ к Jira через URL канала гаджетов)

Если вы настроили перенаправление с порта 80 на 8080, то иногда можно получать предупреждение, что не удалось получить доступ к Jira через URL канала гаджетов. Это происходит из-за того, что на сервере локально он не может подключиться к себе.

Для проверки выполните команду на сервере, где развёрнута JIRA:

curl -v http://jira.victorz.ru

В URL укажите адрес вашей JIRA. Если получите следующее, то у вас проблема, которая решается:


* Trying 192.168.1.201:80...
* connect to 192.168.1.201 port 80 failed: В соединении отказано
* Failed to connect to jira.victorz.ru port 80: В соединении отказано
* Closing connection 0
curl: (7) Failed to connect to jira.victorz.ru port 80: В соединении отказано

Для решения проблемы в firewall пропишем ещё одно правило:

firewall-cmd --permanent --direct --add-rule ipv4 nat OUTPUT 0 -p tcp --dport 80 -j REDIRECT --to-ports 8080
firewall-cmd --reload

Отключить сбор и отправку аналитики в JIRA

JIRA собирает и отправляет аналитику о вашем экземпляре разработчикам. Я попытался отключить плагин, отвечающий за сбор аналитики, но после этого система перестала корректно работать.

Изучив вопрос сбора аналитики, удалось понять алгоритм работы этой функции:

  1. Система пишет логи в папку /var/atlassian/application-data/jira/analytics-logs/
  2. С определённой периодичностью эти логи отправляются разработчикам.

Если в папке не будет логов, система не сможет ничего отправить. Чтобы предотвратить запись логов, но сохранить стабильную работу системы, я установил для каталога /var/atlassian/application-data/jira/analytics-logs/ права на чтение 440. В результате JIRA может читать данные из каталога, но не может записывать в него логи, которые отправляются разработчикам.