はじめに
Gitバージョン管理システムを使用する場合、Github、Bitbucket、Gitlabなどの多くの選択肢があります。サードパーティのプロバイダーに依存することを避けたい場合は、独自のGitサーバーを実行できます。
自分でGitサーバーを設定すると、最大リポジトリサイズ、無制限のプライベートリポジトリの作成など、パブリックプロバイダーの無料プランによる制限を受けることがなくなります。
このチュートリアルでは、Ubuntu20.04マシンにGitサーバーをセットアップする方法を説明します。
Gitサーバーのインストール
まず、次のコマンドを実行してパッケージリストを更新します:
$ sudo apt update
Gitをインストールするには、次のコマンドを実行します:
$ sudo apt install git
Gitがシステムに正常にインストールされたことを確認します:
$ git version
出力:
Gitリポジトリを管理するための新しいLinuxユーザーを作成し、次のコマンドを実行することを強くお勧めします。
$ sudo useradd -m -r -U -d /home/git-repos git
gitユーザーのホームディレクトリは/home/git-reposにあります。セキュリティを強化するために、gitユーザーにログインするためのsshキーを作成します。
次のコマンドを実行して、gitユーザーのログインセッションに切り替えます。
$ sudo su - git
gitユーザーの許可されたsshキーを保持するためのSSHディレクトリとファイルを作成するには、次のコマンドを実行します。
$ mkdir -p ~/.ssh
$ chmod 700 ~/.ssh
$ touch ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
サーバーが正常にセットアップされたら、新しいgitリポジトリを作成します。
$ git init --bare ~/linuxways.git
出力:
Gitリポジトリの構成
ここで、ローカルユーザーの公開SSHキーをgitユーザーのauthorized_keysファイルに追加する必要があります。
ローカルユーザーのSSHキーを既に生成している場合は、次の手順をスキップできます。
$ ssh-keygen -t rsa
出力:
これで、次のコマンドを実行して公開SSHキーを取得できます。
$ cat .ssh/id_rsa.pub
出力:
上記の公開SSHキーをコピーして、gitユーザーのauthorized_keysファイルに貼り付けます。
ローカルのUbuntu20.04マシンで、バージョン管理されていないディレクトリ(たとえば、〜/ go)がすでにあると仮定します。現在のディレクトリをそれに変更します:
$ cd ~/go
$ git init .
次に、Gitサーバー上のローカルリポジトリを追跡するためにGitリモートを追加する必要があります:
$ git remote add origin [email protected]:linuxways.git
Gitサーバーが正常にインストールおよび構成されていることを確認し、次のコマンドを実行します。
$ cd ~/go
$ touch README
$ git add .
$ git commit -m "Add file Readme"
$ git push origin master
結論
このチュートリアルでは、Gitサーバーをインストールして構成する詳細な手順について説明しました。
問題が発生した場合は、お知らせください。