Cài đặt GitLab CE trên Ubuntu 26.04 LTS: Hướng dẫn chi tiết từ A-Z cho doanh nghiệp

Cài đặt GitLab CE trên Ubuntu 26.04 LTS: Hướng dẫn chi tiết từ A-Z cho doanh nghiệp

Cài đặt GitLab CE trên Ubuntu 26.04 LTS: Hướng dẫn chi tiết từ A-Z cho doanh nghiệp

GitLab CE hay GitLab Community Edition là nền tảng quản lý mã nguồn mở mạnh mẽ, phù hợp cho doanh nghiệp, đội phát triển phần mềm, trường học, trung tâm đào tạo lập trình và các tổ chức muốn tự xây dựng hệ thống Git riêng.

Với GitLab CE, bạn có thể quản lý repository, phân quyền thành viên, review code, tạo issue, merge request, wiki, CI/CD pipeline và triển khai quy trình DevOps nội bộ ngay trên máy chủ riêng.

Trong bài viết này, CloudX sẽ hướng dẫn bạn cài đặt GitLab CE trên Ubuntu 26.04 LTS bằng GitLab Linux Package, cấu hình domain, SSL, firewall, backup và một số lưu ý tối ưu khi chạy trên Cloud VPS NVMe.

1. GitLab CE là gì?

GitLab CE là bản Community Edition miễn phí của GitLab, cho phép bạn tự triển khai hệ thống quản lý mã nguồn Git trên máy chủ riêng. Đây là lựa chọn phù hợp nếu doanh nghiệp muốn chủ động kiểm soát mã nguồn, dữ liệu dự án và quy trình phát triển phần mềm.

GitLab CE thường được dùng cho:

  • Lưu trữ mã nguồn nội bộ.
  • Quản lý dự án phần mềm.
  • Review code qua Merge Request.
  • Quản lý issue, milestone, wiki.
  • Tích hợp CI/CD để build, test, deploy tự động.
  • Xây dựng môi trường DevOps riêng cho doanh nghiệp.
Note: GitLab CE phù hợp cho doanh nghiệp muốn dùng GitLab self-hosted nhưng chưa cần các tính năng thương mại nâng cao của GitLab Enterprise Edition.

2. Yêu cầu CPU/RAM/NVMe khi cài đặt GitLab CE

GitLab là hệ thống tương đối nặng vì bao gồm nhiều thành phần như Nginx, PostgreSQL, Redis, Gitaly, Sidekiq, Puma, GitLab Shell và nhiều service phụ trợ khác. Vì vậy, bạn nên chuẩn bị máy chủ đủ tài nguyên ngay từ đầu.

Quy mô sử dụng CPU khuyến nghị RAM khuyến nghị Ổ cứng NVMe khuyến nghị Ghi chú
Lab/Test cá nhân 2 vCPU 4 GB RAM 40 GB NVMe Chỉ phù hợp test, ít project, ít user
Team nhỏ 4 vCPU 8 GB RAM 80-120 GB NVMe Phù hợp nhóm dev nhỏ, repository vừa phải
Doanh nghiệp vừa 4-8 vCPU 16 GB RAM 200 GB NVMe trở lên Nên tách backup và giám sát tài nguyên
Nhiều CI/CD, nhiều repository lớn 8 vCPU trở lên 32 GB RAM trở lên 300 GB NVMe trở lên Nên tách GitLab Runner sang máy riêng
Warning: Không nên cài GitLab CE production trên VPS quá yếu. Nếu RAM thấp, GitLab có thể phản hồi chậm, lỗi 502 hoặc service tự restart do thiếu bộ nhớ.

3. Chuẩn bị trước khi cài đặt

Trước khi bắt đầu, bạn cần chuẩn bị:

  • Máy chủ Ubuntu 26.04 LTS mới cài đặt.
  • Quyền root hoặc user có quyền sudo.
  • Domain trỏ về IP máy chủ, ví dụ: gitlab.example.com.
  • Port 22, 80, 443 được mở trên firewall.
  • Ổ cứng NVMe đủ dung lượng cho repository, log và backup.

Kiểm tra hệ điều hành:

lsb_release -a
hostnamectl

Kiểm tra tài nguyên máy chủ:

free -h
df -h
nproc

4. Cập nhật Ubuntu 26.04 LTS

Đầu tiên, cập nhật toàn bộ hệ thống:

sudo apt update
sudo apt upgrade -y

Cài một số công cụ cần thiết:

sudo apt install -y curl wget ca-certificates tzdata perl openssh-server apt-transport-https gnupg lsb-release nano ufw

Thiết lập múi giờ Việt Nam:

sudo timedatectl set-timezone Asia/Ho_Chi_Minh
timedatectl

5. Cài đặt gói phụ thuộc

GitLab cần OpenSSH để người dùng có thể push/pull code qua SSH. Kiểm tra và bật SSH:

sudo systemctl enable ssh
sudo systemctl start ssh
sudo systemctl status ssh

Nếu máy chủ chưa có Postfix và bạn muốn GitLab gửi email thông báo trực tiếp, có thể cài Postfix:

