AWS + KUSANAGIでHTTPSに対応した新規のWordPressブログを設定する方法


KUSANAGIロゴ

クラウドサーバ上で、高速で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」をクリック。
EC2を選択

「リソースID移行の管理」をクリック。
リソースのID移行の管理

「長いIDを使用」にチェックを入れる。
長いIDを使用

以上で完了。保存ポタンなどはなく、チェックを入れるだけで設定は完了します。

この設定で、以後作成するインスタンスは長いIDで作成されます。

KUSANAGIのインスタンスの作成

AWSにログインし、「EC2」をクリック。
EC2を選択

左メニューの「インスタンス」をクリックし、「インスタンスの作成」をクリック。
インスタンを作成

「AWS Marketplace」をクリックし、検索窓に「kusanagi」と入力してEnter。
KUSANAGIを検索

検索結果にKUSANAGIが表示されるので「選択」をクリック。
選択

無料利用枠の「t2.micro」を選択し、「確認と作成」をクリック。
確認と作成

確認画面が出るので、内容を確認しOKなら「作成」をクリック。
作成

キーペアの作成画面が出るので「新しいキーペアの作成」を選択肢、キーペア名を自分が分かりやすい名前で入れる。ここでは「kusanagi」にした。「キーペアのダウンロード」をクリックし、キーペアをダウンロードする。ダウンロードしたpemファイルはサーバにSSHでログインするのに使うので管理しやすい場所に移動し、削除しないよう気を付ける。再ダウンロードは出来ないので要注意。そのご「インスタンスの作成」をクリック。
キーペアの選択

数分でインスタンスが作成される。

インスタンス作成中

固定IPアドレスの作成

固定IPを設定する。

EC2のダッシュボード」にアクセスし、左メニューの「Elastic IP」をクリック。
Elastic IP

「新しいアドレスの割当」をクリック。
新しいアドレスの割当

「関連付ける」をクリック。
関連付けるをクリック

新しいアドレスの割り当てが完了。
新しいアドレスの割当が完了

IPアドレスとインスタンスを紐付ける

次に割り当てられたアドレスをインスタンスと紐付ける。

同画面の「アクション」→「アドレスの関連付け」をクリック。
アドレスの関連付けをクリック

「インスタンス」をクリックすると起動しているインスタンスが表示されるので紐付けたいインスタンスをクリック。「関連付ける」をクリック。
関連付けのインスタンス

関連付け完了。

自分のドメインを取得したサービスで、割り当てられたIPアドレスをDNSに設定する。

SSHでサーバに接続

ターミナルを開き、「$」の後にSSHコマンドを入力する。

pemファイルのアクセス権限を変更する。

キーペアで作成したpemファイルが必要になるのでパスを調べておく。面倒臭い場合はターミナルにドラッグアンドドロップすればフルパスが入力される。

$ chmod 600 

と入力し(600の後ろには半角スペース)、pemファイルをドラッグアンドドロップしパスを入力しEnter。

$ chmod 600 /path/to/pem

成功したら特に何も表示されず、入力待ちに戻る。

次に、

$ ssh -i 

と入力した後(iの後ろは半角のスペースがある)pemファイルをドラッグアンドドロップ。
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の初期設定

KUSANAGIの初期設定をする。

rootユーザになる。

$ sudo su -

KUSANAGIのバージョンを最新にする。

# yum update -y kusanagi*

モジュールをアップデートする。

# yum update -y

KUSANAGIの初期設定をする。

# kusanagi init

初期設定されるので数粉待つ

しばらくするとタイムゾーンの設定が表示される。キーボードで「asia/tokyo」と入力するとどんどん選択肢が絞られていくので「Asia/Tokyo」が表示されたらEnter。
asia/tokyo

キーボドタイプの設定。日本語キーボードなら「2」を入力してEnter。
キーボードタイプの設定

kusanagiというユーザーが作成されるので、パスワード設定を設定する。このパスワードはSFTPやプラグインのインストールやアップデートに使うのでしっかり控えておく。パスワード入力は表示されないが、ちゃんと入力されているので入力が終わったらEnter。(コピペでも入力できる)
kusanagiのパスワード設定

もう一度入力しろと言われるので同じパスワードを入力。(Retype new password: )

鍵認証用の鍵作成を行う。適当なフレーズを入力。このフレーズはSFTPで接続するときに使うので控えておく。
passphreseを入力

もう一度入力しろと言われるので同じフレーズを入力。(Enter same passphrase again:)

mysqlのrootパスワードを設定する。
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のメールアドレスでなくて大丈夫。
Let's Encryptの設定

もう一度入力。(Re-type mail address.)

WordPressで使うデータベース名を設定。「wordpress」にすると後でちょっとだけ楽。
WordPressのデータベース名を設定

もう一度入力する。(Re-type database name you create.)

データベースのユーザー名を設定
データベースのユーザー名を登録

データベースユーザーのパスワードを設定する。
データベースのパスワードを入力

もう一度パスワードを入力する。(Re-type password for database user )

プロビジョニング完了。

WordPressの設定

自分のドメインにアクセスすると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」→「設定」をクリック。
FileZilla

「SFTP」をクリックし、「Add key file…」をクリック。
key fileを追加

ファイル選択画面になるので先ほど作成した「kusanagi_user.pem」を選択し開くをクリック。

pemを選択

はいをクリック。
はいをクリック

パスワードを求められるので、カギを作った時に使ったパスワードを入力しOKをクリック。
パスワードを求められるのでパスワードを入力

名前をつけ(ココではkusanagi_user.ppkとした)「Save」をクリック。

saveをクリック

ファイルパーミッションの変更。

$ chmod 600 /Path/to/kusanagi_user.ppk

Fillezilla左上のサイトマネージャーをクリックし、「新しいサイト」をクリック。「ホスト」に自分のドメインを入力し、「プロトコル」はSFTP。「ログオンの種類」を「通常」にして「ユーザ」は「kusanagi」。パスワードは初期設定で設定したkusanagiのパスワードを入力し「接続」をクリック。
ファイルマネージャーの接続

サーバに接続される。

コードを更に理解する

WordPressをより自由に、思い通りに使用するにはPHPの知識が必要です。

PHPを学ぶには、Web上での情報や知識には限界があるので、人に教えてもらうのが一番の近道です。

そこでオススメなのが「CodeCamp」です。

マンツーマン指導なので、わからないことはすぐ聞けて、無料体験レッスンもあるのでどんな感じか試せます。


ITエンジニア専門スクールもオススメです。

スポンサーリンク

おわりに

かなり長い手順ですが、自分でサーバを設定し、WordPressをインストールしてHTTPSに対応しようとするとこれの3倍以上の手間がかかります。

その長い手順を手探りで行ってきた身としては、簡単にWordPress環境を設定できるKUSANAGIはとても便利です。
関連:「さくらVPSでCentOS+Nginx+WordPressを動かす | 経験知
Nginx + WordPressでSSL(HTTPS)を設定する方法 | 経験知


タグ:

スポンサーリンク



この記事が役に立ったらシェアして頂けると嬉しいです!
このブログをフォロー・RSS購読もお願いします!

スポンサーリンク