Cách cài GitLab trên VPS để tự quản lý mã nguồn
Hướng dẫn cài GitLab trên VPS từ khâu chuẩn bị máy chủ, trỏ tên miền đến thiết lập bảo mật và sao lưu. Phù hợp với cá nhân, nhóm phát triển muốn tự quản lý kho mã nguồn.
- 9 phút đọc
- 2 lượt xem

Hướng dẫn cài GitLab trên VPS từ khâu chuẩn bị máy chủ, trỏ tên miền đến thiết lập bảo mật và sao lưu. Phù hợp với cá nhân, nhóm phát triển muốn tự quản lý kho mã nguồn.

Hướng dẫn kiểm tra ổ đĩa mới, tạo phân vùng, định dạng, mount vào thư mục mong muốn và cấu hình fstab để tự động gắn lại sau khi VPS khởi động.
Khởi tạo tự động ngay sau khi thanh toán, chuyển khoản bằng mã QR, bật tắt và cài lại máy chủ trong trang quản lý.
GitLab giúp bạn lưu trữ kho mã nguồn, theo dõi thay đổi và phối hợp phát triển dự án trên cùng một nền tảng. Thay vì sử dụng dịch vụ lưu trữ bên ngoài, bạn có thể triển khai GitLab self-hosted trên VPS để chủ động quản lý dữ liệu và cấu hình theo nhu cầu của nhóm.
Bài viết này hướng dẫn quy trình cơ bản với GitLab CE trên VPS Ubuntu. Bạn sẽ chuẩn bị máy chủ, cấu hình tên miền, cài đặt gói GitLab, đăng nhập lần đầu và thực hiện một số bước bảo mật, sao lưu quan trọng. Tên lệnh có thể thay đổi theo phiên bản hệ điều hành, vì vậy hãy kiểm tra tài liệu GitLab nếu môi trường của bạn khác hướng dẫn.

Trước khi cài GitLab trên VPS, hãy xác định quy mô dự án và số người sử dụng. GitLab là một ứng dụng khá đầy đủ, đi kèm nhiều dịch vụ nền như cơ sở dữ liệu, hàng đợi và xử lý công việc. Vì vậy, máy chủ cần có đủ CPU, RAM và dung lượng lưu trữ cho cả ứng dụng lẫn các kho mã nguồn.
Với dự án thử nghiệm hoặc nhóm nhỏ, bạn có thể bắt đầu bằng một VPS có tài nguyên phù hợp, sau đó theo dõi mức sử dụng thực tế để điều chỉnh. Nên tham khảo yêu cầu hệ thống chính thức của GitLab theo phiên bản dự định cài đặt. Đồng thời, hãy dành thêm dung lượng cho bản sao lưu, nhật ký hệ thống và dữ liệu phát sinh; ổ đĩa gần đầy có thể ảnh hưởng đến hoạt động của GitLab.
Các bước chuẩn bị cơ bản:
git.example.com.sudo.Ví dụ, để cập nhật các gói trên Ubuntu:
sudo apt update
sudo apt upgrade -yTên miền cần phân giải đúng về VPS trước khi cấu hình HTTPS. Bạn có thể kiểm tra bằng công cụ dig hoặc nslookup. Nếu DNS chưa cập nhật xong, hãy chờ rồi kiểm tra lại trước khi bật chứng chỉ tự động.
GitLab cần được truy cập qua giao thức web và SSH. Thông thường, các cổng được sử dụng là 80 cho HTTP, 443 cho HTTPS và 22 cho SSH. Nếu VPS có tường lửa ở hệ điều hành và ở bảng điều khiển dịch vụ, hãy kiểm tra cả hai lớp để tránh tình trạng đã mở ở một nơi nhưng vẫn bị chặn ở nơi khác.
Trên Ubuntu có UFW, bạn có thể cho phép các dịch vụ cần thiết như sau:
sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw statusKhông nên mở thêm cổng quản trị hoặc cổng dịch vụ nội bộ ra Internet nếu không có nhu cầu cụ thể. Hãy giữ phiên SSH hiện tại cho đến khi xác nhận quy tắc tường lửa mới không làm mất kết nối.
Tiếp theo, cài một số gói thường dùng để tải và xác minh bộ cài:
sudo apt install -y curl ca-certificates tzdata perl openssh-serverNếu cần gửi email thông báo, GitLab phải được cấu hình một phương thức gửi thư phù hợp. Bạn có thể dùng máy chủ SMTP hiện có hoặc cài dịch vụ thư cục bộ theo nhu cầu. Không nên mặc định rằng cài GitLab xong là email sẽ tự gửi được; hãy kiểm tra cấu hình và thử gửi thư sau khi hoàn tất.

