ブログに戻る
2月 2, 2026ガイド

VPSでプライベートGitサーバーを設定する方法

VPSで独自のプライベートGitサーバーを設定する完全ガイド。GitLab、Gitea、またはベアリポジトリを使用して、完全な制御とプライバシーでGitリポジトリをホストする方法を学びます。

VPSでプライベートGitサーバーを設定する方法

独自のGitサーバーをホストすると、コードリポジトリを完全に制御でき、プライバシーを確保し、サードパーティサービスへの依存を避けることができます。シンプルなベアリポジトリまたはフル機能のGitホスティングプラットフォームが必要かどうかにかかわらず、このガイドでは、VPSでプライベートGitサーバーを設定するための複数のオプションについて説明します。

独自のGitサーバーをホストする理由

  • 完全なプライバシー:コードはサーバー上に残ります
  • ベンダーロックインなし:リポジトリの完全な制御
  • カスタマイズ:正確に希望どおりに設定
  • コスト効率:無制限のリポジトリ用に1つのサーバー
  • コンプライアンス:データレジデンシー要件を満たす
  • 学習: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リポジトリ(シンプル)

Webインターフェースなしの基本的な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アクセス設定

安全な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キーを使用
  • 二要素認証を有効化(GitLab/Gitea)
  • リポジトリの定期的なバックアップ
  • Gitサーバーソフトウェアを最新の状態に保つ
  • ファイアウォールを設定してアクセスを制限
  • Webインターフェースに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