Обратно към блога
Февруари 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 сървъра актуален
  • Конфигурирайте firewall за ограничаване на достъпа
  • Използвайте 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