【AWS】EC2へGitを入れるやり方などご紹介

はじめに

まずはEC2とGitとはどのようなものなのか説明し、EC2へGitをインストールする手順であったりサーバーの構築の仕方を紹介していきます。

EC2とは

EC2は「Amazon Elastic Container Cloud」の略で、AWSで利用できるシステムの一つです。AWS上に構築した仮想サーバーを自由に利用でき、必要に応じてスペックを変更できる特徴を持っています。さらに、EC2は仮想サーバーをインスタンスという単位で扱っています。仮想サーバーのインスタンスを複数使い分割することで、可用性や信頼性に配慮した運用ができます。また、インスタンスはコピーや削除も簡単に行えるといった特徴を持っています。他にもLinuxやWindowsなどのOSが仮想サーバーで利用でき、自動でサーバーの構築、インストールを行ってくれる特徴も持っています。

Gitとは

Gitはソースコードやファイルのバージョンを簡単に管理するツールのことです。開発を行っていれば複数の開発者が触るのでソースコードが書き換わります。そして誰がいつどこを変えたのか、新しいバージョンはどれなのか。と把握しなければなりません。こういったバージョン管理やデバッグ作業、複数人で開発を行うときなどにGitというツールが役立ちます。つまりGitでできることは、古いバージョンに簡単に戻せること、新しいファイルや古いファイルを一元管理できること、複数人で修正した部分を1つに統合できること、編集した履歴を複数人で共有できること。以上の4点がGitでできることです。

余談ですが、GitとGitHubの違いはご存知でしょうか。
GitHubは、Gitと連携し、開発者を支援するWebサービスのことです。GitHubには、Gitにはないプルリクエストという機能がありこれは、他のメンバーにソースコードの変更点についてのレビューの依頼をする機能です。そしてこのレビューは、OKがでたソースコードのみ反映されるので、品質の向上にとても役立ちます。

EC2へGitをインストール

EC2へGitをインストールするのはとても簡単で、「 sudo yum install git 」と入力するだけです。

それぞれの意味は、「sudo」がスーパーユーザで実行。「yum」がyumというインストーラーを使用。「install git」がGitをインストールする。これは文字そのままの意味ですね。

EC2でGitのサーバーを構築

Gitがインストールされたか確認するには「git version」と入力して確認します。バージョンが表示されたらインストールが完了しているということです。そして、Git実行用のユーザを作ります。


useradd gituser
passwd gituser

これでGitのセットアップは完了です。

次に、「Gitolite」というGitで共有リポジトリのユーザやアクセスの管理を行えるツールをインストールします。これをインストールすることでsshまたは、http経由でアクセスしたときに認証を行い、リポジトリへのアクセス制限を設けることができます。今回のサーバー構築ではsshでセットアップを行います。では、Gitoliteをインストールしていきます。rootユーザでGitoliteのセットアップに必要な部品、モジュールというやつです。まずそれをインストールします。


yum install perl-Data-Dumper

インストールが終わったらGitoliteのセットアップを行います。

セットアップにあたって、gitの実行ユーザをgituserへユーザを切り替えてセットアップしていきます


su - gituser
git clone git://github.com/sitaramc/gitolite
mkdir -p $HOME/bin
gitolite/install -to $HOME/bin

これでインストールはできました。ただインストールできただけで使用はまだできません。使用するには、管理者(adimin)として使うキーペアというものを登録しなければなりません。キーペアの作成は、「ssh-keygen -t rsa」で作成できます。キーの名前を変更することもできますが、特に名前を変更しない場合はキーを作成して何か表示されたらEnterを3回ほど押していただければ、「id_rsa」と「rsa.pub」というキーが2つできます。もし、名前を変更する場合は1回目に表示されたときに、Enter file in which to save the keyの後の括弧の中を「(/home/gitkey/.ssh/id_rsa): ./gitkey 」と入力すれば、「gitkey」と「gitkey.pub」と名前が変わります。「gitkey」は認証に使う秘密鍵で「gitkey.pub」はGitoliteに登録する公開鍵です。今回はgitkeyという名前にしました。

それでは、gitkeyを使ってGitoliteをセットアップしていきます。

「./bin/gitolite setup -pk ./gitkey.pub」これを入力すると、ホームディレクトリ配下に「repositories」というディレクトリが作られます。Gitoliteで認証をするリポジトリはこの「repositories」の中に作られます。そしてセットアップを行うことで初期状態でリポジトリが3つ作られます。3つの中の「gitolite-admin」というリポジトリを使用して、リポジトリの追加やユーザの管理を行っていきます。

リポジトリの追加には、「gitolite-admin」をローカルにクローンしなければなりません。なので、秘密鍵をローカルマシンにダウンロードします。sshでアクセスするので.sshディレクトリにダウンロードします。

scp gitkey@[GitサーバーのIP]:~/gitkey ~/ .ssh/

ダウンロードが終わったら、秘密鍵のパーミッションが600になっているか確認しましょう。次に、アクセスするときに使う秘密鍵を指定するためsshのconfigを設定します。


Host [適当なhost名]
HostName [GitサーバのIP]
Port 22
User gitkey
IdentityFile ~/.ssh/gitkey

これでsshのconfigの設定は完了です。

次にクローン(gitolite-adminの)を作成します。


git clone gitkey@[configで設定したhost名]:gitolite-admin

次にリポジトリを作成していきます。gitolite-adminの中のconfディレクトリの中にgitolite.confというファイルがあるので、これにユーザとリポジトリの設定を書き、管理します。


repo test
RW+      =  gitkey

これで空の新規リポジトリが作られます。次にユーザの追加をしていきます。

ユーザの追加は、gitolite-admin配下の、keydirの中に公開鍵を配置します。セットアップと同じやり方で鍵を作ります。「ssh-keygen -t rsa」と入力し、Enter file in which to save the keyの後の括弧の中「(/home/gitkey/.ssh/id_rsa): ./[作成するユーザ名] 」これを入力すれば作成完了です。そして公開鍵をコミットし、リモートリポジトリにプッシュをすればサーバー構築は終了です。

まとめ

EC2やGit、サーバーの構築の仕方について書いてきましたがいかがだったでしょうか。EC2へGitをインストールするやり方など意外と簡単でした。サーバーの構築は色々と手順はありますが、そこまで複雑ではないので是非皆さんもトライしてみてください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

前の記事

AWS Elemental MediaConvertとは?

次の記事

CloudfFormationについて