GitLab cung cấp gói cài đặt Omnibus để triển khai các thành phần cần thiết trên một máy chủ. Cách này phù hợp với người mới bắt đầu quản lý mã nguồn trên VPS vì phần lớn cấu hình được tập trung trong một gói.
Trước tiên, thêm kho gói GitLab CE theo hướng dẫn dành cho hệ điều hành Debian/Ubuntu:
curl "https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh" | sudo bashSau đó cài GitLab và khai báo URL sẽ dùng để truy cập. Thay git.example.com bằng tên miền của bạn:
sudo EXTERNAL_URL="https://git.example.com" apt-get install gitlab-ceLệnh cài đặt sẽ khởi chạy quá trình cấu hình ban đầu. Nếu tên miền đã trỏ đúng về VPS và GitLab có thể xác thực tên miền, cấu hình HTTPS có thể được thiết lập trong quá trình cài đặt. Nếu điều kiện chưa đáp ứng, hãy hoàn tất DNS và kiểm tra hướng dẫn cấu hình chứng chỉ trước khi đưa máy chủ vào sử dụng.
Khi cần sửa địa chỉ truy cập hoặc các thiết lập Omnibus, mở tệp cấu hình:
sudo nano /etc/gitlab/gitlab.rbTìm hoặc thêm dòng external_url với địa chỉ chính xác, ví dụ:
external_url 'https://git.example.com'Lưu tệp rồi áp dụng cấu hình:
sudo gitlab-ctl reconfigureQuá trình này có thể mất một lúc. Khi hoàn tất, kiểm tra trạng thái các dịch vụ:
sudo gitlab-ctl statusNếu trang web chưa truy cập được, hãy kiểm tra lại DNS, tường lửa, giá trị external_url và nhật ký dịch vụ. Có thể dùng sudo gitlab-ctl tail để xem nhật ký tổng hợp hoặc kiểm tra nhật ký của thành phần đang gặp lỗi.
Mở trình duyệt và truy cập địa chỉ GitLab đã cấu hình. Với lần cài mới, tài khoản quản trị ban đầu thường có tên đăng nhập root. Mật khẩu khởi tạo có thể được lưu trong tệp:
sudo cat /etc/gitlab/initial_root_passwordHãy đăng nhập và đổi mật khẩu ngay. Tệp mật khẩu ban đầu có thể bị xóa tự động sau một khoảng thời gian, vì vậy không nên trì hoãn bước này. Sau khi đăng nhập, kiểm tra các thiết lập cơ bản như tên hiển thị, ngôn ngữ, múi giờ và phương thức xác thực.
Để tạo kho mã nguồn, chọn tạo dự án mới, nhập tên dự án và chọn chế độ hiển thị phù hợp. Nếu mã nguồn không được phép công khai, hãy đặt dự án ở chế độ riêng tư và cấp quyền thành viên theo vai trò. Không nên chia sẻ tài khoản quản trị cho cả nhóm; mỗi người nên dùng tài khoản riêng để dễ kiểm soát quyền và truy vết hoạt động.
Bạn có thể tải mã nguồn hiện có lên bằng Git. Trên máy phát triển, thêm địa chỉ kho của GitLab làm remote rồi đẩy nhánh lên máy chủ:
git remote add origin [email protected]:nhom/du-an.git
git push -u origin mainĐường dẫn thực tế phụ thuộc vào tên nhóm, dự án và nhánh mặc định. Nếu dùng SSH, người dùng cần thêm khóa công khai của mình vào hồ sơ GitLab. Nếu dùng HTTPS, hãy làm theo phương thức xác thực mà phiên bản GitLab đang cài đặt hỗ trợ; tránh lưu mật khẩu trực tiếp trong mã nguồn hoặc tập lệnh dùng chung.