sudo apt install -y postfix
Note: Với môi trường doanh nghiệp, CloudX khuyến nghị cấu hình SMTP riêng như Xmail, Google Workspace, Microsoft 365 hoặc SMTP doanh nghiệp thay vì gửi mail trực tiếp từ server.

6. Cài đặt GitLab CE trên Ubuntu 26.04 LTS

Thêm repository GitLab chính thức:

curl -fsSL https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

Cài GitLab CE với domain của bạn. Thay https://gitlab.example.com bằng domain thật:

sudo EXTERNAL_URL="https://gitlab.example.com" apt install -y gitlab-ce

Sau khi cài đặt xong, chạy lệnh cấu hình lại GitLab:

sudo gitlab-ctl reconfigure

Kiểm tra trạng thái các service GitLab:

sudo gitlab-ctl status

Xem log tổng quan nếu cần kiểm tra lỗi:

sudo gitlab-ctl tail
Warning: Lần chạy gitlab-ctl reconfigure đầu tiên có thể mất vài phút. Không nên tắt terminal hoặc reboot máy chủ giữa quá trình cấu hình.

7. Cấu hình domain GitLab

File cấu hình chính của GitLab nằm tại:

/etc/gitlab/gitlab.rb

Mở file cấu hình:

sudo nano /etc/gitlab/gitlab.rb

Tìm dòng external_url và đảm bảo domain đúng:

external_url 'https://gitlab.example.com'

Sau khi chỉnh sửa, áp dụng lại cấu hình:

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

8. Bật SSL Let’s Encrypt cho GitLab CE

Nếu bạn dùng domain public hợp lệ và port 80/443 mở ra internet, GitLab Omnibus có thể tự xin SSL Let’s Encrypt.

Mở file cấu hình:

sudo nano /etc/gitlab/gitlab.rb

Kiểm tra hoặc thêm các dòng sau:

external_url 'https://gitlab.example.com'

letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['[email protected]']
letsencrypt['auto_renew'] = true

Áp dụng lại cấu hình:

sudo gitlab-ctl reconfigure

Kiểm tra chứng chỉ SSL bằng trình duyệt:

https://gitlab.example.com
Note: Nếu GitLab nằm sau Cloudflare, Firewall hoặc Load Balancer, cần đảm bảo luồng xác thực Let’s Encrypt hoạt động đúng qua port 80/443.

9. Đăng nhập GitLab lần đầu

Sau khi cài đặt xong, mở trình duyệt và truy cập:

https://gitlab.example.com

Tài khoản quản trị mặc định là:

Username: root

Lấy mật khẩu root ban đầu:

sudo cat /etc/gitlab/initial_root_password
Warning: File initial_root_password chỉ tồn tại trong thời gian ngắn sau khi cài đặt. Sau khi đăng nhập, bạn nên đổi ngay mật khẩu root và lưu vào nơi an toàn.

Đổi mật khẩu root trong giao diện GitLab:

  • Đăng nhập bằng user root.
  • Vào Preferences hoặc Admin Area.
  • Đổi mật khẩu mạnh.
  • Bật xác thực 2 lớp nếu cần.

10. Cấu hình Firewall cho GitLab CE

Mở các port cơ bản:

sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status

Nếu bạn muốn dùng SSH riêng cho GitLab, ví dụ port 2222, có thể cấu hình thêm sau. Tuy nhiên, với đa số hệ thống, port 22 mặc định là đủ.

Warning: Không nên mở quá nhiều port không cần thiết ra internet. Với GitLab public, tối thiểu thường chỉ cần 22, 80 và 443.

11. Backup, Restore và cập nhật GitLab CE

11.1. Tạo backup GitLab

GitLab có công cụ backup tích hợp sẵn:

sudo gitlab-backup create

File backup thường nằm tại:

/var/opt/gitlab/backups/

Backup thêm file cấu hình quan trọng:

sudo mkdir -p /root/gitlab-config-backup
sudo cp /etc/gitlab/gitlab.rb /root/gitlab-config-backup/gitlab.rb.$(date +%F)
sudo cp /etc/gitlab/gitlab-secrets.json /root/gitlab-config-backup/gitlab-secrets.json.$(date +%F)
Warning: File gitlab-secrets.json rất quan trọng. Nếu mất file này, quá trình restore có thể gặp lỗi liên quan đến token, CI/CD secret hoặc dữ liệu mã hóa.

11.2. Cập nhật GitLab CE

Cập nhật danh sách package:

sudo apt update

Cập nhật GitLab CE:

sudo apt install -y gitlab-ce

Sau khi cập nhật, kiểm tra trạng thái:

sudo gitlab-ctl status
sudo gitlab-rake gitlab:check
Note: Trước khi nâng cấp GitLab production, bạn nên đọc release note, kiểm tra upgrade path và tạo backup đầy đủ.

