Kaip nustatyti privatų Git serverį VPS serveryje
Pilnas vadovas, kaip nustatyti savo privatų Git serverį VPS serveryje. Sužinokite, kaip talpinti Git saugyklas su visišku kontrole ir privatumu naudojant GitLab, Gitea arba tuščias saugyklas.

Savarankiškai talpinant Git serverį suteikiama visiška kodo saugyklų kontrolė, užtikrinant privatumą ir išvengiant priklausomybės nuo trečiųjų šalių paslaugų. Nesvarbu, ar jums reikia paprastos tuščios saugyklos, ar pilnos funkcijų Git talpinimo platformos, šis vadovas apima kelias galimybes nustatyti privatų Git serverį jūsų VPS serveryje.
Kodėl talpinti savo Git serverį?
- Visiškas privatumas: Jūsų kodas lieka jūsų serveryje
- Nėra tiekėjo įkalimo: Visiška kontrolė jūsų saugykloms
- Tinkinimas: Konfigūruokite tiksliai kaip norite
- Kainos efektyvumas: Vienas serveris neribotoms saugykloms
- Atitikimas: Atitikite duomenų buvimo vietos reikalavimus
- Mokymasis: Supraskite Git serverio vidinę struktūrą
1 variantas: GitLab (pilnas funkcijų)
GitLab suteikia pilną DevOps platformą:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bash
apt install gitlab-ce
gitlab-ctl reconfigure
# Prieiga prie GitLab: http://your-server-ip
# Numatytoji vartotojo vardas: root
# Nustatykite slaptažodį pirmą kartą prisijungiant2 variantas: Gitea (lengvas)
Gitea yra lengvas, savarankiškai talpinamas Git paslaugos:
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/
# Sukurkite systemd paslaugą
nano /etc/systemd/system/gitea.service
# Konfigūruokite ir paleiskite Gitea
systemctl enable gitea
systemctl start gitea3 variantas: Tuščia Git saugykla (paprasta)
Pagrindiniam Git talpinimui be žiniatinklio sąsajos:
mkdir -p /srv/git/myproject.git
cd /srv/git/myproject.git
git --bare init
# Nustatykite tinkamas teises
chown -R git:git /srv/git
chmod -R 755 /srv/git
# Klonuoti iš kliento:
git clone git@your-server:/srv/git/myproject.gitSSH prieigos konfigūracija
Nustatykite SSH saugiam Git prieigai:
adduser git
su - git
mkdir .ssh
chmod 700 .ssh
nano .ssh/authorized_keys
# Pridėkite kūrėjų viešuosius raktus
chmod 600 .ssh/authorized_keys
# Testuokite jungtį:
ssh git@your-serverSaugumo geriausios praktikos
- Naudokite SSH raktus vietoje slaptažodžių
- Įjunkite dvifaktinę autentifikaciją (GitLab/Gitea)
- Reguliarios saugyklų atsarginės kopijos
- Laikykite Git serverio programinę įrangą atnaujintą
- Konfigūruokite ugniasienę prieigos apribojimui
- Naudokite SSL/TLS žiniatinklio sąsajoms
- Įgyvendinkite prieigos kontrolę ir teises
- Stebėkite žurnalus dėl įtartinos veiklos
Atsarginės kopijos strategija
Reguliarios atsarginės kopijos yra būtinos:
#!/bin/bash
# Git saugyklos atsarginės kopijos scenarijus
BACKUP_DIR="/backup/git"
REPO_DIR="/srv/git"
DATE=$(date +%Y%m%d)
tar -czf $BACKUP_DIR/git-backup-$DATE.tar.gz $REPO_DIR
# Laikykite paskutinius 30 dienų
find $BACKUP_DIR -name "*.tar.gz" -mtime +30 -delete