Tutorial

Hướng dẫn cài đặt Nexus Repository Manager trên Ubuntu

nexus repository

Nexus Repository là một trong những trình quản lý kho lưu trữ ( repository ) phổ biến nhất trong giới DevOps. Nó cho phép bạn lưu trữ và truy xuất các build artifacts và cũng cung cấp các tính năng để pull và push artifacts thông qua các công cụ tích hợp CI và IDE như Visual Studio và Jenkins.

Có hai phiên bản của trình quản lý Nexus repository là phiên bản thương mại và phiên bản mã nguồn mở. Nó hỗ trợ rất nhiều định dạng như PyPi, Docker, Yum, APT, Helm, npm, Go, R và nhiều định dạng khác nữa.

Sử dụng Nexus làm kho lưu trữ cho phép các nhà phát triển quản lý các bản build một cách tập trung, đồng thời cung cấp cho nhóm nhà phát triển một nguồn thông tin đáng tin cậy duy nhất cho mọi bản build.

Trong hướng dẫn này, chúng tôi sẽ giải thích cách cài đặt Nexus Repository Manager trên máy chủ Ubuntu 22.04. Hướng dẫn này cũng bao gồm cài đặt một số gói như Java OpenJDK và máy chủ web Nginx sẽ được sử dụng làm proxy ngược.

Điều kiện tiên quyết

Trước khi bắt đầu, bạn cần đáp ứng các yêu cầu sau:

  • Máy chủ Ubuntu 22.04.
  • Người dùng non root có quyền sudo/administrator.
  • Tên miền trỏ tới địa chỉ IP máy chủ Ubuntu của bạn (Dành cho Production).

Cài đặt Java OpenJDK 8

Trình quản lý kho lưu trữ Nexus yêu cầu Java OpenJDK và JRE v8. Kho lưu trữ Ubuntu mặc định cung cấp nhiều phiên bản Java, vì vậy bây giờ bạn sẽ cài đặt Java OpenJDK và JRE v8 từ kho lưu trữ Ubuntu.

Trước khi cài đặt bất kỳ gói nào, hãy chạy lệnh apt bên dưới để cập nhật và làm mới chỉ mục gói kho lưu trữ của bạn.

sudo apt update

Bây giờ, hãy cài đặt Java OpenJDK 8 thông qua lệnh apt bên dưới. Nhập Y khi được yêu cầu để xác nhận cài đặt và nhấn ENTER để tiếp tục.

sudo apt install openjdk-8-jdk

Sau khi Java được cài đặt, hãy xác minh phiên bản Java trên hệ thống của bạn bằng lệnh sau.

java -version

Bạn sẽ thấy kết quả trong ảnh chụp màn hình sau:

Thiết lập hệ thống

Để cài đặt Nexus, bạn sẽ cần tạo một người dùng Linux chuyên dụng mới với shell hợp lệ và cũng cần thiết lập số tệp mở tối đa cho cả hard và soft limits  là ‘ 65536 ‘.

Chạy lệnh sau để tạo người dùng chuyên dụng mới cho Nexus với tên ‘ nexus ‘

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

Tiếp theo, đặt ulimit thành ‘ 65536 ‘ bằng lệnh bên dưới. Điều này chỉ ảnh hưởng tạm thời đến hệ thống trên hệ thống hiện tại. Để làm cho nó vĩnh viễn, bạn có thể tạo một tệp cấu hình mới mà bạn sẽ thực hiện trong bước tiếp theo.

ulimit -n 65536

Để thiết lập ulimit vĩnh viễn, hãy tạo tệp cấu hình mới ‘ /etc/security/limits.d/nexus.con f’ bằng trình soạn thảo nano.

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

Thêm cấu hình sau vào tệp. Trong ví dụ này, bạn đang thiết lập ulimit cho người dùng cụ thể ‘ nexus ‘ với giá trị ‘ 65536 ‘.

nexus - nofile 65536

Lưu tệp và thoát khỏi trình soạn thảo khi bạn hoàn tất.

Khi đã đáp ứng và cấu hình đầy đủ các yêu cầu cơ bản, bạn đã sẵn sàng cài đặt Nexus Repository Manager trên hệ thống Ubuntu của mình.

Cài đặt Nexus Repository Manager

Nexus Repository Manager có thể được cài đặt thông qua gói phân phối mà bạn có thể tải xuống từ trang tải xuống Sonatype chính thức. Tại thời điểm viết bài này, phiên bản mới nhất của Nexus là v3.41.1. Bây giờ, bạn sẽ tải xuống gói phân phối Nexus Repository Manager và cấu hình cài đặt Nexus.

Tải xuống gói Nexus Repository Manager thông qua lệnh wget như bên dưới. Nếu quá trình tải xuống hoàn tất, bạn sẽ thấy tệp ‘nexus-3.41.1-01-unix.tar.gz’ trên thư mục làm việc hiện tại của bạn.

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

Bây giờ hãy giải nén tệp ‘ nexus-3.41.1-01-unix.tar.gz ‘ thông qua lệnh tar bên dưới. Và bạn sẽ nhận được hai thư mục,  ‘nexus-3.41.1-01 ‘ và ‘ sonatype-work ‘.

