Kako postaviti privatni Git poslužitelj na VPS-u
Potpuni vodič za postavljanje vlastitog privatnog Git poslužitelja na VPS-u. Saznajte kako hostirati Git repozitorije s potpunom kontrolom i privatnošću pomoću GitLaba, Gitee ili golih repozitorija.

Hostiranje vlastitog Git poslužitelja daje vam potpunu kontrolu nad vašim repozitorijima koda, osiguravajući privatnost i izbjegavajući ovisnost o uslugama trećih strana. Bilo da trebate jednostavan gol repozitorij ili platformu za hostiranje Gita s puno značajki, ovaj vodič pokriva više opcija za postavljanje privatnog Git poslužitelja na vašem VPS-u.
Zašto hostirati vlastiti Git poslužitelj?
- Potpuna privatnost: Vaš kod ostaje na vašem poslužitelju
- Nema vendor lock-ina: Potpuna kontrola nad vašim repozitorijima
- Prilagodba: Konfigurirajte točno kako želite
- Isplativost: Jedan poslužitelj za neograničene repozitorije
- Usklađenost: Ispunite zahtjeve za rezidenciju podataka
- Učenje: Razumijte interne dijelove Git poslužitelja
Opcija 1: GitLab (s puno značajki)
GitLab pruža potpunu DevOps platformu:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bash
apt install gitlab-ce
gitlab-ctl reconfigure
# Pristupite GitLabu na http://your-server-ip
# Zadani korisnički naziv: root
# Postavite lozinku pri prvoj prijaviOpcija 2: Gitea (lagan)
Gitea je lagana, samostalno hostirana Git usluga:
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/
# Stvorite systemd uslugu
nano /etc/systemd/system/gitea.service
# Konfigurirajte i pokrenite Giteu
systemctl enable gitea
systemctl start giteaOpcija 3: Gol Git repozitorij (jednostavan)
Za osnovno Git hostiranje bez web sučelja:
mkdir -p /srv/git/myproject.git
cd /srv/git/myproject.git
git --bare init
# Postavite ispravne dozvole
chown -R git:git /srv/git
chmod -R 755 /srv/git
# Klonirajte s klijenta:
git clone git@your-server:/srv/git/myproject.gitSSH konfiguracija pristupa
Postavite SSH za siguran Git pristup:
adduser git
su - git
mkdir .ssh
chmod 700 .ssh
nano .ssh/authorized_keys
# Dodajte javne ključeve programera
chmod 600 .ssh/authorized_keys
# Testirajte vezu:
ssh git@your-serverNajbolje prakse sigurnosti
- Koristite SSH ključeve umjesto lozinki
- Omogućite dvofaktorsku autentifikaciju (GitLab/Gitea)
- Redovite sigurnosne kopije repozitorija
- Držite Git poslužiteljski softver ažuriranim
- Konfigurirajte vatrozid za ograničavanje pristupa
- Koristite SSL/TLS za web sučelja
- Implementirajte kontrole pristupa i dozvole
- Nadzirate zapise za sumnjive aktivnosti
Strategija sigurnosnih kopija
Redovite sigurnosne kopije su bitne:
#!/bin/bash
# Skripta za sigurnosnu kopiju Git repozitorija
BACKUP_DIR="/backup/git"
REPO_DIR="/srv/git"
DATE=$(date +%Y%m%d)
tar -czf $BACKUP_DIR/git-backup-$DATE.tar.gz $REPO_DIR
# Zadržite zadnjih 30 dana
find $BACKUP_DIR -name "*.tar.gz" -mtime +30 -delete