Quay lại blog
Tháng Hai 2, 2026Hướng dẫn

Cách Thiết Lập Máy Chủ Git Riêng trên VPS

Hướng dẫn đầy đủ để thiết lập máy chủ Git riêng của riêng bạn trên VPS. Tìm hiểu cách lưu trữ kho lưu trữ Git với quyền kiểm soát và quyền riêng tư hoàn toàn bằng cách sử dụng GitLab, Gitea hoặc kho lưu trữ bare.

Cách Thiết Lập Máy Chủ Git Riêng trên VPS

Lưu trữ máy chủ Git của riêng bạn cung cấp cho bạn quyền kiểm soát hoàn toàn đối với các kho lưu trữ mã của bạn, đảm bảo quyền riêng tư và tránh phụ thuộc vào các dịch vụ bên thứ ba. Cho dù bạn cần một kho lưu trữ bare đơn giản hay một nền tảng lưu trữ Git đầy đủ tính năng, hướng dẫn này bao gồm nhiều tùy chọn để thiết lập máy chủ Git riêng trên VPS của bạn.

Tại Sao Lưu Trữ Máy Chủ Git Của Riêng Bạn?

  • Quyền riêng tư hoàn toàn: Mã của bạn ở trên máy chủ của bạn
  • Không bị khóa nhà cung cấp: Kiểm soát hoàn toàn các kho lưu trữ của bạn
  • Tùy chỉnh: Cấu hình chính xác theo cách bạn muốn
  • Tiết kiệm chi phí: Một máy chủ cho các kho lưu trữ không giới hạn
  • Tuân thủ: Đáp ứng các yêu cầu cư trú dữ liệu
  • Học hỏi: Hiểu các thành phần bên trong máy chủ Git

Tùy Chọn 1: GitLab (Đầy Đủ Tính Năng)

GitLab cung cấp một nền tảng DevOps hoàn chỉnh:

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

gitlab-ctl reconfigure
# Truy cập GitLab tại http://your-server-ip
# Tên người dùng mặc định: root
# Đặt mật khẩu khi đăng nhập lần đầu

Tùy Chọn 2: Gitea (Nhẹ)

Gitea là một dịch vụ Git tự lưu trữ nhẹ:

bash
wget -O gitea https://dl.gitea.io/gitea/1.21.0/gitea-1.21.0-linux-amd64
chmod +x gitea
mv gitea /usr/local/bin/

# Tạo dịch vụ systemd
nano /etc/systemd/system/gitea.service
# Cấu hình và khởi động Gitea
systemctl enable gitea
systemctl start gitea

Tùy Chọn 3: Kho Lưu Trữ Git Bare (Đơn Giản)

Để lưu trữ Git cơ bản mà không có giao diện web:

bash
mkdir -p /srv/git/myproject.git
cd /srv/git/myproject.git
git --bare init

# Đặt quyền phù hợp
chown -R git:git /srv/git
chmod -R 755 /srv/git

# Sao chép từ máy khách:
git clone git@your-server:/srv/git/myproject.git

Cấu Hình Truy Cập SSH

Thiết lập SSH để truy cập Git an toàn:

bash
adduser git
su - git
mkdir .ssh
chmod 700 .ssh
nano .ssh/authorized_keys
# Thêm khóa công khai của các nhà phát triển
chmod 600 .ssh/authorized_keys

# Kiểm tra kết nối:
ssh git@your-server

Thực Hành Bảo Mật Tốt Nhất

  • Sử dụng khóa SSH thay vì mật khẩu
  • Bật xác thực hai yếu tố (GitLab/Gitea)
  • Sao lưu thường xuyên các kho lưu trữ
  • Giữ phần mềm máy chủ Git được cập nhật
  • Cấu hình tường lửa để hạn chế quyền truy cập
  • Sử dụng SSL/TLS cho giao diện web
  • Triển khai kiểm soát truy cập và quyền
  • Giám sát nhật ký để phát hiện hoạt động đáng ngờ

Chiến Lược Sao Lưu

Sao lưu thường xuyên là điều cần thiết:

bash
#!/bin/bash
# Script sao lưu kho lưu trữ Git
BACKUP_DIR="/backup/git"
REPO_DIR="/srv/git"
DATE=$(date +%Y%m%d)

tar -czf $BACKUP_DIR/git-backup-$DATE.tar.gz $REPO_DIR
# Giữ 30 ngày cuối cùng
find $BACKUP_DIR -name "*.tar.gz" -mtime +30 -delete