ウェブホスティングでプライベート Git サーバーを設定する方法

コードの管理とチーム メンバーとのコラボレーションは、あらゆる開発プロジェクトにとって重要です。GitHub や GitLab などのプラットフォームは人気がありますが、Web ホスティングに独自のプライベート Git サーバーを設定すると、プロジェクトをより細かく制御でき、プライバシーを確​​保し、コストを節約できる可能性があります。このチュートリアルでは、Web ホスティングにプライベート Git サーバーを設定する手順を説明します。

1. プライベート Git サーバーをセットアップする理由

セットアップに進む前に、独自の Git サーバーを持つことの利点を理解することが重要です。

  • プライバシー: あなたのコードは完全に非公開であり、あなたの管理下にあります。
  • カスタマイズ: 特定のニーズとワークフローに合わせてサーバーをカスタマイズします。
  • ユーザー制限なし: プライベート リポジトリまたは共同作業者の数の制限を回避します。
  • コスト効率が高い: 複数のユーザーがいるチームの場合、セルフホスティングは、一般的なプラットフォームの有料プランよりも手頃な価格になる可能性があります。

2. 前提条件

始める前に、次のものがあることを確認してください。

  • VPS または専用サーバー: 共有ホスティングでは通常、Git サーバーをセットアップするために必要なアクセスとリソースが提供されません。
  • SSH アクセス: Git サーバーをインストールして構成するには、サーバーへの SSH アクセスが必要です。
  • 基本的な Linux の知識: コマンドラインと Linux に精通していることが必須です。

3. サーバーにGitをインストールする

まず、サーバーに Git をインストールする必要があります。次の手順に従います。

  1. サーバーを更新します: Run the following command to ensure your server’s package list is up to date:
    sudo apt-getアップデート
  2. Git をインストールします: Install Git by running:
    sudo apt-get gitをインストール
  3. インストールの確認: Check that Git has been installed correctly by typing:
    git --version

4. Git ユーザーの作成

Git リポジトリを管理するために別のユーザーを作成することをお勧めします。

  1. 新しいユーザーを作成します: Run the following command to create a user named ‘git’:
    sudo adduser git
  2. SSH アクセスを設定する: Add your SSH key to the new user’s authorized keys to enable secure access:
    sudo mkdir /home/git/.ssh
    sudo touch /home/git/.ssh/authorized_keys
    sudo nano /home/git/.ssh/authorized_keys

    公開 SSH キーを authorized_keys ファイルに貼り付け、保存して終了します。

  3. 権限の設定: Adjust permissions for the SSH directory:
    sudo chown -R git:git /home/git/.ssh
    sudo chmod 700 /home/git/.ssh
    sudo chmod 600 /home/git/.ssh/authorized_keys

5. リポジトリの作成

これで、最初の Git リポジトリを作成できます。

  1. リポジトリ用のディレクトリを作成します。 Log in as the ‘git’ user and create a directory for your repositories:
    sudo su - git
    mkdir repos
    cd repos
  2. リポジトリを初期化する: Create a new Git repository by running:
    git init --bare プロジェクト.git

    これにより、コードがプッシュおよびプルされるリモート リポジトリに最適なベア リポジトリが作成されます。

6. クローンとリポジトリへのプッシュ

リポジトリを設定したら、それをローカル マシンにクローンしてコードをプッシュできます。

  1. リポジトリをクローンします。 On your local machine, run:
    git clone git@your-server-ip:/home/git/repos/your-project.git
  2. ファイルを追加してコミット: Add your files to the repository, commit them, and push the changes:
    cd your-project
    echo "# Your Project" >> README.md
    git add .
    git commit -m "Initial commit"
    git push origin master

7. 複数のリポジトリの管理

複数のリポジトリをホストする予定の場合は、プロジェクトごとにリポジトリ作成手順を繰り返すだけです。

  • /home/git/repos/ の下に各リポジトリの新しいディレクトリを作成します。
  • 各新しいリポジトリを git init --bare your-new-project.git で初期化します。
  • SSH 経由で各リポジトリに個別にアクセスして管理します。

8. Git サーバーのセキュリティ保護

セキュリティは、プライベート Git サーバーをホストする上で重要な要素です。セキュリティを強化するための手順は次のとおりです。

  • パスワード認証を無効にする: /etc/ssh/sshd_config を編集し、PasswordAuthentication no を設定して、キーベースの認証のみを許可するように SSH を構成します。
  • ファイアウォールの構成: UFW などのツールを使用して、必要なポート (SSH など) のみを許可し、他のポートをブロックします。
  • 定期的なバックアップ: データの損失を防ぐために、リポジトリの定期的なバックアップを実装します。

9. Web インターフェースの設定 (オプション)

リポジトリの管理に Web インターフェースを使用する場合は、GitWeb や Gitea などのソフトウェアをインストールできます。

  • GitWeb: Git リポジトリを表示するためのシンプルな Web インターフェース。
  • Gitea: GitHub に似たユーザーフレンドリーなインターフェースを提供する、自己ホスト型の Git サービス。

どちらのオプションも追加のセットアップと構成が必要ですが、Git サーバーの使いやすさを大幅に向上させることができます。

結論

ウェブ ホスティングにプライベート Git サーバーを設定すると、コードを完全に制御でき、プライバシーが確保され、ワー​​クフローに合わせてカスタマイズできるようになります。このガイドに従うことで、独自の Git リポジトリを作成および管理し、開発プロセスの安全性と効率性を確保できます。