Встановлення та налаштування Jira Software + Service Management

Встановлення Jira Software.

Встановлюватимемо на сервер Ubuntu 24.04.4. Я заздалегідь завантажив дистрибутив atlassian-jira-software-11.3.1-x64.bin. Оскільки дистрибутив зараз знаходиться на комп’ютері Windows, його потрібно передати на сервер Ubuntu.
Я використовую утиліту WinSCP. Підключіться до вашого Ubuntu серверу SSH, перейдіть в директорію, куди був завантажений файл, і зробіть його виконуваним:

chmod a+x atlassian-jira-software-11.3.1-x64.bin

Інсталятор необхідно запускати з правами суперкористувача (root), щоб він міг коректно зареєструвати системні служби:

sudo ./atlassian-jira-software-11.3.1-x64.bin

Налаштування параметрів у консолі

Після запуску з’явиться текстове меню інсталятора. Дотримуйтесь його підказок:

  • Тип установки (Install Type): Вибираємо Express Install (зазвичай варіант 1) для установки за замовчуванням або Custom Install (варіант 2), якщо вам потрібно змінити шляхи або порти.
  • Директорії (Directories): За промовчанням програма встановиться в /opt/atlassian/jira, а робочі дані (home directory) будуть лежати в /var/atlassian/application-data/jira.
  • Порти (Ports): Стандартний порт для веб-інтерфейсу Jira – 8080.
  • Служба (Service): На питання про встановлення як системну службу (Install Jira as Service?) обов’язково дайте відповідь y (так), щоб система автоматично запускала Jira при перезавантаженні сервера.

Налаштування MySQL

sudo apt update
sudo apt install mysql-server

Jira відмовиться працювати (або буде працювати з помилками), якщо не встановити правильні параметри в конфігураційному файлі MySQL.

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Додайте або змініть наступні рядки в розділі [mysqld]:

[mysqld]
default-storage-engine=INNODB
character_set_server=utf8mb4
collation_server=utf8mb4_bin
max_allowed_packet=256M
innodb_log_file_size=2G
transaction-isolation=READ-COMMITTED
binlog_format=row

Збережіть файл і перезапустіть службу:

sudo systemctl restart mysql

Створення бази даних та користувача:

sudo mysql -u root -p

Виконайте такі SQL-команди, щоб створити базу jiradb і користувача jirauser (замініть Ваш надійний пароль на реальний пароль):

CREATE DATABASE jiradb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'jirauser'@'localhost' IDENTIFIED BY 'your password';
GRANT ALL PRIVILEGES ON jiradb.* TO 'jirauser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Інсталяція драйвера MySQL (JDBC)
Це критичний крок, без якого Jira просто не побачить вашої бази MySQL при налаштуванні в браузері.

Беремо посилання з https://downloads.mysql.com/archives/c-j/

wget https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-j_9.7.0-1ubuntu24.04_all.deb

Встановіть завантажений пакет за допомогою dpkg:

sudo dpkg -i mysql-connector-j_9.7.0-1ubuntu24.04_all.deb

Копіювання драйвера до директорії Jira
Особливість установки через .deb пакет полягає в тому, що система містить сам файл драйвера (з розширенням .jar) в системну папку для Java-бібліотек, зазвичай це /usr/share/java/. Jira за замовчуванням його не шукає, тому файл потрібно скопіювати в директорію Jira.

Скопіюйте встановлений .jar файл у папку lib вашої Jira:

sudo cp /usr/share/java/mysql-connector-j-9.7.0.jar /opt/atlassian/jira/lib/

Перезапуск служби
Щоб Jira підхопила доданий драйвер, службу необхідно перезапустити:

sudo /etc/init.d/jira stop
sudo /etc/init.d/jira start

Тепер зачекайте хвилину і відкрийте у браузері : http://IP_адресавашогосервера>:8080

Натискаємо “Test connection”, якщо всі ок то натискаємо “Next”

На цьому встановлення Jira Software закінчено.

Встановлення Jira Service Management.

Встановлюватимемо все на той же сервер Ubuntu 24.04.4. Я заздалегідь завантажив дистрибутив atlassian-servicedesk-11.3.1-x64.bin Оскільки дистрибутив зараз знаходиться на комп’ютері Windows, його потрібно передати на сервер Ubuntu.
Я використовую утиліту WinSCP. Підключіться до вашого Ubuntu серверу SSH, перейдіть в директорію, куди був завантажений файл, і зробіть його виконуваним:

chmod a+x atlassian-servicedesk-11.3.1-x64.bin

Підготовка нової бази даних MySQL:

sudo mysql -u root -p

Виконайте такі SQL-команди, щоб створити базу jirasddb:

CREATE DATABASE jirasddb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
GRANT ALL PRIVILEGES ON jirasddb.* TO 'jirauser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Додавання драйвера MySQL
Оскільки ми не запустили систему на попередньому кроці, копіюємо драйвер у нову папку:

sudo cp /usr/share/java/mysql-connector-j-9.7.0.jar /opt/atlassian/jira-servicedesk/lib/

