1. Требования и подготовка сервера
Перед установкой убедитесь, что сервер соответствует минимальным требованиям. Для Jira Software Data Center рекомендую следующие характеристики:
- CPU: 4 ядра (минимум 2 для тестовой среды)
- RAM: 8 GB (минимум 4 GB)
- Диск: 50 GB SSD (данные Jira растут быстро)
- ОС: Ubuntu 22.04 LTS или CentOS 8+
- Java: OpenJDK 11 или 17 (Jira поставляется с bundled JRE)
Обновляем систему и ставим необходимые пакеты:
apt update && apt upgrade -y
apt install -y wget curl openjdk-11-jdk postgresql postgresql-contrib
Проверяем версию Java:
java -version
# Должно вернуть: openjdk version "11.0.x"
2. Установка и настройка PostgreSQL
Jira официально поддерживает PostgreSQL 13-15. Создаём базу данных и пользователя:
sudo -u postgres psql
CREATE USER jirauser WITH PASSWORD 'StrongPass2026!';
CREATE DATABASE jiradb WITH ENCODING='UNICODE' LC_COLLATE='C' LC_CTYPE='C' TEMPLATE=template0;
GRANT ALL PRIVILEGES ON DATABASE jiradb TO jirauser;
\q
# Добавляем строку в /etc/postgresql/14/main/pg_hba.conf
echo "local jiradb jirauser md5" >> /etc/postgresql/14/main/pg_hba.conf
systemctl restart postgresql
3. Установка Jira Software
Скачиваем актуальный инсталлятор с сайта Atlassian. На момент написания статьи — версия 9.17.x:
cd /opt
wget https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-9.17.3-x64.bin
chmod +x atlassian-jira-software-9.17.3-x64.bin
Запускаем установку в режиме без GUI:
./atlassian-jira-software-9.17.3-x64.bin -q -varfile response.varfile
Создайте файл response.varfile перед запуском:
# response.varfile
app.jiraHome=/var/atlassian/application-data/jira
app.install.service$Boolean=true
portChoice=default
executeLauncherAction$Boolean=false
httpPort=8080
rmiPort=8005
launch.application$Boolean=false
installationDir=/opt/atlassian/jira
После установки настраиваем подключение к PostgreSQL в файле dbconfig.xml:
# /var/atlassian/application-data/jira/dbconfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<jira-database-config>
<name>defaultDS</name>
<delegator-name>default</delegator-name>
<database-type>postgres72</database-type>
<jdbc-datasource>
<url>jdbc:postgresql://localhost:5432/jiradb</url>
<driver-class>org.postgresql.Driver</driver-class>
<username>jirauser</username>
<password>StrongPass2026!</password>
<pool-min-size>20</pool-min-size>
<pool-max-size>20</pool-max-size>
<pool-max-wait>30000</pool-max-wait>
<pool-max-idle>20</pool-max-idle>
</jdbc-datasource>
</jira-database-config>
4. Активация через Atlassian Agent 1.3.1
Atlassian Agent — это Java-агент, который перехватывает лицензионную проверку и позволяет использовать Jira без подключения к серверам активации Atlassian. Подходит для изолированных корпоративных сред без доступа в интернет.
mkdir -p /opt/atlassian/agent
# Скопируйте atlassian-agent.jar в эту директорию
cp atlassian-agent.jar /opt/atlassian/agent/
chmod 644 /opt/atlassian/agent/atlassian-agent.jar
Редактируем файл /opt/atlassian/jira/bin/setenv.sh, добавляем в конец:
export JAVA_OPTS="-javaagent:/opt/atlassian/agent/atlassian-agent.jar ${JAVA_OPTS}"
Сначала запускаем Jira и получаем Server ID из веб-интерфейса (Setup Wizard → шаг с лицензией). Затем генерируем ключ:
java -jar /opt/atlassian/agent/atlassian-agent.jar \
-p jira \
-m admin@company.local \
-n "My Company" \
-o http://jira.company.local \
-s YOUR-SERVER-ID-HERE
Скопируйте полученный ключ и вставьте в поле лицензии в веб-интерфейсе Jira. Нажмите Next — лицензия должна приняться.
5. Первый запуск и начальная настройка
Запускаем Jira:
/opt/atlassian/jira/bin/start-jira.sh
# Следим за логом запуска
tail -f /opt/atlassian/jira/logs/catalina.out
Дожидаемся строки:
Server startup in XXXXX ms
Открываем браузер: http://your-server-ip:8080
Мастер установки проведёт через следующие шаги:
- Выбор типа установки (Set it up for me / I'll set it up myself)
- Подключение базы данных (выбираем My Own Database → PostgreSQL)
- Ввод лицензии (вводим ключ из Atlassian Agent)
- Создание администратора
- Настройка почты (можно пропустить)
6. Настройка автозапуска через systemd
# /etc/systemd/system/jira.service
[Unit]
Description=Atlassian Jira Software
After=network.target postgresql.service
[Service]
Type=forking
User=jira
Group=jira
Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
ExecStart=/opt/atlassian/jira/bin/start-jira.sh
ExecStop=/opt/atlassian/jira/bin/stop-jira.sh
PIDFile=/opt/atlassian/jira/work/catalina.pid
SuccessExitStatus=143
TimeoutStopSec=60
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable jira
systemctl start jira
systemctl status jira
7. Частые проблемы и их решение
Jira не принимает лицензию
Убедитесь что JAVA_OPTS с агентом прописан в setenv.sh и Jira была перезапущена после этого. Проверьте логи:
grep -i "agent" /opt/atlassian/jira/logs/catalina.out | head -20
В логе должна быть строка вида: ======= Atlassian Agent =======
Ошибка подключения к БД
Проверьте что PostgreSQL слушает localhost и пользователь имеет права:
psql -U jirauser -d jiradb -h localhost -W
Jira запускается очень долго
Увеличьте выделяемую heap-память в setenv.sh:
JVM_MINIMUM_MEMORY="512m"
JVM_MAXIMUM_MEMORY="2048m"