Представь, что тебе нужно развернуть профессиональную систему управления проектами для команды разработчиков. Jira от Atlassian — отличный выбор, но установка на Ubuntu требует понимания системного администрирования. Давай разберем весь процесс от подготовки сервера до финальной настройки.
Подготовка системы Ubuntu
Перед установкой Jira нужно подготовить окружение. Начнем с обновления системы и установки необходимых зависимостей.
# Обновление пакетов
sudo apt update && sudo apt upgrade -y
# Установка Java (Jira требует Java 11 или 17)
sudo apt install openjdk-17-jdk -y
# Проверка версии Java
java --version
# Создание пользователя для Jira
sudo useradd --create-home --comment "Jira Service Account" --shell /bin/bash jira
Настройка базы данных PostgreSQL
Jira поддерживает несколько СУБД. Я рекомендую PostgreSQL как наиболее стабильный вариант для продакшена.
# Установка PostgreSQL
sudo apt install postgresql postgresql-contrib -y
# Переход в консоль PostgreSQL
sudo -u postgres psql
# В консоли PostgreSQL создаем базу и пользователя:
CREATE USER jiradbuser WITH PASSWORD 'StrongPassword123!';
CREATE DATABASE jiradb WITH ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' TEMPLATE=template0;
GRANT ALL PRIVILEGES ON DATABASE jiradb TO jiradbuser;
ALTER DATABASE jiradb OWNER TO jiradbuser;
\q
Установка Jira на Ubuntu Server
Теперь перейдем к основной части — установке самого Jira. Я покажу два способа: через официальный установщик и вручную.
Способ 1: Установка через официальный установщик
# Скачивание установщика
wget https://product-downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-9.x.x-x64.bin
# Делаем файл исполняемым
chmod +x atlassian-jira-software-9.x.x-x64.bin
# Запуск установщика
sudo ./atlassian-jira-software-9.x.x-x64.bin
Установщик предложит выбрать несколько опций:
- Каталог установки (по умолчанию /opt/atlassian/jira)
- Каталог данных (по умолчанию /var/atlassian/application-data/jira)
- Порт HTTP (по умолчанию 8080)
- Запуск Jira как службы
Способ 2: Ручная установка (рекомендуется для контроля)
# Создание директорий
sudo mkdir -p /opt/atlassian/jira
sudo mkdir -p /var/atlassian/application-data/jira
# Скачивание архива Jira
wget https://product-downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-9.x.x.tar.gz
# Распаковка
sudo tar -xzf atlassian-jira-software-9.x.x.tar.gz -C /opt/atlassian/jira --strip-components=1
# Настройка прав
sudo chown -R jira:jira /opt/atlassian/jira
sudo chown -R jira:jira /var/atlassian/application-data/jira
Конфигурация Jira
После установки нужно настроить Jira для работы с нашей базой данных и оптимизировать параметры.
Настройка dbconfig.xml
defaultDS
default
postgres72
jdbc:postgresql://localhost:5432/jiradb
org.postgresql.Driver
jiradbuser
StrongPassword123!
20
100
30000
select 1
60000
300000
20
true
300
false
true
Настройка JVM
Оптимизация памяти критически важна для производительности Jira. Редактируем setenv.sh:
# Файл: /opt/atlassian/jira/bin/setenv.sh
# Минимальная и максимальная память JVM
JVM_MINIMUM_MEMORY="2048m"
JVM_MAXIMUM_MEMORY="4096m"
# Параметры сборщика мусора (для Java 11+)
JVM_GC_ARGS="-XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent"
# Дополнительные параметры
JVM_ADDITIONAL_ARGS="-Datlassian.plugins.enable.wait=300 -Dsynchrony.enable.xhr.fallback=true"
Настройка server.xml
Создание systemd службы
Для управления Jira как службой создадим systemd unit файл:
# Создание файла службы
sudo nano /etc/systemd/system/jira.service
[Unit]
Description=Atlassian Jira
After=network.target postgresql.service
[Service]
Type=forking
User=jira
Group=jira
Environment=JIRA_HOME=/var/atlassian/application-data/jira
PIDFile=/opt/atlassian/jira/work/catalina.pid
ExecStart=/opt/atlassian/jira/bin/start-jira.sh
ExecStop=/opt/atlassian/jira/bin/stop-jira.sh
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
# Активация и запуск службы
sudo systemctl daemon-reload
sudo systemctl enable jira.service
sudo systemctl start jira.service
# Проверка статуса
sudo systemctl status jira.service
# Просмотр логов
sudo journalctl -u jira.service -f
Настройка обратного прокси и SSL
Для продакшена обязательно нужен SSL и обратный прокси. Используем Nginx:
# Установка Nginx
sudo apt install nginx -y
# Установка Certbot для Let's Encrypt
sudo apt install certbot python3-certbot-nginx -y
# Файл: /etc/nginx/sites-available/jira
server {
listen 80;
server_name jira.yourdomain.com;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:8080;
proxy_redirect off;
client_max_body_size 100M;
}
}
# Активация конфига
sudo ln -s /etc/nginx/sites-available/jira /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
# Получение SSL сертификата
sudo certbot --nginx -d jira.yourdomain.com
# Настройка Jira для работы за прокси
# В файле /opt/atlassian/jira/conf/server.xml измени Connector:
# Добавь: proxyName="jira.yourdomain.com" proxyPort="443" scheme="https" secure="true"
Начальная настройка через веб-интерфейс
После запуска открой https://jira.yourdomain.com и выполни:
- Выбери "Set it up for me" для автоматической настройки базы
- Введи лицензионный ключ (можно начать с 30-дневного триала)
- Настрой административную учетную запись
- Выбери настройки уведомлений на email
- Создай первый проект
Оптимизация производительности
| Параметр | Рекомендация | Файл настройки |
|---|---|---|
| JVM Heap Size | 4-8 ГБ для средних инсталляций | setenv.sh |
| Кэш аватаров | Включить disk cache | jira-config.properties |
| Индексация | Настроить по расписанию на ночь | Админка → Система |
| Attachment Storage | Использовать файловую систему | Админка → Вложения |
Резервное копирование
Настрой автоматические бэкапы:
#!/bin/bash
# Файл: /usr/local/bin/jira-backup.sh
BACKUP_DIR="/backup/jira"
DATE=$(date +%Y%m%d_%H%M%S)
JIRA_HOME="/var/atlassian/application-data/jira"
# Бэкап базы данных
pg_dump -U jiradbuser jiradb > "${BACKUP_DIR}/jiradb_${DATE}.sql"
# Бэкап данных Jira
tar -czf "${BACKUP_DIR}/jira-home_${DATE}.tar.gz" "$JIRA_HOME"
# Удаление старых бэкапов (храним 30 дней)
find "$BACKUP_DIR" -type f -mtime +30 -delete
# Добавь в crontab: 0 2 * * * /usr/local/bin/jira-backup.sh
Частые проблемы и решения
Jira не запускается
Проверь логи: sudo journalctl -u jira.service -n 50
Частые причины:
- Недостаточно памяти — увеличь JVM_MAXIMUM_MEMORY
- Проблемы с базой данных — проверь подключение к PostgreSQL
- Неправильные права доступа — chown на директориях
Медленная работа
Диагностика:
# Мониторинг ресурсов
top
htop
# Проверка диска
df -h
# Проверка памяти
free -h
Решение: увеличь RAM, настрой SWAP, оптимизируй PostgreSQL.
FAQ: Ответы на частые вопросы
Можно ли установить Jira на Ubuntu Desktop?
Да, процесс установки идентичен. Но для продакшена всегда используй Ubuntu Server — он оптимизирован для серверных нагрузок и имеет меньше ненужных пакетов.
Как обновить Jira на Ubuntu?
1. Сделай полный бэкап. 2. Останови службу. 3. Скачай новую версию. 4. Распакуй поверх старой (кроме каталога data). 5. Запусти и выполни миграцию через веб-интерфейс.
Какие порты нужно открыть в firewall?
Минимум: 80/443 для Nginx, 5432 для PostgreSQL (только localhost). Jira на 8080 должен быть доступен только с localhost.
Как мигрировать Jira с другого сервера?
Экспортируй бэкап через админку (Backup Service), перенеси файлы, восстанови базу данных, обнови настройки подключений.
Заключение
Установка Jira на Ubuntu — многоэтапный процесс, но следуя этому руководству, ты получишь стабильную, оптимизированную систему. Помни:
- Всегда настраивай бэкапы с первого дня
- Мониторь использование ресурсов
- Держи систему в актуальном состоянии (безопасность!)
- Документируй все изменения конфигурации
Теперь у тебя есть полностью функционирующая Jira на Ubuntu, готовая к использованию командой разработки. Удачи в управлении проектами!