Thư mục ‘ nexus-3.41.1-01 ‘ là thư mục chính của gói Nexus và thư mục ‘sonatype-work’ là thư mục làm việc chính của Nexus.

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

Tiếp theo, di chuyển các thư mục đã trích xuất đó đến  ‘/opt’  bằng lệnh sau. Thư mục gói Nexus sẽ là  ‘/opt/nexus’  và thư mục làm việc Nexus sẽ là  ‘/opt/sonatype-work ‘.

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

Cuối cùng, thay đổi quyền sở hữu cả hai thư mục cho người dùng và nhóm ‘nexus’ thông qua lệnh chown bên dưới.

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

Tiếp theo, bạn sẽ thiết lập cài đặt Nexus bằng cách chỉnh sửa một số tệp cấu hình Nexus.

Mở tệp  ‘/opt/nexus/bin/nexus.rc’  bằng trình soạn thảo nano.

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

Bỏ ghi chú tùy chọn ‘ run_as_user ‘ và thay đổi giá trị thành ‘nexus’. Với cấu hình này, bạn sẽ chạy ứng dụng Nexus với tư cách là người dùng hệ thống ‘ nexus ‘.

run_as_user="nexus"

Lưu tệp và thoát khỏi trình soạn thảo khi bạn hoàn tất.

Tiếp theo, hãy mở tệp cấu hình  ‘/etc/nexus/bin/nexus.vmoptions’  bằng trình soạn thảo nano để thiết lập bộ nhớ heap tối đa cho Nexus.

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

Thay đổi heap bộ nhớ tối đa mặc định cho cài đặt Nexus của bạn trong các tùy chọn sau. Bạn có thể thay đổi kích thước thành ‘ 1024m ‘ dựa trên bộ nhớ bạn có trên máy chủ của mình.

-Xms1024m
-Xmx1024m
-XX:MaxDirectMemorySize=1024m

Lưu tệp và thoát khỏi trình soạn thảo khi bạn hoàn tất.

Bây giờ, hãy chỉnh sửa tệp cấu hình  ‘/opt/sonatype-work/nexus3/etc/nexus.properties ‘ bằng trình soạn thảo nano.

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

Bỏ ghi chú ở tùy chọn ‘application-host’ và thay đổi giá trị thành ‘ 127.0.0.1 ‘. Điều này có nghĩa là bạn sẽ chạy Nexus trên máy chủ cục bộ hoặc địa chỉ IP ‘ 127.0.0.1 ‘.

application-host=127.0.0.1

Lưu tệp và thoát khỏi trình soạn thảo.

Bây giờ bạn đã tải xuống và cấu hình Nexus Repository Manager. Tiếp theo, bạn sẽ thiết lập tệp dịch vụ systemd cho Nexus.

Chạy Nexus như một dịch vụ SystemD

Trên cài đặt mặc định, Nexus Repository Manager có thể được chạy thủ công thông qua lệnh nhị phân ‘nexus’ có sẵn trong thư mục ‘/opt/nexus/bin’. Tuy nhiên, để quản lý Nexus dễ dàng hơn, bạn sẽ thiết lập tệp dịch vụ systemd cho Nexus.

Chạy Nexus với tệp dịch vụ systemd cho phép bạn quản lý quy trình Nexus thông qua lệnh systemctl.

Bây giờ, hãy tạo một tệp dịch vụ mới ‘ /etc/systemd/system/nexus.service ‘ bằng trình soạn thảo nano.

sudo /etc/systemd/system/nexus.service

Thêm cấu hình sau vào tệp.

[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

Lưu tệp và thoát khỏi trình soạn thảo khi bạn hoàn tất.

Tiếp theo, chạy lệnh sau để tải lại trình quản lý hệ thống và áp dụng tệp dịch vụ mới cho Nexus.

sudo systemctl daemon-reload

Bắt đầu và kích hoạt  ‘nexus.service ‘ thông qua lệnh systemctl bên dưới. Nexus Repository Manager bây giờ sẽ bắt đầu tại địa chỉ IP cục bộ 127.0.0.1 với cổng mặc định ‘8081’. Ngoài ra, ‘ nexus.service ‘ sẽ tự động chạy khi khởi động hệ thống.

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

Cuối cùng, hãy chạy lệnh sau để xác minh ‘nexus.service’ và đảm bảo dịch vụ đang chạy.

sudo systemctl status nexus.service

Khi Nexus chạy như một dịch vụ systemd, giờ đây bạn có thể thiết lập proxy ngược cho Nexus.

Chạy Nexus với Reverse Proxy

Nexus Repository Manager hiện đang chạy trên địa chỉ IP cục bộ ‘127.0.0.1’ với cổng mặc định ‘8081’. Để có thể truy cập từ bên ngoài mạng, bạn sẽ sử dụng proxy ngược Nginx sẽ chạy trên các cổng HTTP/HTTPS chuẩn.

Chạy lệnh apt sau để cài đặt máy chủ web Nginx vào hệ thống Ubuntu của bạn. Khi được nhắc xác nhận cài đặt, hãy nhập Y và nhấn ENTER để tiếp tục.

sudo apt install nginx

Sau khi Nginx được cài đặt, hãy chạy lệnh systemctl sau để kiểm tra và xác minh dịch vụ nginx. Bạn sẽ thấy dịch vụ nginx được bật và sẽ tự động chạy khi khởi động hệ thống. Và trạng thái của dịch vụ nginx đang chạy.

sudo systemctl is-enabled nginx
sudo systemctl status nginx

Tiếp theo, tạo cấu hình khối máy chủ mới ‘ /etc/nginx/sites-available/nexus ‘ bằng trình soạn thảo nano.

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

Thêm cấu hình Nginx sau vào tệp và nhớ thay đổi tên miền.

upstream nexus3 {
  server 127.0.0.1:8081;
}

server {
    listen 80;
    server_name nexus.howtoforge.local;

    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;
    }
}