Інсталятор необхідно запускати з правами суперкористувача (root), щоб він міг коректно зареєструвати системні служби:

sudo ./atlassian-servicedesk-11.3.1-x64.bin

Уважне налаштування в консолі (Критично важливо!)

  • Install Type: Обов’язково виберіть 2 (Custom Install).
  • Destination Directory: Вкажіть новий шлях. Рекомендую: /opt/atlassian/jira-servicedesk
  • Home Directory: Вкажіть новий шлях для даних. Рекомендую: /var/atlassian/application-data/jira-servicedesk
  • TCP Ports: Інсталятор запитає, чи використовувати порти за замовчуванням (8080 та 8005). Виберіть 2 (Custom).
  • Вкажіть HTTP-порт: 8081 (за ним ви заходитимете в браузер).
  • Вкажіть Control-порт: 8006 (службовий порт для зупинки сервісу).
  • Install as Service: Дайте відповідь n (Ні). Чи не запускати службу Jira.

Створюємо незалежну службу вручну
Оскільки Ubuntu 24.04 працює на базі systemd, ми можемо за пару хвилин створити для Service Desk власний, правильний юніт, який запускатиме систему при старті сервера.

sudo nano /etc/systemd/system/jira-servicedesk.service

Вставте в нього наступні налаштування (зверніть увагу, тут прописані правильні шляхи до другого інстансу):

[Unit]
Description=Atlassian Jira Service Desk
After=network.target

[Service]
Type=forking
User=jira2
LimitNOFILE=8192
PIDFile=/opt/atlassian/jira-servicedesk/work/catalina.pid
ExecStart=/opt/atlassian/jira-servicedesk/bin/start-jira.sh
ExecStop=/opt/atlassian/jira-servicedesk/bin/stop-jira.sh

[Install]
WantedBy=multi-user.target

Передаємо права користувачеві

sudo chown -R jira2:jira2 /opt/atlassian/jira-servicedesk
sudo chown -R jira2:jira2 /var/atlassian/application-data/jira-servicedesk

Активуємо та запускаємо систему
Тепер залишилося повідомити Ubuntu про нову службу, додати її до автозапуску та включити:

sudo systemctl daemon-reload
sudo systemctl enable jira-servicedesk
sudo systemctl start jira-servicedesk

Тепер зачекайте хвилину і відкрийте у браузері : http://IP_адресавашогосервера>:8081

Натискаємо “Test connection”, якщо всі ок то натискаємо “Next”

Після цього може з’явитися помилка:

Перевіряємо права на драйвер MySQL

sudo chown jira2:jira2 /opt/atlassian/jira-servicedesk/lib/mysql-connector-j-<em>.jar 
sudo chmod 644 /opt/atlassian/jira-servicedesk/lib/mysql-connector-j-</em>.jar

Створюємо файл конфігурації вручну

sudo nano /var/atlassian/application-data/jira-servicedesk/dbconfig.xml

Скопіюйте та вставте туди наступний XML-код. Обов’язково замініть your_pswd у тезі на той пароль, який ви задавали для користувача jirauser у MySQL:

<?xml version="1.0" encoding="UTF-8"?>
<jira-database-config>
  <name>defaultDS</name>
  <delegator-name>default</delegator-name>
  <database-type>mysql8</database-type>
  <jdbc-datasource>
    <url>jdbc:mysql://localhost:3306/jirasddb?useUnicode=true&amp;characterEncoding=UTF8&amp;sessionVariables=default_storage_engine=InnoDB</url>
    <driver-class>com.mysql.cj.jdbc.Driver</driver-class>
    <username>jirauser</username>
    <password>your_pswd</password>
    <pool-min-size>20</pool-min-size>
    <pool-max-size>100</pool-max-size>
    <pool-max-wait>30000</pool-max-wait>
    <validation-query>select 1</validation-query>
    <min-evictable-idle-time-millis>60000</min-evictable-idle-time-millis>
    <time-between-eviction-runs-millis>300000</time-between-eviction-runs-millis>
    <pool-max-idle>20</pool-max-idle>
    <pool-remove-abandoned>true</pool-remove-abandoned>
    <pool-remove-abandoned-timeout>300</pool-remove-abandoned-timeout>
    <pool-test-on-borrow>false</pool-test-on-borrow>
    <pool-test-while-idle>true</pool-test-while-idle>
  </jdbc-datasource>
</jira-database-config>

Задаємо права на файл
Передамо цей файл у володіння правильному користувачеві jira2:

sudo chown jira2:jira2 /var/atlassian/application-data/jira-servicedesk/dbconfig.xml

Перезапуск
Тепер, коли конфігурація лежить на місці, ми жорстко перезапускаємо службу:

sudo systemctl restart jira-servicedesk

Зачекайте 2-3 хвилини. При запуску Jira побачить ваш файл dbconfig.xml, сама підключиться до MySQL та у фоновому режимі створить усі необхідні таблиці. Ви можете проконтролювати це командою:

