今回はBitbucketからAWS EC2に前回作成したWordPressのリポジトリをクローンします。
AWS EC2インスタンスのOSはAmazon Linuxですので、SourceTreeは使用できません。Gitをインストールしてコマンドラインで操作します。
鍵の作成
Bitbucketへsshプロトコルを用いて接続します。その為、Bitbucketのユーザーと紐付く公開鍵を作成する必要があります。
こちらを参考にAWS EC2へログインして下さい。
1 2 3 4 5 6 7 | $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キーを押す |
正しく鍵が作成されているか確認しましょう。
1 2 3 4 | $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が公開鍵です。
自分以外のユーザーが読めないように、秘密鍵のパーミッションを変更しておきましょう。
1 2 3 4 | $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にアクセスしログインして下さい。
公開鍵をクリップボードへコピーします。
1 2 | $cat ~/.ssh/bitbucket/id_rsa.pub <公開鍵の内容> |
上記の<公開鍵の内容を>コピーし、以下の”Key”にペーストします。
以上で公開鍵をBitbucketへ登録できました。
SSH接続してみる
configファイルを作成し、Bitbucketへssh接続してみましょう。
1 2 | $touch ~/.ssh/config $chmod 700 config |
お好みのエディタでtouchファイルを開いて(デフォルトでvi、nanoがインストトールされています。私はemacsが好きです。)、以下のように編集します。
1 2 3 4 5 6 7 | Host bitbucket.org HostName bitbucket.org IdentityFile ~/.ssh/bitbucket/id_rsa User git Port 22 TCPKeepAlive yes IdentitiesOnly yes |
ssh接続してみましょう。
1 2 3 4 5 6 | $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で一発です。
1 | $sudo yum install git |
リポジトリのクローン
Bitbucktからリポジトリをクローンしましょう。
クローンするディレクトリは、webに公開する為、apacheのDocument Root直下とします。以前行った設定によりDocument Root直下に書き込み権限を得ています。もし、権限によるエラーが表示され、リポジトリをクローンできない場合は、こちらの記事を参考に権限を修正して下さい。
1 2 3 4 | $cd /var/www git clone https://<Bitbucketのユーザー名>@bitbucket.org/<Bitubucketのユーザー名>/<リポジトリ名>.git Cloning into '<リポジトリ名>'... Password for 'https://<Bitbucketのユーザー名>@bitbucket.org': <パスワードを入力してEnterキーを押して下さい> |
ブランチの変更
現在のブランチはmasterとなっています。確認してみましょう。
1 2 | $git branch * master |
前の記事で作成したブランチ1.0が存在しません。
リモートリポジトリのブランチを確認しましょう。
1 2 3 4 5 | $git branch -a * master remotes/origin/1.0 remotes/origin/HEAD -> origin/master remotes/origin/master |
リモートリポジトリにはブランチ1.0が存在しています。これをローカルリポジトリにチェックアウトしましょう。
1 2 3 4 5 6 7 8 9 | $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に行われます。
余談ですが、ブランチの変更は以下のコマンドで行えます。
1 2 3 4 5 6 | $ 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で使用するデータベースを作成する手順について書きます。
宮崎県在住。
プログラムを書いて暮らしています。趣味はルアーフィッシング、ギター。