Гид по технологиям

Установка JFrog Artifactory на Ubuntu 20.04

• 6 min read • DevOps • Обновлено 24 Nov 2025
Установка JFrog Artifactory на Ubuntu 20.04
Установка JFrog Artifactory на Ubuntu 20.04

В этой пошаговой инструкции показано, как установить JFrog Artifactory OSS на сервер с Ubuntu 20.04, настроить Nginx как обратный прокси и защитить доступ с помощью Let’s Encrypt. Включены команды, проверка состояния сервиса, советы по безопасности и контрольный список для DevOps.

JFrog Artifactory — обзор интерфейса и логотип

Введение

JFrog Artifactory — это менеджер репозиториев артефактов, который интегрируется с CI/CD-инструментами. Он позволяет хранить и управлять пакетами разных форматов, поддерживает высокую доступность и репликацию между сайтами, ускоряя выпуск релизов.

Цель руководства — дать воспроизводимый набор команд и проверок для установки Artifactory OSS на Ubuntu 20.04 и обеспечить доступ по HTTPS через Nginx.

Требования

  • Сервер с Ubuntu 20.04.
  • Доменное имя, указывающее на сервер (например, jfrog.example.com).
  • Доступ root или пользователь с sudo.
  • Открытые порты 80 и 443 в брандмауэре для первой настройки SSL.

Важно: для продакшена рекомендуется подключать внешнюю СУБД (PostgreSQL, MySQL/MariaDB и т. п.) и настраивать резервное копирование.

Быстрая схема действий

  1. Установить зависимости (gnupg2).
  2. Добавить репозиторий JFrog и установить пакет jfrog-artifactory-oss.
  3. Запустить и включить сервис artifactory.
  4. Настроить Nginx как обратный прокси для порта 8082.
  5. Выпустить сертификат Let’s Encrypt через certbot и включить перенаправление HTTP→HTTPS.
  6. Завершить настройку через веб-интерфейс Artifactory.

Установка JFrog Artifactory

По умолчанию пакет Artifactory может отсутствовать в репозитории Ubuntu, поэтому добавим репозиторий JFrog.

Сначала установите gnupg2:

apt-get install gnupg2 -y

Затем загрузите и добавьте GPG-ключ:

wget -qO - https://api.bintray.com/orgs/jfrog/keys/gpg/public.key | apt-key add -

Добавьте репозиторий JFrog:

echo "deb https://jfrog.bintray.com/artifactory-debs bionic main" | tee /etc/apt/sources.list.d/jfrog.list

Обновите кеш пакетов и установите Artifactory:

apt-get update -y
apt-get install jfrog-artifactory-oss -y

Если установка прошла успешно, вы увидите сообщение об успешной установке и инструкции по запуску в выводе. Примерный окончательный фрагмент вывода:

********** SUCCESS **************
The Installation of Artifactory has completed successfully.

Start Artifactory with:
> systemctl start artifactory.service

Check Artifactory status with:
> systemctl status artifactory.service

Installation directory was set to /opt/jfrog/artifactory
You can find more information in the log directory /opt/jfrog/artifactory/var/log

Важно: путь установки — /opt/jfrog/artifactory. Логи и конфигурационные шаблоны находятся в /opt/jfrog/artifactory/var/…

Запуск и проверка сервиса

Запустите сервис и включите автозапуск при загрузке:

systemctl start artifactory
systemctl enable artifactory

Проверьте состояние сервиса:

systemctl status artifactory

Ожидаемый фрагмент статуса (пример):

? artifactory.service - Artifactory service
     Loaded: loaded (/lib/systemd/system/artifactory.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-06-07 12:42:39 UTC; 40s ago
    Process: 15671 ExecStart=/opt/jfrog/artifactory/app/bin/artifactoryManage.sh start (code=exited, status=0/SUCCESS)
   Main PID: 17974 (java)

По умолчанию Artifactory слушает на локальном порту 8082. До настройки обратного прокси доступ по порту 8082 может быть только с сервера.

Настройка Nginx как обратного прокси

Установите Nginx:

apt-get install nginx -y

Создайте конфигурационный файл виртуального хоста:

nano /etc/nginx/sites-available/jfrog.conf

Добавьте содержимое (замените server_name на ваш домен):

upstream jfrog {
  server 127.0.0.1:8082 weight=100 max_fails=5 fail_timeout=5;
}

server {
  listen          80;
  server_name     jfrog.linuxbuz.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://jfrog/;
  }
}

Активируйте виртуальный хост и проверьте конфигурацию:

ln -s /etc/nginx/sites-available/jfrog.conf /etc/nginx/sites-enabled/
nginx -t
systemctl restart nginx

Проверьте, что Nginx корректно проксирует запросы на Artifactory.

Важно: при настройке прокси для Artifactory в продакшне рекомендуются дополнительные заголовки и таймауты, а также корректная обработка больших payload (client_max_body_size).

Защита с помощью Let’s Encrypt (Certbot)

Установите Certbot и плагин для Nginx:

apt-get install software-properties-common -y
add-apt-repository ppa:ahasenack/certbot-tlssni01-1875471
apt-get update -y
apt-get install certbot python3-certbot-nginx -y

Запустите certbot для вашего домена:

certbot --nginx -d jfrog.linuxbuz.com

Во время интерактивного процесса укажите email и согласитесь с условиями. Затем выберите перенаправление HTTP → HTTPS (рекомендуется выбрать Redirect).

Пример вывода certbot (фрагмент):

Congratulations! You have successfully enabled https://jfrog.linuxbuz.com
Your cert will expire on 2020-09-07. To obtain a new ... run "certbot renew"

Важно: certbot должен корректно редактировать конфигурацию Nginx; если вы используете нестандартные location или дополнительные proxy-параметры, проверьте итоговый /etc/nginx/sites-enabled/jfrog.conf.

Автоматическое обновление сертификатов запускается через системный cron/systemd timer, но проверьте работу командой:

certbot renew --dry-run

Доступ к веб-интерфейсу Artifactory

Откройте браузер и перейдите по адресу https://jfrog.linuxbuz.com. В первой установке используются дефолтные учётные данные, после чего система предложит сменить пароль и указать базовый URL.

Страница входа JFrog Artifactory

Далее — приветственный экран и мастер первоначальной настройки.

Начало работы в JFrog — выбор репозиториев

Установка пароля администратора

Указание базового URL

Создание репозиториев

Успешная установка

Панель управления Artifactory

Контрольный список после установки

  • Установить и изменить пароль admin.
  • Настроить базовый URL в настройках Artifactory.
  • Подключить внешнюю СУБД для продакшена.
  • Настроить резервное копирование /opt/jfrog/artifactory/var.
  • Проверить автоматическое обновление Let’s Encrypt (certbot renew –dry-run).
  • Ограничить доступ по IP/VPN к административным URL (если нужно).
  • Настроить мониторинг и алерты (логирование, SLI/SLO).

Безопасность и эксплуатация (рекомендации)

  • Используйте внешнюю базу данных в продакшене — это улучшает масштабируемость и упрощает бэкапы.
  • Не храните приватные ключи и бэкапы без шифрования. Создайте политику хранения и ротации ключей.
  • Включите аудит действий и интеграцию с LDAP/SSO, если нужно централизованное управление пользователями.
  • Отключите прямой доступ к порту 8082 из внешней сети — доступ только через Nginx/прокси.
  • Настройте firewall (ufw/iptables) для ограничения входящих соединений.

Автоматическое обновление сертификата

Certbot обычно создаёт timer для автоматического обновления. Рекомендуется проверить и добавить задачу в cron или systemd timer:

certbot renew --quiet --deploy-hook "systemctl reload nginx"

Проверьте dry-run:

certbot renew --dry-run

Когда этот метод может не подойти

  • Если ваша инфраструктура управляется контейнерами (Docker, Kubernetes), установка на хост-систему может быть неудобной. В таких случаях используйте официальный Docker-образ или Helm-чарт для Kubernetes.
  • Если вам нужна поддержка Enterprise-функций (HA, доступы на уровне предприятия), рассмотрите коммерческие версии JFrog.
  • Если репозиторий jfrog.bintray.com недоступен (Bintray был закрыт в 2021 году), используйте официальную страницу загрузки JFrog или пакетные репозитории, предоставляемые JFrog.

Альтернативные подходы

  • Docker: запустить Artifactory в контейнере с томами для /var/opt/jfrog и внешней СУБД.
  • Kubernetes: использовать Helm-чарт Artifactory для кластерного развёртывания и интеграции с Ingress.
  • Облачные сервисы: JFrog предлагает SaaS-решения, если не хочется управлять инфраструктурой.

Мини-методология развертывания (DevOps-поток)

  1. Подготовьте инвентарь: сервер, домен, бэкапы, мониторинг.
  2. Установите и настройте Artifactory на тестовом окружении.
  3. Настройте Nginx и SSL, проверьте доступность.
  4. Подключите внешнюю БД и мигрируйте данные (при необходимости).
  5. Выполните нагрузочное тестирование и проверьте резервные копии.
  6. Перенесите конфигурацию в продакшен и включите мониторинг/алерты.

Ролевой чек-лист

Администратор/DevOps:

  • Подготовить сервер и домен.
  • Установить пакеты и зависимости.
  • Настроить Nginx и SSL.
  • Настроить бэкапы и мониторинг.

Разработчик/Команда релиза:

  • Проверить доступ к репозиториям (npm, maven, docker)
  • Настроить CI/CD для публикации артефактов в Artifactory.
  • Протестировать получение артефактов из проксированных репозиториев.

Системный архитектор:

  • Принять решение о СУБД и режимах HA.
  • Оценить требования на хранение и репликацию.

Критерии приёмки

  • Artifactory отвечает на запросы по HTTPS и перенаправляет порт 80 → 443.
  • Веб-интерфейс доступен и проходит первоначальную настройку.
  • Сертификат Let’s Encrypt успешно установлен и обновляется.
  • Резервное копирование и логирование настроены.

Отладка и частые проблемы

  • Nginx не перезапускается: проверьте nginx -t и журнал /var/log/nginx/error.log.
  • Certbot не может получить challenge: проверьте DNS и доступность порта 80.
  • Artifactory долго стартует: проверьте логи в /opt/jfrog/artifactory/var/log.

Важно: если вы используете нестандартные proxy_header или дополнительные правила, certbot может не корректно изменить конфигурацию — проверьте итоговый конфиг.

Заключение

В руководстве показана базовая, воспроизводимая последовательность действий для установки JFrog Artifactory OSS на Ubuntu 20.04 с настройкой Nginx и Let’s Encrypt. Для продакшена дополнительно настройте внешнюю СУБД, мониторинг, резервное копирование и политик безопасности.

Если нужна помощь с вариантом установки в Docker или Kubernetes, миграцией на внешнюю БД или подбором схемы бэкапов — задайте конкретный вопрос.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро