Поиск по сайту:

Как установить Nexus Repository Manager на Ubuntu 22.04


Это руководство существует для этих версий ОС

  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 20.04 (Focal Fossa)

На этой странице

  1. Предпосылки
  2. Установка Java OpenJDK 8
  3. Настройка системы
  4. Установка Nexus Repository Manager
  5. Запуск Nexus в качестве службы SystemD
  6. Запуск Nexus с обратным прокси-сервером
  7. Установка Nexus Repository Manager
  8. Заключение

Nexus — один из самых популярных менеджеров репозиториев в мире DevOps. Он позволяет хранить и извлекать артефакты сборки, а также предоставляет функции для передачи и извлечения артефактов с помощью инструментов интеграции CI и IDE, таких как Visual Studio и Jenkins.

Существует две версии менеджера репозитория Nexus: коммерческая версия и версия с открытым исходным кодом. Он поддерживает множество форматов, таких как PyPi, Docker, Yum, APT, Helm, npm, Go, R и многие другие.

Использование Nexus в качестве репозитория позволяет вашим разработчикам получать пакеты и управлять ими в централизованном диспетчере репозиториев, что также дает команде разработчиков единый источник достоверной информации для каждого пакета.

В этом руководстве мы объясним, как установить Nexus Repository Manager на сервер Ubuntu 22.04. Это руководство также включает установку некоторых пакетов, таких как Java OpenJDK и веб-сервер Nginx, которые будут использоваться в качестве обратного прокси-сервера.

Предпосылки

Прежде чем начать, вам потребуются следующие требования:

  • Сервер Ubuntu 22.04.
  • Пользователь без полномочий root с включенным sudo/administrator.
  • Доменное имя указывало на IP-адрес вашего сервера Ubuntu (для производства).

Установка Java OpenJDK 8

Для Nexus Repository Manager требуется Java OpenJDK и JRE v8. Репозиторий Ubuntu по умолчанию предоставляет несколько версий Java, поэтому теперь вы установите Java OpenJDK и JRE v8 из репозитория Ubuntu.

Перед установкой любого пакета запустите приведенную ниже команду apt, чтобы обновить и обновить индекс пакетов репозиториев.

sudo apt update

Теперь установите Java OpenJDK 8 с помощью приведенной ниже команды apt. Введите Y, когда вас попросят подтвердить установку, и нажмите ENTER, чтобы продолжить.

sudo apt install openjdk-8-jdk

После установки Java проверьте версию Java в вашей системе с помощью следующей команды.

java -version

Вы увидите результат на следующем снимке экрана:

Настройка системы

Чтобы установить Nexus, вам нужно будет создать нового выделенного пользователя Linux с действующей оболочкой, а также установить максимальное количество открытых файлов для жестких и мягких ограничений до 65536.

Выполните следующую команду, чтобы создать нового выделенного пользователя для Nexus с именем nexus.

sudo useradd -d /opt/nexus -s /bin/bash nexus
sudo passwd nexus

Затем установите ulimit на 65536, используя приведенную ниже команду. Это повлияет на систему в текущей системе только временно. Чтобы сделать его постоянным, вы можете создать новый файл конфигурации, который вы сделаете на следующем шаге.

ulimit -n 65536

ЧТОБЫ настроить ulimit на постоянной основе, создайте новый файл конфигурации /etc/security/limits.d/nexus.conf с помощью редактора nano.

sudo nano /etc/security/limits.d/nexus.conf

Добавьте следующую конфигурацию в файл. В этом примере вы настраиваете ulimit для определенного пользовательского нексуса со значением 65536.

nexus - nofile 65536

Сохраните файл и выйдите из редактора, когда закончите.

Со всеми основными требованиями и настройками вы готовы установить Nexus Repository Manager в своей системе Ubuntu.

Установка Nexus Repository Manager

Nexus Repository Manager можно установить с помощью дистрибутива, который можно загрузить с официальной страницы загрузки Sonatype. На момент написания этой статьи последней версией Nexus была v3.41.1. Теперь вы загрузите дистрибутив Nexus Repository Manager и настроите установку Nexus.

Загрузите пакет Nexus Repository Manager с помощью команды wget, как показано ниже. Если процесс загрузки завершен, вы увидите файл nexus-3.41.1-01-unix.tar.gz в текущем рабочем каталоге.

wget https://download.sonatype.com/nexus/3/nexus-3.41.1-01-unix.tar.gz

