VPSにgitサーバーをインストールしよう

gitを使ってソースコード管理することは多いですが、その際にプライベートなサーバーが必要になることもあります。そこで、VPSに「GitLab」というgitサーバーをインストールする方法を紹介します。

 

■GitHubとよく似た「GitLab」

■GitLabのインストール

■GitLabの設定

■GitLabの初期化と起動

■GitLabの基本的な利用手順

■インスタンスにgitをインストールする

 

 

■GitHubとよく似た「GitLab」

プログラムのソースコードなど、ファイルの更新履歴を管理したい場面は多々あります。そのような用途のソフトはいくつかありますが、現在では「git」がよく使われています。

また、チームで作業する場合、各メンバーの更新履歴を集約して管理することが必要になります。gitの場合、各メンバーのパソコンなどにgitをインストールし、さらに別にgitサーバーを別途用意して、チームで作業を行えるようにします。サーバーにソースコードなどを送ることを「push」と呼び、逆にサーバーから取り込むことを「pull」と呼びます(図1)。

 

図1 gitとgitサーバーの関係

図1 gitとgitサーバーの関係

 

 

Webサービスとして公開されているgitサーバーとして、GitHubやBitBucketが有名です。それらを使うことももちろん可能ですが、プライベートなgitサーバーが欲しいこともあります。そこで今回は、GitHubとよく似た機能を持つ「GitLab」を使って、プライベートなgitサーバーを作る方法を紹介します。

 

 

■GitLabのインストール

GitLabをインストールするには、次のリストの順にコマンドを入力してインストールします。

 

リスト GitLabのインストール

sudo yum -y install curl openssh-server openssh-clients postfix cronie

sudo service postfix start

sudo chkconfig postfix on

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

sudo yum -y install gitlab-ce

 

 

■GitLabの設定

インストールが終わったら、GitLabの設定ファイルを書き換えます。

GitLabでは、GitHubと同様に、Webブラウザ上でさまざまな作業を行うことができます。ただ、GitLabを初期設定のままで使うと、Webサーバーのnginxもインストールされ、既存のWebサーバーとポートがバッティングします。そこで、GitLabの設定ファイルを書き換えて、GitLabのポート番号を指定します。

次のnanoコマンドを実行して、GitLabの設定ファイルを開きます。

 

リスト GitLabの設定ファイルを開く

sudo nano /etc/gitlab/gitlab.rb

 

ファイルの先頭の方に、「external_url」という設定の行があります。この行で、GitLabのトップページのアドレスを指定します。この設定を、「http://ドメイン名:ポート番号」(または「http://インスタンスのIPアドレス:ポート番号」)のように書き換えます。

例えば、インスタンスやDNSの設定で、Webサーバーに「http://www.foo.com/~」のアドレスでアクセスできるようにしてあるとします。そして、GitLabを50000番ポートで使うようにしたいとします。external_urlの行を次のように書き換えます。

 

リスト external_urlの行の書き換えの例

external_url 'http://www.foo.com:50000'

 

ここまでの作業が終わったら、nanoを終了して設定ファイルを保存します。

また、インスタンスのセキュリティグループの設定を変えて、GitLabで使うポートを開放します。例えば、前述の例のように50000番ポートを使う場合、セキュリティグループの設定に次の行を追加します。

 

リスト セキュリティグループに追加する行

tcp:50000,50000,ip4:0.0.0.0/0

 

 

■GitLabの初期化と起動

設定が終わったら、次のコマンドを実行して、GitLabの初期化と起動を行います。初期化の処理にはしばらく時間がかかります。

 

リスト GitLabの初期化と起動

sudo gitlab-ctl reconfigure

sudo gitlab-ctl restart

 

GitLabが起動したら、Webブラウザを起動して、external_urlで指定したアドレスにアクセスします。すると、パスワード設定のページが表示されますので、GitLabの管理者のパスワードを決めて「Change your password」のボタンをクリックします(図2)。

これ以後は、external_urlで指定したアドレスにアクセスすると、ユーザー名とパスワードを入力するページが表示されます。ユーザー名に「root」、パスワードに先ほど決めたものを入力すると、GitLabにログインすることができます。

 

図2 管理者のパスワードを決める

図2 管理者のパスワードを決める

 

 

■GitLabの基本的な利用手順

GitLabはGitHubを手本にしたソフトなので、GitHubと似たような感覚で使うことができます。使い方の概略を紹介します。

 

・ユーザーの登録

GitLabからログアウトした状態でexternal_urlで指定したアドレスにアクセスし、「Register」のタブをクリックして、ユーザー名やパスワードなどを入力すれば、ユーザーを登録することができます。

 

・プロジェクトの作成

まず、GitLabに「プロジェクト」を作成します。プロジェクトごとに、ソースコードなどの管理を行います。

プロジェクトを作成するには、GitLabにログインした後、画面右上の方にある「+」のアイコンをクリックします。すると、「New project」のページが開きますので、プロジェクトの名前や概要、またプロジェクトを公開にするかどうかなどを指定します(図3)。

 

図3 プロジェクトの作成

図3 プロジェクトの作成

 

・gitで接続する側の設定

ローカルのパソコンなど、gitをインストールしてGitLabにソースコードをプッシュする側で、プロジェクトと接続できるように設定します。

プロジェクトを新規作成すると、ローカル側で行うべき作業(コマンドのリスト)が表示されますので、その通りにコマンド実行します。また、GUIでgitを扱うツール(SourceTreeなど)を使っている場合は、表示されたコマンドと同等の操作をGUIで行います。

これ以後は、GitHubと同様の手順で、gitコマンドやSourceTreeなどを使って、GitLabにソースコードをプッシュしたりすることができます。

 

・メンバーの追加

プロジェクトにメンバーを追加して、チームで作業することもできます。

まず、対象のプロジェクトのページで、画面上端の方にあるメニューで「Settings」のリンクをクリックします。すると、その下にサブメニューが表示されますので、「Members」のリンクをクリックします。

これで、プロジェクトのメンバーを管理するページが開きます。「Search for members by name, username, or email, or invite new ones using their email address.」の欄で対象のユーザーを選び、その下の欄でメンバーの役割を選んで、「Add to project」のボタンをクリックします。

 

 

 

■インスタンスにgitをインストールする

VPSのインスタンスにインストールして、GitLabの動作確認に使ったり、サーバーの設定ファイルなどの履歴管理に使ったりすることもできます。

インスタンスにgitをインストールするには、次のコマンドを実行します。

 

リスト gitのインストール

sudo yum -y install git

 

インストール後は、gitコマンドを使って、各種の操作を行うことができます。詳しくは、gitのマニュアルなどをご参照ください。

 

 

 

うちだ
サービスクリエーション本部所属        (監修:とみなが)       

オススメ記事

関連サービス

VPS VPSクラウド