Назад до блогу
Лютий 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