Теперь извлеките файл nexus-3.41.1-01-unix.tar.gz с помощью приведенной ниже команды tar. И вы должны получить два каталога, нексус-3.41.1-01 и сонатайп-работа.

Каталог nexus-3.41.1-01 является основным каталогом пакета Nexus, а каталог sonatype-work — основным рабочим каталогом Nexus.

tar xzf nexus-3.41.1-01-unix.tar.gz

Затем переместите эти извлеченные каталоги в /opt с помощью следующей команды. Каталог пакета Nexus будет /opt/nexus, а рабочий каталог Nexus будет /opt/sonatype-work.

mv nexus-3.41.1-01 /opt/nexus
mv sonatype-work /opt/

Наконец, измените владельца обоих каталогов на пользователя и группу с помощью приведенной ниже команды chown.

chown -R nexus:nexus /opt/nexus /opt/sonatype-work

Далее вы настроите установку Nexus, отредактировав некоторые файлы конфигурации Nexus.

Откройте файл /opt/nexus/bin/nexus.rc с помощью редактора nano.

sudo nano /opt/nexus/bin/nexus.rc

Раскомментируйте параметр run_as_user и измените значение на nexus. В этой конфигурации вы будете запускать приложение Nexus от имени системного пользователя nexus.

run_as_user="nexus"

Сохраните файл и выйдите из редактора, когда закончите.

Затем откройте файл конфигурации /etc/nexus/bin/nexus.vmoptions с помощью редактора nano, чтобы настроить максимальную память кучи для Nexus.

sudo nano /etc/nexus/bin/nexus.vmoptions

Измените максимальную кучу памяти по умолчанию для вашей установки Nexus в следующих параметрах. Вы можете изменить размер на 1024 м в зависимости от памяти, которая есть на вашем сервере.

-Xms1024m
-Xmx1024m
-XX:MaxDirectMemorySize=1024m

Сохраните файл и выйдите из редактора, когда закончите.

Теперь отредактируйте файл конфигурации /opt/sonatype-work/nexus3/etc/nexus.properties с помощью редактора nano.

sudo nano /opt/sonatype-work/nexus3/etc/nexus.properties

Раскомментируйте параметр application-host и измените значение на 127.0.0.1. Это означает, что вы будете использовать Nexus на локальном хосте или IP-адресе 127.0.0.1.

application-host=127.0.0.1

Сохраните файл и выйдите из редактора.

Теперь у вас есть загруженный и настроенный Nexus Repository Manager. Далее вы настроите служебный файл systemd для Nexus.

Запуск Nexus в качестве службы SystemD

При установке по умолчанию Nexus Repository Manager можно запустить вручную с помощью бинарной команды nexus, доступной в каталоге /opt/nexus/bin. Но чтобы упростить управление Nexus, вы настроите служебный файл systemd для Nexus.

Запуск Nexus с служебным файлом systemd позволяет вам управлять процессом nexus с помощью команды systemctl.

Теперь создайте новый файл службы /etc/systemd/system/nexus.service с помощью редактора nano.

sudo /etc/systemd/system/nexus.service

Добавьте следующую конфигурацию в файл.

[Unit]
Description=nexus service
After=network.target

[Service]
Type=forking
LimitNOFILE=65536
ExecStart=/opt/nexus/bin/nexus start
ExecStop=/opt/nexus/bin/nexus stop
User=nexus
Restart=on-abort

[Install]
WantedBy=multi-user.target

Сохраните файл и выйдите из редактора, когда закончите.

Затем выполните следующую команду, чтобы перезагрузить системный менеджер и применить новый служебный файл для Nexus.

sudo systemctl daemon-reload

Запустите и включите nexus.service с помощью приведенной ниже команды systemctl. Nexus Repository Manager теперь будет запускаться с локального IP-адреса 127.0.0.1 с портом по умолчанию 8081. Кроме того, nexus.service будет автоматически запускаться при загрузке системы.

sudo systemctl start nexus.service
sudo systemctl enable nexus.service

Наконец, выполните следующую команду, чтобы проверить nexus.service и убедиться, что служба работает.

sudo systemctl status nexus.service

Теперь, когда Nexus работает как служба systemd, вы можете настроить обратный прокси-сервер для Nexus.

Запуск Nexus с обратным прокси