sudo mysql -u root -e "SHOW TABLES IN jirasddb;"

Коли таблиці (їх має бути більше сотні) з’являться у виведенні консолі – сміливо відкривайте браузер за адресою http://:8081
Та продовжуємо встановлення

Налаштування синхронізації з Microsoft Active Directory (MS AD)

Установки однакові як для Jira Software, так і для Service Management

Налаштування в інтерфейсі Jira

  • Увійдіть у Jira під локальним обліковим записом адміністратора (який ви створили під час встановлення).
  • Натисніть значок шестерні (⚙️) у верхньому правому куті та виберіть User management (Керування користувачами). Система може попросити повторно ввести пароль адміністратора.
  • У лівому меню знайдіть та оберіть User Directories.

Створення нового конектора

  • Натисніть кнопку Add Directory (Додати директорію).
  • У списку виберіть тип: Microsoft Active Directory і натисніть Next.
  • Заповнення параметрів сервера (Server Settings)
  • Name: Введіть будь-яке зрозуміле ім’я (наприклад, Company AD).
  • Directory Type: Microsoft Active Directory (має стояти за замовчуванням).
  • Hostname: IP-адреса або доменне ім’я вашого сервера AD.
  • Port: 389 або 636 (якщо використовуєте SSL).
  • Use SSL: Поставте галочку, якщо ви використовуєте порт 636.
  • Username: Введіть логін облікового запису у форматі user@domain.local або DOMAIN\user.
  • Password: Пароль від цього облікового запису.

Спустіться вниз сторінки і натисніть кнопку Test Settings (Перевірити налаштування).
Jira спробує підключитись до AD. Якщо все правильно введено, ви побачите зелені галочки (підключення успішно, користувач знайдено).
Якщо тест пройдено, натисніть Save and Test (Зберегти та протестувати). Jira запустить першу фонову синхронізацію, завантажуючи користувачів у свою локальну базу.

Далі натискаємо synchronize навпроти щойно створеного конектора. І спостерігаємо як завантажуються користувачі та групи з AD.

P.S.: Якщо вам потрібні користувачі двох конкретних OU, потрібно створити ще один конектор.

Встановлення сертифіката SSL

Розміщення сертифіката на сервері

Я вже купив сертифікат від Sectigo Limited. Беремо файл формату it-homyak.com.ua.pfx і копіюємо на серервер до папки /tmp

Переміщуємо його до загальної надійної директорії та задаємо права:

sudo cp /tmp/it-homyak.com.ua.pfx /var/atlassian/application-data/
sudo chown root:root /var/atlassian/application-data/it-homyak.com.ua.pfx
sudo chmod 644 /var/atlassian/application-data/it-homyak.com.ua.pfx

Налаштування Jira Software (порт 8443)

Відкрийте конфігураційний файл веб-сервера першої Jira:

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

Знайдіть блок, де описаний стандартний конектор port=”8080″. Відразу під ним додайте новий захищений конектор:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxHttpHeaderSize="8192" acceptCount="100" maxThreads="150" minSpareThreads="25"
           enableLookups="false" disableUploadTimeout="true"
           scheme="https" secure="true" SSLEnabled="true">
    <SSLHostConfig>
        <Certificate certificateKeystoreFile="/var/atlassian/application-data/it-homyak.com.ua.pfx"
                     certificateKeystorePassword="12345"
                     certificateKeystoreType="PKCS12" />
    </SSLHostConfig>
</Connector>

Налаштування Service Management (порт 8444)

Відкрийте конфігураційний файл веб-сервера першої Jira:

sudo nano /opt/atlassian/jira-servicedesk/conf/server.xml

Знайдіть блок, де описаний стандартний конектор port=”8081″. Відразу під ним додайте новий захищений конектор:

<Connector port="8444" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxHttpHeaderSize="8192" acceptCount="100" maxThreads="150" minSpareThreads="25"
           enableLookups="false" disableUploadTimeout="true"
           scheme="https" secure="true" SSLEnabled="true">
    <SSLHostConfig>
        <Certificate certificateKeystoreFile="/var/atlassian/application-data/it-homyak.com.ua.pfx"
                     certificateKeystorePassword="12345"
                     certificateKeystoreType="PKCS12" />
    </SSLHostConfig>
</Connector>

Перезапуск та перевірка

sudo systemctl restart jira
sudo systemctl restart jira-servicedesk

Зачекайте 1-2 хвилини, поки Java розгорне програми, і перевірте доступ у браузері за новими захищеними адресами:
Jira Software: https://<IP_сервера>:8443
Service Management: https://<IP_сервера>:8444

P.S.: Іноді старий процес Java зависає і дає запустити новий. Дізнаємося з лога команди sudo journalctl -xeu jira.service який PID і завершуємо старий процес:

sudo kill -9 21121

Видаляємо старий PID-файл (про всяк випадок, щоб скрипт запуску не спіткнувся про нього знову):

sudo rm -f /opt/atlassian/jira/work/catalina.pid

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *