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

Введение
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 и т. п.) и настраивать резервное копирование.
Быстрая схема действий
- Установить зависимости (gnupg2).
- Добавить репозиторий JFrog и установить пакет jfrog-artifactory-oss.
- Запустить и включить сервис artifactory.
- Настроить Nginx как обратный прокси для порта 8082.
- Выпустить сертификат Let’s Encrypt через certbot и включить перенаправление HTTP→HTTPS.
- Завершить настройку через веб-интерфейс 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.

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






Контрольный список после установки
- Установить и изменить пароль 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-поток)
- Подготовьте инвентарь: сервер, домен, бэкапы, мониторинг.
- Установите и настройте Artifactory на тестовом окружении.
- Настройте Nginx и SSL, проверьте доступность.
- Подключите внешнюю БД и мигрируйте данные (при необходимости).
- Выполните нагрузочное тестирование и проверьте резервные копии.
- Перенесите конфигурацию в продакшен и включите мониторинг/алерты.
Ролевой чек-лист
Администратор/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, миграцией на внешнюю БД или подбором схемы бэкапов — задайте конкретный вопрос.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента