กลับไปหน้าบล็อก
กุมภาพันธ์ 2, 2026คู่มือ

วิธีตั้งค่าเซิร์ฟเวอร์ Git ส่วนตัวบน VPS

คู่มือฉบับสมบูรณ์สำหรับการตั้งค่าเซิร์ฟเวอร์ Git ส่วนตัวของคุณเองบน VPS เรียนรู้วิธีโฮสต์ Git repositories ด้วยการควบคุมและความเป็นส่วนตัวอย่างสมบูรณ์โดยใช้ GitLab, Gitea หรือ bare repositories

วิธีตั้งค่าเซิร์ฟเวอร์ Git ส่วนตัวบน VPS

การโฮสต์เซิร์ฟเวอร์ Git ของคุณเองให้การควบคุม repositories โค้ดของคุณอย่างสมบูรณ์ เพื่อให้แน่ใจว่ามีความเป็นส่วนตัวและหลีกเลี่ยงการพึ่งพาบริการบุคคลที่สาม ไม่ว่าคุณจะต้องการ bare repository แบบง่ายหรือแพลตฟอร์ม Git hosting แบบเต็มรูปแบบ คู่มือนี้ครอบคลุมตัวเลือกหลายอย่างสำหรับการตั้งค่าเซิร์ฟเวอร์ Git ส่วนตัวบน VPS ของคุณ

ทำไมต้องโฮสต์เซิร์ฟเวอร์ Git ของคุณเอง?

  • ความเป็นส่วนตัวสมบูรณ์: โค้ดของคุณอยู่บนเซิร์ฟเวอร์ของคุณ
  • ไม่มีการล็อกผู้ขาย: การควบคุมเต็มรูปแบบเหนือ repositories ของคุณ
  • การปรับแต่ง: กำหนดค่าตามที่คุณต้องการ
  • คุ้มค่า: เซิร์ฟเวอร์หนึ่งเครื่องสำหรับ repositories ไม่จำกัด
  • การปฏิบัติตามกฎระเบียบ: ตอบสนองข้อกำหนดการพำนักของข้อมูล
  • การเรียนรู้: เข้าใจภายในของเซิร์ฟเวอร์ Git

ตัวเลือก 1: GitLab (เต็มรูปแบบ)

GitLab ให้แพลตฟอร์ม DevOps ที่สมบูรณ์:

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

gitlab-ctl reconfigure
# เข้าถึง GitLab ที่ http://your-server-ip
# ชื่อผู้ใช้เริ่มต้น: root
# ตั้งรหัสผ่านเมื่อเข้าสู่ระบบครั้งแรก

ตัวเลือก 2: Gitea (น้ำหนักเบา)

Gitea เป็นบริการ Git ที่โฮสต์เองแบบน้ำหนักเบา:

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/

# สร้าง systemd service
nano /etc/systemd/system/gitea.service
# กำหนดค่าและเริ่ม Gitea
systemctl enable gitea
systemctl start gitea

ตัวเลือก 3: Bare Git Repository (ง่าย)

สำหรับ Git hosting พื้นฐานโดยไม่มีเว็บอินเทอร์เฟซ:

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

# ตั้งค่าสิทธิ์ที่เหมาะสม
chown -R git:git /srv/git
chmod -R 755 /srv/git

# Clone จากไคลเอนต์:
git clone git@your-server:/srv/git/myproject.git

การกำหนดค่าการเข้าถึง SSH

ตั้งค่า SSH สำหรับการเข้าถึง Git ที่ปลอดภัย:

bash
adduser git
su - git
mkdir .ssh
chmod 700 .ssh
nano .ssh/authorized_keys
# เพิ่มคีย์สาธารณะของนักพัฒนา
chmod 600 .ssh/authorized_keys

# ทดสอบการเชื่อมต่อ:
ssh git@your-server

แนวทางปฏิบัติด้านความปลอดภัยที่ดีที่สุด

  • ใช้คีย์ SSH แทนรหัสผ่าน
  • เปิดใช้งานการยืนยันตัวตนสองปัจจัย (GitLab/Gitea)
  • การสำรองข้อมูล repositories เป็นประจำ
  • เก็บซอฟต์แวร์เซิร์ฟเวอร์ Git ให้อัปเดต
  • กำหนดค่าไฟร์วอลล์เพื่อจำกัดการเข้าถึง
  • ใช้ SSL/TLS สำหรับเว็บอินเทอร์เฟซ
  • ใช้การควบคุมการเข้าถึงและสิทธิ์
  • ตรวจสอบบันทึกสำหรับกิจกรรมที่น่าสงสัย

กลยุทธ์การสำรองข้อมูล

การสำรองข้อมูลเป็นประจำมีความสำคัญ:

bash
#!/bin/bash
# สคริปต์สำรองข้อมูล Git repository
BACKUP_DIR="/backup/git"
REPO_DIR="/srv/git"
DATE=$(date +%Y%m%d)

tar -czf $BACKUP_DIR/git-backup-$DATE.tar.gz $REPO_DIR
# เก็บ 30 วันล่าสุด
find $BACKUP_DIR -name "*.tar.gz" -mtime +30 -delete