ウェブホスティングでプライベート Git サーバーを設定する方法
コードの管理とチーム メンバーとのコラボレーションは、あらゆる開発プロジェクトにとって重要です。GitHub や GitLab などのプラットフォームは人気がありますが、Web ホスティングに独自のプライベート Git サーバーを設定すると、プロジェクトをより細かく制御でき、プライバシーを確保し、コストを節約できる可能性があります。このチュートリアルでは、Web ホスティングにプライベート Git サーバーを設定する手順を説明します。
1. プライベート Git サーバーをセットアップする理由
セットアップに進む前に、独自の Git サーバーを持つことの利点を理解することが重要です。
- プライバシー: あなたのコードは完全に非公開であり、あなたの管理下にあります。
- カスタマイズ: 特定のニーズとワークフローに合わせてサーバーをカスタマイズします。
- ユーザー制限なし: プライベート リポジトリまたは共同作業者の数の制限を回避します。
- コスト効率が高い: 複数のユーザーがいるチームの場合、セルフホスティングは、一般的なプラットフォームの有料プランよりも手頃な価格になる可能性があります。
2. 前提条件
始める前に、次のものがあることを確認してください。
- VPS または専用サーバー: 共有ホスティングでは通常、Git サーバーをセットアップするために必要なアクセスとリソースが提供されません。
- SSH アクセス: Git サーバーをインストールして構成するには、サーバーへの SSH アクセスが必要です。
- 基本的な Linux の知識: コマンドラインと Linux に精通していることが必須です。
3. サーバーにGitをインストールする
まず、サーバーに Git をインストールする必要があります。次の手順に従います。
- サーバーを更新します: Run the following command to ensure your server’s package list is up to date:
sudo apt-getアップデート
- Git をインストールします: Install Git by running:
sudo apt-get gitをインストール
- インストールの確認: Check that Git has been installed correctly by typing:
git --version
4. Git ユーザーの作成
Git リポジトリを管理するために別のユーザーを作成することをお勧めします。
- 新しいユーザーを作成します: Run the following command to create a user named ‘git’:
sudo adduser git
- 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 ファイルに貼り付け、保存して終了します。
- 権限の設定: 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 リポジトリを作成できます。
- リポジトリ用のディレクトリを作成します。 Log in as the ‘git’ user and create a directory for your repositories:
sudo su - git mkdir repos cd repos
- リポジトリを初期化する: Create a new Git repository by running:
git init --bare プロジェクト.git
これにより、コードがプッシュおよびプルされるリモート リポジトリに最適なベア リポジトリが作成されます。
6. クローンとリポジトリへのプッシュ
リポジトリを設定したら、それをローカル マシンにクローンしてコードをプッシュできます。
- リポジトリをクローンします。 On your local machine, run:
git clone git@your-server-ip:/home/git/repos/your-project.git
- ファイルを追加してコミット: 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 リポジトリを作成および管理し、開発プロセスの安全性と効率性を確保できます。