12. Một số khuyến nghị tối ưu GitLab CE trên Cloud VPS NVMe

  • Sử dụng ổ NVMe để tăng tốc truy xuất repository, database và log.
  • Không chạy GitLab Runner nặng cùng máy chủ GitLab chính nếu tài nguyên hạn chế.
  • Thiết lập backup tự động ra máy chủ khác hoặc storage từ xa.
  • Bật giám sát CPU, RAM, Disk I/O, dung lượng ổ cứng.
  • Giới hạn quyền tạo project public nếu GitLab chỉ dùng nội bộ.
  • Bật 2FA cho tài khoản quản trị.
  • Không dùng mật khẩu yếu cho user root và tài khoản admin.
  • Định kỳ kiểm tra log và dung lượng thư mục repository.

Kiểm tra dung lượng GitLab:

sudo du -sh /var/opt/gitlab
sudo du -sh /var/log/gitlab
df -h

Dọn log journal nếu quá lớn:

sudo journalctl --vacuum-time=7d

13. CloudX hỗ trợ cài đặt GitLab CE trên Cloud VPS NVMe

Triển khai GitLab CE ổn định, bảo mật cùng CloudX

Nếu doanh nghiệp của bạn cần một hệ thống quản lý mã nguồn riêng, CloudX có thể hỗ trợ triển khai GitLab CE trên Cloud VPS NVMe tốc độ cao, cấu hình domain, SSL, backup, firewall, giám sát và tối ưu vận hành.

CloudX phù hợp cho:

  • Doanh nghiệp phần mềm cần hệ thống Git riêng.
  • Đội DevOps cần quản lý source code, CI/CD, issue và merge request.
  • Trường học, trung tâm đào tạo lập trình cần GitLab nội bộ cho sinh viên.
  • Doanh nghiệp muốn bảo mật mã nguồn trên hạ tầng riêng.
  • Đơn vị cần backup, monitor và quản trị máy chủ GitLab lâu dài.

Hotline/Zalo CloudX: 0983.357.585

14. Kết luận

Cài đặt GitLab CE trên Ubuntu 26.04 LTS là giải pháp phù hợp cho doanh nghiệp muốn tự chủ mã nguồn, quản lý dự án phần mềm nội bộ và xây dựng quy trình DevOps chuyên nghiệp. Khi triển khai trên Cloud VPS NVMe, GitLab có thể hoạt động ổn định hơn, truy xuất repository nhanh hơn và dễ dàng mở rộng theo nhu cầu sử dụng.

Trong quá trình thực hiện, nếu gặp bất kỳ khó khăn nào, bạn vui lòng liên hệ các kỹ thuật viên của CloudX để được nhanh chóng hỗ trợ.! Nếu thấy bài viết này hữu ích hãy subscribe để theo dõi những thông tin mới nhất từ CloudX nhé. Chúc các bạn thành công!

Hệ sinh thái của CloudX

  • Tư vấn miễn phí hệ thống CNTT cho doanh nghiệp
  • Miễn phí đăng ký dùng thử Cloud Server, Cloud VPS, Hosting (lưu trữ website, phần mềm, xử lý dữ liệu)
  • Xmail - Email tên miền doanh nghiệp
  • Server vật lý, cho thuê chỗ đặt Server tại các Datacenter hàng đầu Việt Nam
  • Dịch vụ quản trị máy chủ, Outsource CNTT, quản trị hệ thống mạng doanh nghiệp, IT Support
  • Miễn phí cài đặt, vận hành quản trị Website trường học ảo E-Learning Canvas LMS (được đánh giá LMS E-Learning tốt nhất thế giới)
  • Triển khai, quản trị Firewall cho doanh nghiệp
  • Các giải pháp về Monitor, Alert Cảnh báo, Sao lưu - Backup dữ liệu từ xa cho máy chủ, Cloud, VPS.
  • Thiết kế website chuyên nghiệp

Xin vui lòng liên hệ Hotline/Zalo: 0983.357.585 để được tư vấn tận tình

BÀI VIẾT CÙNG CHUYÊN MỤC

Không copy được giữa máy Windows và máy ảo qua mRemoteNG/RDP: Nguyên nhân và cách sửa
Không copy được giữa máy Windows và máy ảo qua ...

mRemoteNG Remote Desktop RDP Clipboard Redirection rdpclip.exe VPS Windows ...

Hướng dẫn bật Nested Virtualization trên ESXi để chạy Android Studio Emulator trong máy ảo Windows
Hướng dẫn bật Nested Virtualization trên ESXi để chạy ...

Nested Virtualization ESXi VMware Android Studio Android Emulator WHPX Hyper-V ...

PITR (Point In Time Recovery) là gì? Khôi phục Database về đúng thời điểm cần thiết
PITR (Point In Time Recovery) là gì? Khôi phục ...

PITR, Point In Time Recovery, PITR là gì, Database Recovery, PostgreSQL PITR, ...

Backup Database Full, Incremental, Differential khác nhau thế nào?
Backup Database Full, Incremental, Differential khác ...

Backup Database, Full Backup, Incremental Backup, Differential Backup, Backup ...

Database Cluster là gì? High Availability, Failover và Cluster Database hoạt động như thế nào?
Database Cluster là gì? High Availability, Failover và ...

Database Cluster, Database Cluster là gì, High Availability Database, Database ...