Cách cài đặt JFrog Artifactory trên Ubuntu 20.04 LTS

theanh

Administrator
Nhân viên
JFrog Artifactory là một ứng dụng quản lý kho lưu trữ nguồn mở có thể tích hợp với các công cụ tích hợp và phân phối liên tục. Đây là một công cụ đa nền tảng cho phép DevOps quản lý nhiều kho lưu trữ gói. Công cụ này cung cấp tính khả dụng cao và sao chép đa trang web để tự động hóa đường ống của bạn và cho phép phát hành nhanh hơn.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt JFrog Artifactory trên Ubuntu 20.04.

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

  • Một máy chủ chạy Ubuntu 20.04.
  • Một tên miền hợp lệ được trỏ đến máy chủ của bạn.
  • Một mật khẩu gốc được cấu hình trên máy chủ của bạn.

Cài đặt JFrog Artifactory​

Theo mặc định, JFrog Artifactory không khả dụng trong kho lưu trữ mặc định của Ubuntu 20.04. Vì vậy, bạn sẽ cần thêm kho lưu trữ JFrog Artifactory vào hệ thống của mình.

Đầu tiên, cài đặt gói Gnupg2 bằng lệnh sau:
Mã:
apt-get install gnupg2 -y
Tiếp theo, tải xuống và thêm khóa GPG bằng lệnh sau:
Mã:
wget -qO - https://api.bintray.com/orgs/jfrog/keys/gpg/public.key | apt-key add -
Tiếp theo, thêm kho lưu trữ JFrog Artifactory bằng lệnh sau:
Mã:
echo "deb https://jfrog.bintray.com/artifactory-debs bionic main" | tee /etc/apt/sources.list.d/jfrog.list
Sau khi kho lưu trữ được thêm vào, hãy cập nhật kho lưu trữ và cài đặt JFrog Artifactory bằng lệnh sau:
Mã:
apt-get update -y
apt-get install jfrog-artifactory-oss -y
Sau khi quá trình cài đặt hoàn tất thành công, bạn sẽ nhận được kết quả sau:
Mã:
************ THÀNH CÔNG ****************Quá trình cài đặt Artifactory đã hoàn tất thành công.LƯU Ý: Rất khuyến khích sử dụng Artifactory với cơ sở dữ liệu bên ngoài (MySQL, Oracle, Microsoft SQL Server, PostgreSQL, MariaDB). Để biết chi tiết về cách cấu hình cơ sở dữ liệu, hãy tham khảo https://service.jfrog.org/installer/Configuring+the+DatabaseKhởi động Artifactory bằng:> systemctl start artifactory.serviceKiểm tra trạng thái Artifactory bằng:> systemctl status artifactory.serviceThư mục cài đặt được đặt thành /opt/jfrog/artifactoryBạn có thể tìm thêm thông tin trong thư mục nhật ký /opt/jfrog/artifactory/var/logCác mẫu cấu hình hệ thống có thể được tìm thấy trong /opt/jfrog/artifactory/var/etcSao chép bất kỳ cấu hình nào bạn muốn sửa đổi từ mẫu vào /opt/jfrog/artifactory/var/etc/system.yamlKích hoạt tập lệnh di chuyển, tập lệnh này sẽ di chuyển nếu cần ...Đang xử lý các kích hoạt cho man-db (2.9.1-1) ...Đang xử lý các kích hoạt cho systemd (245.4-4ubuntu3) ...
Tiếp theo, hãy khởi động dịch vụ Artifactory và cho phép dịch vụ này khởi động khi khởi động lại hệ thống bằng lệnh sau:
Mã:
systemctl start artifactory
systemctl enable artifactory
Tiếp theo, hãy xác minh trạng thái của dịch vụ Artifactory bằng lệnh sau:
Mã:
systemctl status artifactory
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
? artifactory.service - Dịch vụ Artifactory Đã tải: đã tải (/lib/systemd/system/artifactory.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ CN 2020-06-07 12:42:39 UTC; 40 giây trước Tiến trình: 15671 ExecStart=/opt/jfrog/artifactory/app/bin/artifactoryManage.sh start (code=exited, status=0/SUCCESS) PID chính: 17974 (java) Nhiệm vụ: 0 (giới hạn: 9522) Bộ nhớ: 2,4M CGroup: /system.slice/artifactory.service ? 17974 /opt/jfrog/artifactory/app/third-party/java/bin/java -Djava.util.logging.config.file=/opt/jfrog/artifactory/app/artifacto>07/06 12:42:38 ubuntu2004 su[18380]: (đến artifactory) root trên none07/06 12:42:38 ubuntu2004 su[18380]: pam_unix(su:session): phiên mở cho người dùng artifactory bởi (uid=0)07/06 12:42:38 ubuntu2004 su[18380]: pam_unix(su:session): phiên đóng cho người dùng artifactory07/06 12:42:38 ubuntu2004 su[18534]: (đến artifactory) root trên none07/06 12:42:38 ubuntu2004 su[18534]: pam_unix(su:session): phiên mở cho người dùng artifactory bởi (uid=0)07/06 12:42:39 ubuntu2004 su[18534]: pam_unix(su:session): phiên đã đóng đối với người dùng artifactory07/06 12:42:39 ubuntu2004 su[18655]: (đến artifactory) không có quyền root07/06 12:42:39 ubuntu2004 su[18655]: pam_unix(su:session): phiên đã mở đối với người dùng artifactory bởi (uid=0)07/06 12:42:39 ubuntu2004 su[18655]: pam_unix(su:session): phiên đã đóng đối với người dùng artifactory07/06 12:42:39 ubuntu2004 systemd[1]: Đã bắt đầu dịch vụ Artifactory.
Lúc này, Artifactory đã được cài đặt và đang lắng nghe trên cổng 8082. Bây giờ bạn có thể tiếp tục đến bước tiếp theo.

Cấu hình Nginx làm Proxy ngược​

Tiếp theo, bạn sẽ cần cấu hình Nginx làm proxy ngược cho JFrog. Trước tiên, hãy cài đặt máy chủ web Nginx bằng lệnh sau:
Mã:
apt-get install nginx -y
Sau khi cài đặt Nginx, hãy tạo tệp cấu hình máy chủ ảo Nginx mới bằng lệnh sau:
Mã:
nano /etc/nginx/sites-available/jfrog.conf
Thêm các dòng sau:
Mã:
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/; }}
Lưu và đóng tệp, sau đó kích hoạt máy chủ ảo Nginx bằng lệnh sau:
Mã:
ln -s /etc/nginx/sites-available/jfrog.conf /etc/nginx/sites-enabled/
Tiếp theo, hãy xác minh Nginx xem có lỗi cú pháp nào không bằng lệnh sau:
Mã:
nginx -t
Bạn sẽ thấy đầu ra sau:
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: kiểm tra tệp cấu hình /etc/nginx/nginx.conf thành công
Cuối cùng, hãy khởi động lại dịch vụ Nginx để triển khai các thay đổi:
Mã:
systemctl restart nginx
Tại thời điểm này, Nginx được cấu hình để phục vụ trang web JFrog. Bây giờ bạn có thể tiến hành bước tiếp theo.

