BitbucketからAWS EC2にリポジトリをクローン

今回はBitbucketからAWS EC2に前回作成したWordPressのリポジトリをクローンします。

AWS EC2インスタンスのOSはAmazon Linuxですので、SourceTreeは使用できません。Gitをインストールしてコマンドラインで操作します。

鍵の作成

Bitbucketへsshプロトコルを用いて接続します。その為、Bitbucketのユーザーと紐付く公開鍵を作成する必要があります。

こちらを参考にAWS EC2へログインして下さい。

$cd ~/.ssh
$mkdir bitbucket
$ssh-keygen -t rsa -C <コメント>
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ec2-user/.ssh/id_rsa): /home/ec2-user/.ssh/bitbucket/id_rsa
Enter passphrase (empty for no passphrase):#何も入力せずEnterキーを押す
Enter same passphrase again: #何も入力せずEnterキーを押す

正しく鍵が作成されているか確認しましょう。

$ls -l ~/.ssh/bitbucket
合計 8
-rw-r--r-- 1 ec2-user ec2-user 1675  7月  1 18:22 id_rsa
-rw-r--r-- 1 ec2-user ec2-user  404  7月  1 18:22 id_rsa.pub

id_rsaが秘密鍵、id_rsa.pubが公開鍵です。

自分以外のユーザーが読めないように、秘密鍵のパーミッションを変更しておきましょう。

$chmod 600 ~/.ssh/bitbucket/id_rsa
$ls -l ~/.ssh/bitbucket
-rw------- 1 ec2-user ec2-user 1675  7月  1 18:22 id_rsa
-rw-r--r-- 1 ec2-user ec2-user  404  7月  1 18:22 id_rsa.pub

公開鍵をBitbucketへ登録

作成した鍵を使用してBitbucketにアクセスできるように、公開鍵をBitbucketに登録します。

ブラウザでBitbucketにアクセスしログインして下さい。

公開鍵をBitbucketへ登録1

公開鍵をBitbucketへ登録2

 

 

公開鍵をクリップボードへコピーします。

$cat ~/.ssh/bitbucket/id_rsa.pub
<公開鍵の内容>

上記の<公開鍵の内容を>コピーし、以下の”Key”にペーストします。

公開鍵をBitbucketへ登録3

以上で公開鍵をBitbucketへ登録できました。

SSH接続してみる

configファイルを作成し、Bitbucketへssh接続してみましょう。

$touch ~/.ssh/config
$chmod 700 config

お好みのエディタでtouchファイルを開いて(デフォルトでvi、nanoがインストトールされています。私はemacsが好きです。)、以下のように編集します。

Host bitbucket.org
  HostName bitbucket.org
  IdentityFile ~/.ssh/bitbucket/id_rsa
  User git
  Port 22
  TCPKeepAlive yes
  IdentitiesOnly yes

ssh接続してみましょう。

$ssh bitbucket.org
PTY allocation request failed on channel 0
logged in as <Bitbucketのユーザー名>.

You can use git or hg to connect to Bitbucket. Shell access is disabled.
Connection to bitbucket.org closed.

「Bitbucketへgitかhg接続できます。shellアクセスは無効です。」とメッセージが表示されますが、これが表示されればssh接続はできています。

Gitのインストール

yumで一発です。

$sudo yum install git

リポジトリのクローン

Bitbucktからリポジトリをクローンしましょう。

クローンするディレクトリは、webに公開する為、apacheのDocument Root直下とします。以前行った設定によりDocument Root直下に書き込み権限を得ています。もし、権限によるエラーが表示され、リポジトリをクローンできない場合は、こちらの記事を参考に権限を修正して下さい。

$cd /var/www
git clone https://<Bitbucketのユーザー名>@bitbucket.org/<Bitubucketのユーザー名>/<リポジトリ名>.git
Cloning into '<リポジトリ名>'...
Password for 'https://<Bitbucketのユーザー名>@bitbucket.org': <パスワードを入力してEnterキーを押して下さい>

ブランチの変更

現在のブランチはmasterとなっています。確認してみましょう。

$git branch
* master

前の記事で作成したブランチ1.0が存在しません。

リモートリポジトリのブランチを確認しましょう。

$git branch -a
* master
  remotes/origin/1.0
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

リモートリポジトリにはブランチ1.0が存在しています。これをローカルリポジトリにチェックアウトしましょう。

$git chckout -b 1.0 -t origin/1.0
Branch 1.0 set up to track remote branch 1.0 from origin.
Switched to a new branch '1.0'
$git branch -a
* 1.0
  master
  remotes/origin/1.0
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

ブランチ1.0が現れました。*が付いているブランチが現在アクティブなブランチです。今後行う変更はブランチ1.0に行われます。

余談ですが、ブランチの変更は以下のコマンドで行えます。

$ git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
$ git branch
  1.0
* master

以上でBitbucketからAWS EC2にリポジトリをクローンできました。

今回のでWordPressのソースコードをサーバーに展開できました。

次回は、MySQLにWordPressで使用するデータベースを作成する手順について書きます。