Lưu tệp và thoát khỏi trình soạn thảo.

Tiếp theo, chạy lệnh sau để kích hoạt cấu hình khối máy chủ cho Nexus bằng cách tạo liên kết tượng trưng của tệp cấu hình đến thư mục ‘ sites-enabled’  . Sau đó, xác minh cấu hình Nginx để đảm bảo Nginx được cấu hình đúng.

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

Nếu cấu hình Nginx của bạn được cấu hình đúng, bạn sẽ nhận được thông báo đầu ra như “kiểm tra thành công”.

Cuối cùng, chạy lệnh sau để khởi động lại dịch vụ Nginx và áp dụng cấu hình khối máy chủ mới cho Nexus.

sudo systemctl restart nginx

Bây giờ bạn đã thiết lập máy chủ web Nginx làm proxy ngược cho Nexus Repository Manager trên máy Ubuntu của bạn. Bây giờ bạn có thể truy cập cài đặt Nexus của mình thông qua tên miền của bạn.

Cài đặt Nexus Repository Manager

Tại thời điểm này, trình quản lý Nexus Repository đang chạy dưới proxy ngược Nginx. Và có thể truy cập thông qua tên miền cài đặt của bạn.

Mở trình duyệt web và truy cập tên miền cài đặt Nexus của bạn (ví dụ: http://nexus.howtoforge.local). Và bạn sẽ nhận được trang Nexus mặc định như bên dưới.

Nhấp vào nút “ Đăng nhập ” để đăng nhập vào bảng điều khiển quản trị Nexus.Ezoic

Mật khẩu quản trị viên mặc định cho Nexus được lưu trữ tại tệp ‘ /opt/sonatype-work/nexus3/admin.properties ‘ với tên người dùng mặc định là admin.

Quay lại terminal và chạy lệnh sau để lấy mật khẩu mặc định để đăng nhập Nexus. Sau đó, sao chép mật khẩu mặc định cho Nexus.

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

Tiếp theo, nhập user admin và dán mật khẩu cho Nexus. Sau đó, nhấp vào “ Đăng nhập ”.

Bây giờ bạn sẽ nhận được trình hướng dẫn thiết lập của Nexus Repository Manager. Nhấp vào “ Next ” để tiếp tục.

Nhập mật khẩu mạnh mới cho cài đặt Nexus của bạn và lặp lại. Sau đó, nhấp vào “ Tiếp theo ” một lần nữa.

Đối với cấu hình “anonymouse access”. Chọn tùy chọn “ Disable anonymouse access ” và nhấp vào “ Next ”.

Bây giờ hãy nhấp vào “ Finish ” để hoàn tất cấu hình Nexus.

Sau khi cấu hình Nexus hoàn tất, bây giờ bạn sẽ thấy bảng điều khiển quản trị Nexus. Trong ảnh chụp màn hình bên dưới, bạn có thể thấy Nexus Repository Manager.

Cuối cùng, hãy xác minh cài đặt Nexus của bạn thông qua nút kiểm tra trạng thái ở trên cùng. Bây giờ hãy đảm bảo rằng tất cả trạng thái hệ thống được kiểm tra là màu xanh lá cây, điều đó có nghĩa là cài đặt và cấu hình Nexus thành công.

Phần kết luận

Trong hướng dẫn này, bạn đã thiết lập Nexus Repository Manager trên máy chủ Ubuntu 22.04. Bạn cũng đã cấu hình máy chủ web Nginx làm proxy ngược cho Nexus. Bây giờ bạn có thể thêm kho lưu trữ của các dự án của mình vào trình quản lý kho lưu trữ Nexus và tập trung nguồn dự án của mình để bạn có thể dễ dàng xây dựng và phân phối ứng dụng của mình cho các nhà phát triển.

Nếu bạn muốn chạy Nexus trên môi trường sản xuất, bạn có thể thiết lập bảo mật cho Nexus của mình bằng SSL/TLS thông qua Letsencrypt.

https://congdonglinux.com/victoriametrics-va-prometheus-cuoc-chien-giua-hai-he-thong-luu-tru-du-lieu-thoi-gian-thuc/

Đọc thêm:

Tags

Add Comment

Click here to post a comment