はじめに
- 前回は、AWSのアカウントを再登録し、無料利用枠を使うことができるようになるところまで行いました。
- そこで、今回は無料利用枠内でできる
WordPressのチュートリアル
を行います。また、この機会を利用して、就活のために作成したさくらレンタルサーバ
上のポートフォリオを移行してみました。
目次
- さくらサーバからデータを取得
- AMIのWordPressを利用してEC2を構築
- WordPressにログイン
- EC2にWordPressのテーマデータをアップロード
- WordPressにテーマが追加されているか確認
1. さくらサーバからデータを取得
-
WordPressのサイトを別のサーバーに移行する方法【初心者向け】の「WordPressのエクスポート・インポートを使用する方法」を参考に移行しようとしました。しかし、元となる自作のカスタムテーマの移行ができませんでした。そのため、そのテーマのみ
手動
で移行しました。 - さくらレンタルサーバ上のテーマを
sftp
コマンドを利用してローカルに取得します。
1.1さくらサーバにログイン
まず、sftpコマンドに必要なさくらサーバの情報を取得します。
さくらサーバにログインし、FTPサーバ
とFTPアカウント
を確認します。
1.2 ターミナルからさくらレンタルサーバへ接続
ターミナルを起動し、sshで接続できることを確認します。
ssh [アカウント名]@[ドメイン名]
コマンドで実行します。途中パスワードを聞かれるので、入力します。
% ssh [アカウント名]@[ドメイン名].sakura.ne.jp
The authenticity of host 'xxxxxxxxxx.sakura.ne.jp (219.94.192.65)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'xxxxxxxxx.sakura.ne.jp' (ECDSA) to the list of known hosts.
xxxxxxxx@xxxxxxxxxxx.sakura.ne.jp's password:
FreeBSD 9.1-RELEASE-p24 (SAKURA17) #0: Thu Feb 5 10:03:29 JST 2015
Welcome to FreeBSD!
無事接続できました。以下の記事を参考にしました。
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Are you sure you want to continue connecting(yes/no)?
途中、上記の質問が出てきました。
こちらは、SSHクライアントからSSHサーバへ最初に接続する際に出てくるみたいです。
接続先のサーバが正しいものか確認されます。そこで、yesを選択すると、fingerprint
(IPアドレス、鍵の暗号方式、公開鍵)が~/.ssh/known_hostsへ保存されます。一度保存すると以後、この質問は聞かれません。
保存されている公開鍵と、次回以降に取得する公開鍵が一致しないとアラートが出ます。なりすまし防止機能
の役割があります。
1.3 SFTPコマンドを利用してデータを取得
sftp
コマンドを利用して、サーバのデータを取得します。
まず取得したいデータが存在するディレクトリまで移動します。その後、get
コマンドを利用してデータを取得します。
% sftp [アカウント名]@[ドメイン名].sakura.ne.jp
Connected to [アカウント名]@[ドメイン名].sakura.ne.jp.
sftp> cd www
sftp> get -r myportfolio
無事さくらサーバのWordPressの自作テーマのデータを取得できました。
SFTPコマンド
ftpコマンドのように対話的なファイル転送をするプログラムで、SSHで暗号化された通信経路でファイル転送を行います。
2. AMIのWordPressを利用してEC2を構築
- ここからは、AWSのWordPressのチュートリアルを中心に進めていきます。
- AMIのWordPressを元にEC2を構築するところまで行います。
2.1 EC2ダッシュボードからインスタンスカテゴリへ遷移
AWSマネジメントコンソールにログインし、検索エリアで「EC2」と入力し選択すると、
インスタンスカテゴリのインスタンスをクリックし、インスタンスの管理画面へ遷移します。
2.2 EC2を構築
これからEC2を構築するために、インスタンスの設定を行います。
手順は大きく分けて5つあります。
「インスタンスを作成」を押下し、Amazonマシンイメージ(AMI)を選択するページへ遷移します。
①AMIの選択
最初に、左の項目から「AWS MarketPalce」を選択します。次に、検索エリアで「wordpress」と入力し検索します。すると、一番上位の検索結果にWordPress Certified Bitnami and Automattic
が出てくるので、それを選択します。
②インスタンスタイプの選択
次にインスタンスタイプの選択をします。
無料利用枠対象のt2.micro
を選択します。こちら以外を選択してインスタンスを作成してしまうとお金がかかってしまいます。
③タグの追加
インスタンスの設定とストレージの追加はデフォルトの設定を使うので、タグの追加のステップまでとばします。
キーに「Name」、値「wordpress」と入力します。
④キーペアの作成
セキュリティグループの設定もデフォルトの設定を使うので、確認のステップまでとばします。
今までの設定内容を確認しながら、一番下までスクロールし、起動ボタンをクリックします。
すると、キーペアの設定モーダルが表示されます。そこで、新しいキーペアの作成
を選択し、キーペア名に「wordpress」と入力します。その後、キーペアのダウンロード
を押下し、プライベートキーファイルをダウンロードします。このファイルは、後の自作のカスタムテーマをアップロードする際に使います。
最後に、「インスタンスの作成」をクリックし全ての設定が完了します。
※キーペアなしで続行
を選択してはいけないです!!
選択すると自作のカスタムテーマを転送することができなくなります。インスタンス作成後に、修正することも不可能ではないですが、初心者にはとても難しく感じました。もしも間違えた場合は、一度作成したインスタンスを削除し、再度新しくインスタンスを作成するのが一番てっとり早いです。
⑤設定完了
インスタンス設定が完了すると、こちらの画面が表示されます。
設定が完了したので、一度インスタンス管理画面へ遷移します。
すると、1つインスタンスが追加されていることが確認できます。ステータスチェックの項目が初期化しています
になっているはずです。実は、インスタンスの作成には、5~10分
ほど時間がかかってしまいます。つまり、この状態はまだインスタンスが作成されていないことを示しています。
そのため、インスタンスの作成完了ステータスである2/2チェック...
になるまで放置する必要があります。
無事EC2インスタンスを作成することができました!!
3. WordPressにログイン
- WordPressにログインします。
3.1 wordressのログイン画面へ遷移
まず、先ほど作成したEC2インスタンスを選択し、IPv4 パブリック IP
をコピーします。
その後、任意のブラウザでIPアドレスを貼り付け、末尾に/admin
を追加して検索します。
すると、以下のようなwordpressのログイン画面が表示されるはずです。
3.2 パスワードをコピー
先ほどのEC2インスタンスのログからパスワードを取得することができます。
「アクション」→「インスタンスの設定」→「システムログの取得」と遷移します。
モーダル画面が表示されるので、下にスクロールしてください。
スクロールしていくと、以下のような形でパスワードが書いてあるはずです。
3.3 ログイン
ユーザ名はuser
と入力し、パスワードは先ほどコピーしたものを入力すると....
無事、wordpressにログインすることができました!!
4. EC2にWordPressのテーマデータをアップロード
- WordPressのインポートを行った後、自作のカスタムテーマをターミナルからアップロードします。
4.1 ターミナルからEC2インスタンスへ接続
まず、「2.2 EC2を構築、④キーペアを作成」を行った際に、ダウンロードしたwordpress.pem
ファイルを「~/.ssh/」配下に移します。
その後、ssh -i [.pemファイル] [ユーザ名]@[public IP]
コマンドを利用して接続します。
この時、ユーザ名はec2-user
ではなくubuntu
にする必要があります。EC2で利用するOSによってユーザ名の初期値
が異なります。
% ssh -i ~/.ssh/wordpress.pem ubuntu@ec2-XXXXXXXXXXXXXX.us-east-2.compute.amazonaws.com
The authenticity of host 'ec2-XXXXXXXXXX.us-east-2.compute.amazonaws.com (XXXXXXXXXXXXX)' can't be established.
ECDSA key fingerprint is SHA256:GNlXYjcZdAj+atIK1/omBfETi+Hsn4J1YpO1VjH14Q0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ec2-XXXXXXXXXX.us-east-2.compute.amazonaws.com,XXXXXXXXXX' (ECDSA) to the list of known hosts.
Welcome to Ubuntu 16.04.6 LTS (GNU/Linux 4.4.0-1102-aws x86_64)
*** System restart required ***
___ _ _ _
| _ |_) |_ _ _ __ _ _ __ (_)
| _ \ | _| ' \/ _` | ' \| |
|___/_|\__|_|_|\__,_|_|_|_|_|
*** Welcome to the Bitnami WordPress 5.3.2-3 ***
*** Documentation: https://docs.bitnami.com/aws/apps/wordpress/ ***
*** https://docs.bitnami.com/aws/ ***
*** Bitnami Forums: https://community.bitnami.com/ ***
#######################################################
### For frequently used commands, please run: ###
### sudo /opt/bitnami/bnhelper-tool ###
#######################################################
bitnami@ip-XXXXXXX:~$ ls
4.2 sftpコマンドを利用してデータを取得
sftpコマンドを利用して、EC2インスタンスへデータを転送します。
まず、sftpコマンドでsftpクライアントを立ち上げます。次に、cdコマンドで転送先のディレクトリまで移動します。その後、put
コマンドでデータを転送します。
themes % sftp -i ~/.ssh/wordpress.pem ubuntu@ec2-XXXXXXXXXX.us-east-2.compute.amazonaws.com
Connected to ubuntu@ec2-XXXXXXXXX.us-east-2.compute.amazonaws.com.
sftp> cd apps/wordpress/htdocs/wp-content/themes/
sftp> put -r myportfolio
Uploading myportfolio/ to /home/bitnami/apps/wordpress/htdocs/wp-content/themes/myportfolio
5. WordPressにテーマが追加されているか確認
先ほど転送した自作のカスタムテーマが存在するか確認します。
「外観」→「テーマ」でテーマの一覧が見れるページに遷移します。デフォルトのテーマ以外に、転送した自作のカスタムテーマが追加されているはずです!
まとめ
-
AMI
を利用することにより、非常に簡単にWordPress
のEC2
を構築することができました。 - ただ今回は、セキュリティーやドメインの設定、AWSの特性生かした冗長構成などは全く行っていません。
- そのため、次回はAMIを使用せずに、WordPress用のEC2を構築し、WordPressで利用するMySQL用のEC2も別途構築したいと思います。また、VPCやELB、Route53なども利用したいと思います。