Bảo mật JFrog bằng Let's Encrypt SSL​

Bạn nên bảo mật JFrog bằng Let's Encrypt SSL. Trước tiên, hãy thêm kho lưu trữ Certbot bằng lệnh sau:
Mã:
apt-get install software-properties-common -y
add-apt-repository ppa:ahasenack/certbot-tlssni01-1875471
Tiếp theo, hãy cập nhật kho lưu trữ và cài đặt máy khách Certbot bằng lệnh sau:
Mã:
apt-get update -y
apt-get install certbot python3-certbot-nginx -y
Sau khi máy khách Certbot được cài đặt, hãy chạy lệnh sau để tải xuống và cài đặt Let's Encrypt SSL cho trang web của bạn:
Mã:
certbot --nginx -d jfrog.linuxbuz.com
Bạn sẽ được yêu cầu cung cấp email hợp lệ và chấp nhận điều khoản dịch vụ như hiển thị bên dưới:
Mã:
Lưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.logCác plugin đã chọn: Authenticator nginx, Installer nginxNhập địa chỉ email (dùng để gia hạn khẩn cấp và thông báo bảo mật) (Nhập 'c' đểhủy): [emailprotected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Vui lòng đọc Điều khoản dịch vụ tạihttps://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Bạn phảiđồng ý để đăng ký với máy chủ ACME tạihttps://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel: A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Bạn có sẵn lòng chia sẻ địa chỉ email của mình với Electronic Frontier Foundation, đối tác sáng lập của dự án Let's Encrypt và tổ chức phi lợi nhuận phát triển Certbot không? Chúng tôi muốn gửi cho bạn email về công việc của chúng tôimã hóa web, tin tức EFF, các chiến dịch và các cách hỗ trợ tự do kỹ thuật số.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(C)ó/(K)o: CNhận chứng chỉ mớiThực hiện các thử thách sau:Thử thách http-01 cho jfrog.linuxbuz.comĐang chờ xác minh...Đang dọn dẹp các thử tháchTriển khai chứng chỉ cho VirtualHost /etc/nginx/sites-enabled/jfrog.conf
Tiếp theo, chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không:
Mã:
Vui lòng chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không, xóa quyền truy cập HTTP.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1: Không chuyển hướng - Không thực hiện thêm bất kỳ thay đổi nào đối với cấu hình máy chủ web.2: Chuyển hướng - Chuyển hướng tất cả các yêu cầu đến quyền truy cập HTTPS an toàn. Chọn mục này chocác trang web mới hoặc nếu bạn tin chắc rằng trang web của mình hoạt động trên HTTPS. Bạn có thể hoàn tácthay đổi này bằng cách chỉnh sửa cấu hình máy chủ web của mình.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Chọn số thích hợp [1-2] rồi [enter] (nhấn 'c' để hủy): 2
Nhập 2 và nhấn enter để bắt đầu quy trình. Sau khi chứng chỉ được cài đặt, bạn sẽ thấy kết quả sau:
Mã:
Chuyển hướng tất cả lưu lượng truy cập trên cổng 80 sang ssl trong /etc/nginx/sites-enabled/jfrog.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://jfrog.linuxbuz.comBạn nên kiểm tra cấu hình của mình tại:https://www.ssllabs.com/ssltest/analyze.html?d=jfrog.linuxbuz.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -LƯU Ý QUAN TRỌNG: - Xin chúc mừng! Chứng chỉ và chuỗi của bạn đã được lưu tại: /etc/letsencrypt/live/jfrog.linuxbuz.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/jfrog.linuxbuz.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 07-09-2020. Để có phiên bản mới hoặc đã chỉnh sửa của chứng chỉ này trong tương lai, chỉ cần chạy lại certbot với tùy chọn "certonly". Để gia hạn không tương tác *tất cả* các chứng chỉ của bạn, hãy chạy "certbot renew" - Thông tin đăng nhập tài khoản của bạn đã được lưu trong thư mục cấu hình Certbot của bạn tại /etc/letsencrypt. Bây giờ bạn nên sao lưu an toàn thư mục này. Thư mục cấu hình này cũng sẽ chứa các chứng chỉ và khóa riêng do Certbot thu được, do đó, việc sao lưu thường xuyên thư mục này là lý tưởng. - Nếu bạn thích Certbot, vui lòng cân nhắc hỗ trợ công việc của chúng tôi bằng cách: Quyên góp cho ISRG / Let's Encrypt: https://letsencrypt.org/donate Quyên góp cho EFF: https://eff.org/donate-le - Chúng tôi không thể đăng ký cho bạn danh sách gửi thư EFF vì địa chỉ email của bạn có vẻ không hợp lệ. Bạn có thể thử lại sau bằng cách truy cập https://act.eff.org.

Truy cập Artifactory Web UI​

Bây giờ, hãy mở trình duyệt web của bạn và nhập URL https://jfrog.linuxbuz.com. Bạn sẽ được chuyển hướng đến trang sau:



Cung cấp tên người dùng mặc định là "admin" và mật khẩu là "password", rồi nhấp vào nút Đăng nhập. Bạn sẽ thấy trang sau:



Bây giờ, hãy nhấp vào nút Bắt đầu . Bạn sẽ thấy màn hình đặt lại mật khẩu:



Đặt mật khẩu quản trị viên mới và nhấp vào nút Tiếp theo. Bạn sẽ thấy màn hình sau:



Đặt URL cơ sở của bạn và nhấp vào nút Tiếp theo. Bạn sẽ thấy màn hình sau:



Chọn kho lưu trữ mong muốn và nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:



Bây giờ, hãy nhấp vào nút Hoàn tất. Bạn sẽ thấy bảng điều khiển Artifactory trong màn hình sau:


Kết luận​

Trong hướng dẫn trên, chúng ta đã tìm hiểu cách cài đặt JFrog Artifactory trên Ubuntu 20.04. Chúng ta cũng đã tìm hiểu cách bảo mật JFrog bằng Let's Encrypt SSL. Tôi hy vọng bây giờ bạn có thể dễ dàng cài đặt JFrog trong môi trường sản xuất. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên