Bumalik sa blog
Pebrero 2, 2026Mga Gabay

Paano Mag-setup ng Private Git Server sa VPS

Kumpletong gabay sa pag-setup ng iyong sariling private Git server sa VPS. Matuto kung paano mag-host ng Git repositories na may buong kontrol at privacy gamit ang GitLab, Gitea, o bare repositories.

Paano Mag-setup ng Private Git Server sa VPS

Ang pag-host ng iyong sariling Git server ay nagbibigay sa iyo ng kumpletong kontrol sa iyong code repositories, tinitiyak ang privacy at iniiwasan ang pag-asa sa third-party services. Maging kailangan mo ng simpleng bare repository o full-featured Git hosting platform, ang gabay na ito ay sumasaklaw sa maraming opsyon para sa pag-setup ng private Git server sa iyong VPS.

Bakit Mag-host ng Sariling Git Server?

  • Kumpletong privacy: Ang iyong code ay nananatili sa iyong server
  • Walang vendor lock-in: Buong kontrol sa iyong repositories
  • Customization: I-configure nang eksakto kung paano mo gusto
  • Cost-effective: Isang server para sa walang limitasyong repositories
  • Compliance: Matugunan ang data residency requirements
  • Pag-aaral: Maunawaan ang Git server internals

Opsyon 1: GitLab (Full-Featured)

Ang GitLab ay nagbibigay ng kumpletong DevOps platform:

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

gitlab-ctl reconfigure
# Ma-access ang GitLab sa http://your-server-ip
# Default username: root
# I-set ang password sa unang login

Opsyon 2: Gitea (Lightweight)

Ang Gitea ay isang lightweight, self-hosted Git service:

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/

# Gumawa ng systemd service
nano /etc/systemd/system/gitea.service
# I-configure at i-start ang Gitea
systemctl enable gitea
systemctl start gitea

Opsyon 3: Bare Git Repository (Simple)

Para sa basic Git hosting nang walang web interface:

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

# I-set ang tamang permissions
chown -R git:git /srv/git
chmod -R 755 /srv/git

# Clone mula sa client:
git clone git@your-server:/srv/git/myproject.git

SSH Access Configuration

Mag-setup ng SSH para sa secure Git access:

bash
adduser git
su - git
mkdir .ssh
chmod 700 .ssh
nano .ssh/authorized_keys
# Magdagdag ng public keys ng mga developer
chmod 600 .ssh/authorized_keys

# I-test ang connection:
ssh git@your-server

Pinakamahusay na Security Practices

  • Gumamit ng SSH keys sa halip na passwords
  • I-enable ang two-factor authentication (GitLab/Gitea)
  • Regular backups ng repositories
  • Panatilihing updated ang Git server software
  • I-configure ang firewall para limitahan ang access
  • Gumamit ng SSL/TLS para sa web interfaces
  • I-implement ang access controls at permissions
  • I-monitor ang logs para sa suspicious activity

Backup Strategy

Ang regular backups ay mahalaga:

bash
#!/bin/bash
# Git repository backup script
BACKUP_DIR="/backup/git"
REPO_DIR="/srv/git"
DATE=$(date +%Y%m%d)

tar -czf $BACKUP_DIR/git-backup-$DATE.tar.gz $REPO_DIR
# Panatilihin ang huling 30 araw
find $BACKUP_DIR -name "*.tar.gz" -mtime +30 -delete