Назад да блога
Люты 2, 2026Кіраўніцтва

Як наладзіць прыватны Git сервер на VPS

Поўны даведнік па наладзе ўласнага прыватнага Git сервера на VPS. Даведайцеся, як размясціць Git рэпазіторыі з поўным кантролем і прыватнасцю, выкарыстоўваючы GitLab, Gitea або bare рэпазіторыі.

Як наладзіць прыватны Git сервер на VPS

Размяшчэнне ўласнага Git сервера дае вам поўны кантроль над рэпазіторыямі кода, забяспечваючы прыватнасць і пазбягаючы залежнасці ад старонніх сэрвісаў. Незалежна ад таго, патрэбен вам просты bare рэпазіторый або поўнафункцыянальная платформа хостынгу Git, гэты даведнік ахоплівае некалькі варыянтаў налады прыватнага Git сервера на вашым VPS.

Чаму размяшчаць уласны Git сервер?

  • Поўная прыватнасць: ваш код застаецца на вашым серверы
  • Няма прывязкі да пастаўшчыка: поўны кантроль над вашымі рэпазіторыямі
  • Кастэмізацыя: налада менавіта так, як вы хочаце
  • Эканамічнасць: адзін сервер для неабмежаваных рэпазіторыяў
  • Адпаведнасць патрабаванням: адпаведнасць патрабаванням рэзідэнтнасці даных
  • Навучанне: разуменне ўнутраных механізмаў 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 сэрвіс
nano /etc/systemd/system/gitea.service
# Наладзьце і запусціце Gitea
systemctl enable gitea
systemctl start gitea

Варыянт 3: Bare Git рэпазіторый (просты)

Для базавага хостынгу Git без вэб-інтэрфейсу:

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

# Кланіраванне з кліента:
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)
  • Рэгулярныя рэзервовыя копіі рэпазіторыяў
  • Захоўвайце абнаўленне ПА Git сервера
  • Наладзьце файрвол для абмежавання доступу
  • Выкарыстоўвайце SSL/TLS для вэб-інтэрфейсаў
  • Рэалізуйце кантроль доступу і правы
  • Маніторце лагі на падазрольную актыўнасць

Стратэгія рэзервовага капіравання

Рэгулярныя рэзервовыя копіі неабходныя:

bash
#!/bin/bash
# Скрыпт рэзервовага капіравання 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
# Захоўвайце апошнія 30 дзён
find $BACKUP_DIR -name "*.tar.gz" -mtime +30 -delete