Một máy chủ quản lý mã nguồn có thể lưu thông tin quan trọng của dự án, vì vậy cần bảo vệ cả tài khoản GitLab lẫn VPS. Hãy thực hiện các bước cơ bản sau trước khi mời nhóm sử dụng thường xuyên:
Trong tệp /etc/gitlab/gitlab.rb, chỉ bật các tùy chọn thực sự cần thiết. Sau khi thay đổi, chạy lại sudo gitlab-ctl reconfigure và kiểm tra ứng dụng. Trước những thay đổi lớn hoặc nâng cấp, nên tạo bản sao lưu và xác nhận VPS còn đủ dung lượng trống.
Tự quản lý GitLab cũng đồng nghĩa với việc bạn chịu trách nhiệm về kế hoạch sao lưu. Gói Omnibus hỗ trợ tạo bản sao lưu dữ liệu GitLab bằng lệnh:
sudo gitlab-backup createBản sao lưu thường được lưu trong thư mục cấu hình backup của GitLab trên máy chủ. Hãy kiểm tra đường dẫn và quyền truy cập thực tế trong cấu hình của bạn. Quan trọng hơn, không nên chỉ giữ bản sao lưu trên cùng VPS: nếu máy chủ hoặc ổ đĩa gặp sự cố, cả dữ liệu chính và bản sao lưu tại chỗ đều có thể bị ảnh hưởng.
Ngoài dữ liệu được tạo bằng lệnh backup, hãy lưu riêng các tệp cấu hình quan trọng như /etc/gitlab/gitlab.rb và /etc/gitlab/gitlab-secrets.json ở nơi an toàn. Bảo vệ các tệp này như thông tin nhạy cảm, không đưa vào kho mã nguồn công khai. Thiết lập lịch sao lưu tự động, quy định thời gian lưu giữ và định kỳ thử khôi phục trên môi trường phù hợp.
Quy trình khôi phục có yêu cầu cụ thể về phiên bản và loại cài đặt. Thông thường, cần cài đúng phiên bản GitLab tương ứng với bản sao lưu trước khi khôi phục. Hãy đọc tài liệu chính thức cho phiên bản đang dùng, thay vì thử lệnh trên máy chủ đang chạy mà chưa có bản dự phòng.
Sau khi triển khai, hãy theo dõi CPU, RAM, dung lượng đĩa và thời gian phản hồi của GitLab. Nếu dự án có thêm thành viên, kho mã nguồn lớn hoặc hoạt động CI/CD nhiều, nhu cầu tài nguyên có thể tăng. Khi đó, hãy dựa trên số liệu sử dụng thực tế để điều chỉnh VPS, thay vì chỉ tăng cấu hình theo cảm tính.
Bạn cũng nên lập lịch kiểm tra cập nhật, xác nhận tác vụ sao lưu hoàn thành và rà soát quyền thành viên. Với GitLab self-hosted, tính chủ động đi cùng trách nhiệm vận hành: bạn kiểm soát dữ liệu và cấu hình, nhưng cũng cần tự theo dõi bảo mật, cập nhật và khả năng khôi phục.
Cài GitLab trên VPS gồm các bước chính: chuẩn bị hệ điều hành và tên miền, mở cổng cần thiết, cài gói Omnibus, cấu hình HTTPS, tạo tài khoản và thiết lập sao lưu. Khi được vận hành đúng cách, GitLab self-hosted giúp nhóm chủ động hơn trong việc quản lý kho mã nguồn của dự án.
Nếu bạn đang tìm máy chủ để triển khai, hãy chọn VPS có tài nguyên phù hợp với quy mô và kế hoạch sử dụng, đồng thời tính đến nhu cầu lưu trữ bản sao lưu. Bạn có thể tham khảo các gói VPS tại VibeVPS và lựa chọn cấu hình phù hợp trước khi bắt đầu.
Tìm hiểu cách đọc quyền Linux và sử dụng chmod, chown để quản lý quyền truy cập file, thư mục trên VPS an toàn, đúng nhu cầu vận hành ứng dụng.
CÔNG TY TNHH CÔNG NGHỆ INUX