AWS + KUSANAGIでHTTPSに対応した新規のWordPressブログを設定する方法
※本ページはプロモーションが含まれていますクラウドサーバ上で、高速でHTTPSに対応したWordPress環境を簡単に構築できるKUSANAGI。
AWS(Amazon Web Services)を使えば1年間サーバ代がほぼ無料(月間アクセス数が数十万PVや、転送量の多いブログだと無料枠からはみ出る可能性あり)なので、AWS+KUSANAGIはブログを本気ではじめたい人にオススメの組み合わせです。
ここでは、AWS+KUSANAGIの環境をいちから作る方法を紹介します。
既にブログを運営していてAWS+KUSANAGIに移行しHTTPSに対応させる方法は過去記事で。
関連:「AWS + KUSANAGIのHTTPS環境にブログを移行した手順 | 経験知」
※KUSANAGI7.8での移行手順です。環境によって手順や方法が変わってくる可能性もあるので移行の際は自己責任でお願いします。
また、コマンドラインの知識やviがある程度使える必要があります。独自ドメインも既に取得している前提です。
AWSアカウント作成
AWSのアカウントを持っていない場合は「AWS アカウント作成の流れとポイント」に従いアカウントを作成し、AWSへログインする。
リソースIDの移行
AWSは2016年中にインスタンスIDを長くする計画です。8文字から17文字に長くすることで、割り当てられるIDを増やすのが目的のようです。
完全移行するまでは、特に設定しない限り8文字のIDで作成されてしまいます。
「Amazon Web Services ブログ: 2016年に導入のEC2, EBSのリソースIDの長さの変更について」によると8文字でも問題ないようですが、今後の仕様変更を考えると17文字への移行する必要があるかもしれません。
新規作成するときに17文字に対応しておけば後々楽になるので設定を変更します。
AWSにログインし、「EC2」をクリック。
「リソースID移行の管理」をクリック。
「長いIDを使用」にチェックを入れる。
以上で完了。保存ポタンなどはなく、チェックを入れるだけで設定は完了します。
この設定で、以後作成するインスタンスは長いIDで作成されます。
KUSANAGIのインスタンスの作成
AWSにログインし、「EC2」をクリック。
左メニューの「インスタンス」をクリックし、「インスタンスの作成」をクリック。
「AWS Marketplace」をクリックし、検索窓に「kusanagi」と入力してEnter。
検索結果にKUSANAGIが表示されるので「選択」をクリック。
無料利用枠の「t2.micro」を選択し、「確認と作成」をクリック。
確認画面が出るので、内容を確認しOKなら「作成」をクリック。
キーペアの作成画面が出るので「新しいキーペアの作成」を選択肢、キーペア名を自分が分かりやすい名前で入れる。ここでは「kusanagi」にした。「キーペアのダウンロード」をクリックし、キーペアをダウンロードする。ダウンロードしたpemファイルはサーバにSSHでログインするのに使うので管理しやすい場所に移動し、削除しないよう気を付ける。再ダウンロードは出来ないので要注意。そのご「インスタンスの作成」をクリック。
数分でインスタンスが作成される。
固定IPアドレスの作成
固定IPを設定する。
「EC2のダッシュボード」にアクセスし、左メニューの「Elastic IP」をクリック。
「新しいアドレスの割当」をクリック。
「関連付ける」をクリック。
新しいアドレスの割り当てが完了。
IPアドレスとインスタンスを紐付ける
次に割り当てられたアドレスをインスタンスと紐付ける。
同画面の「アクション」→「アドレスの関連付け」をクリック。
「インスタンス」をクリックすると起動しているインスタンスが表示されるので紐付けたいインスタンスをクリック。「関連付ける」をクリック。
関連付け完了。
自分のドメインを取得したサービスで、割り当てられたIPアドレスをDNSに設定する。
SSHでサーバに接続
ターミナルを開き、「$」の後にSSHコマンドを入力する。
pemファイルのアクセス権限を変更する。
キーペアで作成したpemファイルが必要になるのでパスを調べておく。面倒臭い場合はターミナルにドラッグアンドドロップすればフルパスが入力される。
$ chmod 600
と入力し(600の後ろには半角スペース)、pemファイルをドラッグアンドドロップしパスを入力しEnter。
$ chmod 600 /path/to/pem
成功したら特に何も表示されず、入力待ちに戻る。
次に、
$ ssh -i
と入力した後(iの後ろは半角のスペースがある)pemファイルをドラッグアンドドロップ。
パスの後にスペースを開け、「centos@」の後にブログのドメインを入力。
全体像はこのようになる。
$ ssh -i /path/to/pem centos@keikenchi.com
Enterを押し接続開始。
ドメインが浸透して新しいサーバにアクセスできるようになっていないとアクセス出来ないので、エラーが出るようなら暫く待つ。
スマホのテザリング通信にして別のネームサーバからアクセスすると早く繋がる場合があるのでそれも試してみる。
「Are you sure you want to continue connecting (yes/no)? 」と聞かれたら「yes」と入力しEnter。
サーバにログインできる。
KUSANAGIの初期設定
KUSANAGIの初期設定をする。
rootユーザになる。
$ sudo su -
KUSANAGIのバージョンを最新にする。
# yum update -y kusanagi*
モジュールをアップデートする。
# yum update -y
KUSANAGIの初期設定をする。
# kusanagi init
初期設定されるので数粉待つ
しばらくするとタイムゾーンの設定が表示される。キーボードで「asia/tokyo」と入力するとどんどん選択肢が絞られていくので「Asia/Tokyo」が表示されたらEnter。
キーボドタイプの設定。日本語キーボードなら「2」を入力してEnter。
kusanagiというユーザーが作成されるので、パスワード設定を設定する。このパスワードはSFTPやプラグインのインストールやアップデートに使うのでしっかり控えておく。パスワード入力は表示されないが、ちゃんと入力されているので入力が終わったらEnter。(コピペでも入力できる)
もう一度入力しろと言われるので同じパスワードを入力。(Retype new password: )
鍵認証用の鍵作成を行う。適当なフレーズを入力。このフレーズはSFTPで接続するときに使うので控えておく。
もう一度入力しろと言われるので同じフレーズを入力。(Enter same passphrase again:)
mysqlのrootパスワードを設定する。
こちらも、もう一度同じパスワードを入力。(Re-type MySQL root password.)
kusanagiの初期設定完了。
wordpressのプロビジョニング
ここからはWordPressをインストールする解説です。
「kusanagi provision 」の後に作成したいフォルダ名を指定してEnter。ドメイン名にするとわかりやすい。ここでは「keikenchi」にした。
# kusanagi provision keikenchi
言語設定を聞かれるのでja(日本)の2を入力しEnter。
ドメイン入力。このブログなら「keikenchi.com」
もう一度入力を求められるので同じドメインを入力。(Re-type hostname(fqdn) for your website.)
Let’s Encryptの設定。メールアドレスを登録するだけ。自分が受信できるメールアドレスなら何でも良い。ドメインURLのメールアドレスでなくて大丈夫。
もう一度入力。(Re-type mail address.)
WordPressで使うデータベース名を設定。「wordpress」にすると後でちょっとだけ楽。
もう一度入力する。(Re-type database name you create.)
データベースのユーザー名を設定
データベースユーザーのパスワードを設定する。
もう一度パスワードを入力する。(Re-type password for database user )
プロビジョニング完了。
WordPressの設定
自分のドメインにアクセスするとWordPressの設定画面が表示されるので通常通り設定します。
データベースのユーザーとパスワードはプロビジョニングで作成したユーザー名とパスワードを設定します。
HTTPSへの対応
KUSANAGIのデフォルトのセキュリティグループではSSL通信をする443ポートが開いていないので、セキュリティグループに追加する。
「EC2のダッシュボード」にアクセスし、左メニューの「セキュリティグループ」をクリック。セキュリティグループの「グループ名」が「KUSANAGI for AWS…」を選択し、「インバウンド」タブをクリックし「編集」をクリック。
「インバウンドルールの編集」が開くので、「ルールの追加」をクリック。新しい行が追加されるので、追加されたタイプをクリックし、「HTTPS」を選択肢保存。
これでセキュリティグループの設定が完了。
HSTSの設定
HSTSは、このサイトにアクセスするときは必ずHTTPSで接続するように指示できるHTTPヘッダーで、httpではじまるURLでアクセスしてもブラウザが自動的にhttpsのURLに書き換えてアクセスしてくれるようになります。詳しい設定方法は過去記事で。
関連:「KUSANAGIのnginxでHSTSを設定する方法 | 経験知」
ファイルをアップロード
ファイルをFTPソフトでアップロードする方法です。
ここでのFTPソフトはFillezillaを使います。
自分のパソコン内のkusanagi.pemを同じ場所にコピーし、名前を「kusanagi_user.pem」にする(別名でもOK)。
ファイルをテキストエディタで開き、内容を全て削除し保存する。
ターミナルでサーバに接続し、root権限で
# vi /root/kusanagi.pem
を開き内容をコピーして「kusanagi_user.pem」に貼り付ける。
各行の先頭に行番号やスペースが入っている場合は削除してサーバ上のkusanagi.pemと同じ状態にする。
「kusanagi_user.pem」を使ってターミナルで一度ログインする。
$ ssh -i /Path/to/kusanagi_user.pem kusanagi@keikenchi.com
秘密鍵を作った時のフレーズを入力し、「パスワードをキーチェーンに保存」にチェックを入れ「OK」をクリック。
ログインに成功したらすぐ出て構わない。
$ exit
Fillezillaを開きメニューバーの「FileZilla」→「設定」をクリック。
「SFTP」をクリックし、「Add key file…」をクリック。
ファイル選択画面になるので先ほど作成した「kusanagi_user.pem」を選択し開くをクリック。
はいをクリック。
パスワードを求められるので、カギを作った時に使ったパスワードを入力しOKをクリック。
名前をつけ(ココではkusanagi_user.ppkとした)「Save」をクリック。
ファイルパーミッションの変更。
$ chmod 600 /Path/to/kusanagi_user.ppk
Fillezilla左上のサイトマネージャーをクリックし、「新しいサイト」をクリック。「ホスト」に自分のドメインを入力し、「プロトコル」はSFTP。「ログオンの種類」を「通常」にして「ユーザ」は「kusanagi」。パスワードは初期設定で設定したkusanagiのパスワードを入力し「接続」をクリック。
サーバに接続される。
おわりに
かなり長い手順ですが、自分でサーバを設定し、WordPressをインストールしてHTTPSに対応しようとするとこれの3倍以上の手間がかかります。
その長い手順を手探りで行ってきた身としては、簡単にWordPress環境を設定できるKUSANAGIはとても便利です。
関連:「さくらVPSでCentOS+Nginx+WordPressを動かす | 経験知」
「Nginx + WordPressでSSL(HTTPS)を設定する方法 | 経験知」