2월 2, 2026가이드
VPS에서 프라이빗 Git 서버 설정하기
VPS에서 자체 프라이빗 Git 서버를 설정하는 완전한 가이드. GitLab, Gitea 또는 베어 리포지토리를 사용하여 완전한 제어와 프라이버시로 Git 리포지토리를 호스팅하는 방법을 배우세요.

자체 Git 서버를 호스팅하면 코드 리포지토리에 대한 완전한 제어권을 갖게 되어 프라이버시를 보장하고 타사 서비스에 대한 의존을 피할 수 있습니다. 간단한 베어 리포지토리 또는 기능이 완전한 Git 호스팅 플랫폼이 필요한지 여부에 관계없이 이 가이드는 VPS에서 프라이빗 Git 서버를 설정하는 여러 옵션을 다룹니다.
자체 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
# http://your-server-ip에서 GitLab 액세스
# 기본 사용자 이름: 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: 베어 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.gitSSH 액세스 구성
안전한 Git 액세스를 위해 SSH 설정:
bash
adduser git
su - git
mkdir .ssh
chmod 700 .ssh
nano .ssh/authorized_keys
# 개발자의 공개 키 추가
chmod 600 .ssh/authorized_keys
# 연결 테스트:
ssh git@your-server보안 모범 사례
- 비밀번호 대신 SSH 키 사용
- 2단계 인증 활성화 (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