Nexus Repository Manager теперь работает на локальном IP-адресе 127.0.0.1 с портом по умолчанию 8081. Чтобы сделать его доступным из-за пределов сети, вы будете использовать обратный прокси-сервер Nginx, который будет работать на стандартных портах HTTP/HTTPS.

Запустите следующую команду apt, чтобы установить веб-сервер Nginx в вашу систему Ubuntu. Когда будет предложено подтвердить установку, введите Y и нажмите ENTER, чтобы продолжить.

sudo apt install nginx

После установки Nginx выполните следующую команду systemctl, чтобы проверить службу nginx. Вы должны увидеть, что служба nginx включена и будет запускаться автоматически при загрузке системы. И статус службы nginx работает.

sudo systemctl is-enabled nginx
sudo systemctl status nginx

Затем создайте новую конфигурацию блока сервера /etc/nginx/sites-available/nexus с помощью редактора nano.

sudo nano /etc/nginx/sites-available/nexus

Добавьте в файл следующую конфигурацию Nginx и обязательно измените доменное имя.

upstream nexus3 {
  server 127.0.0.1:8081;
}

server {
    listen 80;
    server_name nexus.hwdomain.io;

    location / {
        proxy_pass http://nexus3/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;

        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forward-Proto http;
        proxy_set_header X-Nginx-Proxy true;

        proxy_redirect off;
    }
}

Сохраните файл и выйдите из редактора.

Затем выполните следующую команду, чтобы активировать конфигурацию блока сервера для Nexus, создав символическую ссылку файла конфигурации на каталог sites-enabled. Затем проверьте конфигурацию Nginx, чтобы убедиться, что Nginx настроен правильно.

sudo ln -s /etc/nginx/sites-available/nexus /etc/nginx/sites-enabled/
sudo nginx -t

Если ваша конфигурация Nginx настроена правильно, вы должны получить выходное сообщение, такое как «тест успешно выполнен».

Наконец, выполните следующую команду, чтобы перезапустить службу Nginx и применить новую конфигурацию блока сервера для Nexus.

sudo systemctl restart nginx

Теперь вы настроили веб-сервер Nginx в качестве обратного прокси-сервера для Nexus Repository Manager на вашем компьютере с Ubuntu. Теперь вы можете получить доступ к своей установке Nexus через свое доменное имя.

Установка Nexus Repository Manager

На данный момент менеджер репозитория Nexus работает под обратным прокси-сервером Nginx. И он доступен через доменное имя вашей установки.

Откройте веб-браузер и перейдите на доменное имя вашей установки Nexus (например, http://nexus.hwdomain.io). И вы должны получить страницу Nexus по умолчанию, как показано ниже.

Нажмите кнопку \Войти\, чтобы войти в панель администратора Nexus.

Пароль администратора по умолчанию для Nexus хранится в файле /opt/sonatype-work/nexus3/admin.properties с именем пользователя по умолчанию admin.

Вернитесь к своему терминалу и выполните следующую команду, чтобы получить пароль по умолчанию для входа в Nexus. Затем скопируйте пароль по умолчанию для Nexus.

cat /opt/sonatype-work/nexus3/admin.properties

Затем введите пользователя admin и вставьте пароль для Nexus. Затем нажмите \Войти\.

Теперь вы получите мастер установки Nexus Repository Manager. Нажмите \Далее\, чтобы продолжить.

Введите новый надежный пароль для установки Nexus и повторите. Затем снова нажмите \Далее\.

Для конфигурации «Анонимный доступ». Выберите опцию \Отключить анонимный доступ\ и нажмите \Далее\.

Теперь нажмите «Готово», чтобы завершить настройку Nexus.

После завершения настройки Nexus вы увидите панель администрирования Nexus. На скриншоте ниже вы можете увидеть Nexus Repository Manager.

Наконец, проверьте установку Nexus с помощью кнопки проверки состояния вверху. Теперь убедитесь, что все состояния системы отмечены зеленым цветом, что означает успешную установку и настройку Nexus.

Заключение

В этом руководстве вы настроили Nexus Repository Manager на сервере Ubuntu 22.04. Вы также настроили веб-сервер Nginx в качестве обратного прокси-сервера для Nexus. Теперь вы можете добавлять репозитории своих проектов в менеджер репозиториев Nexus и централизовать исходный код своих проектов, чтобы вы могли легко создавать и распространять свои приложения среди разработчиков.

Если вы заинтересованы в запуске Nexus в рабочей среде, вы можете настроить безопасность своего Nexus с помощью SSL/TLS через Letsencrypt.