ロリポップからAWSへWordpressのサイトを移行してみる①
(https://qiita.com/yu19991013/items/9899cdea9f70a58ff6aa)
初めに
こんにちは。Arii-Incの加藤です。
前回はAWSのVPCとRDSを構築し、ロリポップのDBの中身を移行する作業を行いました。
今回はロリポップのFTPサーバに置いてあるファイルをEC2のインスタンスに移行していきます。
##⑴ ロリポップ!FTPにログインしファイルを取得してローカル環境に保存
FTPサーバの(/var/www/html)に置いてあるファイルをコピーしてローカル環境に保存します。
##⑵ EC2インスタンスを立てる
###1. EC2インスタンスをAmimoto AMIを元に作成 (https://ja.amimoto-ami.com/)
Amimoto AMIはWordpressのAWSで使われるマシーンイメージ(インスタンスに必要な情報を提供する)です。
今回はフリートライアルがないNginxを使った WordPress powered by AMIMOTO(HVM)を使いたいと思います。
###2. セキュリティグループ を設定
セキュリティグループのインバウンドではssh 22ポートとhttp 80ポートのみを許可します。
###3. ファイルの置き換えと参照するDBの変更
sshでec2にアクセスして(/var/www/html)にある既存のファイルをロリポップからコピーしてきたファイルに置き換えます。
ec2を作成したときに作成した暗号鍵を用いてsshコマンドを叩きます。
ssh -i [秘密鍵のパスを指定] ec2-user@[IPアドレス or DNS名]
次に(/var/www/vhosts/[InstanceID]/wp-config.php)のDBの設定をRDSのDBの内容に書き換えます。
// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define( 'DB_NAME', 'database_name_here' );
/** MySQL データベースのユーザー名 */
define( 'DB_USER', 'username_here' );
/** MySQL データベースのパスワード */
define( 'DB_PASSWORD', 'password_here' );
/** MySQL のホスト名 */
define( 'DB_HOST', 'localhost' );
/** データベースのテーブルを作成する際のデータベースの文字セット */
define( 'DB_CHARSET', 'utf8' );
/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define( 'DB_COLLATE', '' );
##⑶ ELBの設定
ロードバランサーの設定
httpとhttpsのどちらのアクセスもリスナーに追加する場合、httpにはルールとしてhttpsにリダイレクトし、httpsのルールとして転送先をec2のサーバーに設定します。この設定をすることでWordPressのサイトへアクセスする際にhttpsをURLの初めにつけない(ex: http://hoge...com)
ことでサイトにアクセスできないということが起こらなくなります。
##⑷ Route53の設定
###2. AWSで作成したネームサーバの情報をドメイン取得サイトに設定
ドメインを取得した際に利用したサービス(お名前.comやムームードメイン)のネームサーバの設定にRoute53のホストゾーンを作成した際に作られるNSレコードを貼り付ける。
###3. ロードバランサー用のAレコードを追加
https通信を行いたいのであればACM(https://aws.amazon.com/jp/certificate-manager/)
で証明書を発行します。
その際に、DNSを検証するためにホストゾーンにCNAMEレコードを追加します。
次に、Aレコードを追加していきます。
終わり
以上でロリポップからAWSへWordpressの移行が終了しました!
その気になれば半日かからずに終わるので是非皆さんも休日など時間があるときに試してみてください!