Help us understand the problem. What is going on with this article?

AWSに構築したWordPressに独自ドメインを割り当ててみた

はじめに

前記事「AWSにWordPressを構築してみた」の続き

実際に使えるサイトにしていきたいので下記の要件を満たす。

  • 独自ドメインを割り当てる
  • SSL対応する

ってことでチャッチャと作っていく。

設定

お名前コムでドメインを取得する

ドメインの管理は全てお名前コムで行っているので今回もお名前コムでドメインを取得してAWS側に紐付けていく。
ってことで取得。
zX5Oyh9lUyFO7AT1578552106_1578552192.png

route53を設定する

AWSのroute53で先ほど取得したドメインのホストゾーンを作成する。
とりあえず今はホストゾーンを作るだけで終了。
NSのValueをメモしておく。
スクリーンショット 2020-01-10 6.17.53.png

お名前コムに設定をいれる

お名前コムの管理ページ「ドメイン設定」>「他のネームサーバーを利用」で先ほどメモしたNSのValueを入力する。
これで先ほど作ったホストゾーンにアクセスが流れるようになる。
スクリーンショット 2020-01-10 6.48.46.png

SSL証明書を発行する

AWSの「Certificate Manager」で取得する。
「証明書のプロビジョニング」>「パブリック証明書のリクエスト」でドメインは取得したドメインを入力。
そいで「DNSの検証」を選択して残りは「次へ」を連打。
そーすると検証保留中のレコードができるので「Route53でのレコードを作成」を押下。
あとはステータスが変わるまで30分程度待つ。
スクリーンショット 2020-01-10 7.01.30.png

ターゲットグループを作成する

ロードバランサー作成の事前作業のためにターゲットグループの作成をしておく。
「EC2」>「ターゲットグループ」から「ターゲットグループの作成」をポチッ。
名前を入力、それ以外は特に変更なし。
スクリーンショット 2020-01-10 7.29.52.png

作成したターゲットグループを選択し、ターゲットタブから「編集」をポチッ。
アクセスを流したいインスタンスを選択し「保存」。
スクリーンショット 2020-01-10 7.33.41.png

ロードバランサーを作成する

先ほど作成したSSL証明書を利用するためにロードバランサーを作成してSSL証明書を紐づけていく。
「EC2」>「ロードバランサー」から「ロードバランサーの作成」をポチッ。
「HTTP/HTTPS」を選択。
名前を適当に決めてプロトコルに「HTTPS」を追加。
アベイラビリティゾーンに全件チェックを入れて「次へ」。
「ACMから証明書を選択する」から先ほど作成した証明書を選択して「次へ」。
「既存のターゲットグループ」から先ほど作成したターゲットグループを選択して「次へ」。
残りは「次へ」を連打。出来上がりはこんな感じ。
スクリーンショット 2020-01-10 7.39.53.png

ホストゾーンにロードバランサーを設定する

最初に作成したホストゾーンに先ほど作成したロードバランサーを設定していく。
「Route53」で作成したホストゾーンを選択。
「レコードセットの作成」をポチッ。
エイリアスを「はい」にしてエイリアス先を先ほど作成したロードバランサーを選択し「作成」をポチッ。

はい、完成。
ってことでドメイン経由でアクセスしてみまっしょい。
スクリーンショット 2020-01-10 8.27.26.png

あん?nginxのデフォルトページ?
ってことでサーバに入ってnginxの設定を確認してみる。

$ cat /etc/nginx/conf.d/wordpres.conf
server {
  listen 80;
  server_name *.amazonaws.com;
  server_name ~^\d+\.\d+\.\d+\.\d+$;
  location / {
    root /var/www/html;
    index index.php index.html;
  }
  location ~ \.php$ {
    root /var/www/html;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
}

なるほど。server_nameで「*.amazonaws.com」とIPアドレス直打ちのみルーティングするように設定されてるのね。
ってことで修正。

server {
  listen 80;
  server_name olafblog.org;
  server_name *.amazonaws.com;
  server_name ~^\d+\.\d+\.\d+\.\d+$;
  location / {
    root /var/www/html;
    index index.php index.html;
  }
  location ~ \.php$ {
    root /var/www/html;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
}

server_nameを追加してnginxを再起動。

$ sudo nginx -s reload

設定できたので再度アクセス!
スクリーンショット 2020-01-10 9.13.02.png

おぉ、表示できた!
まぁhttpsのページからhttpでスタイルシート等を読み込みにいってるのでスタイルが崩れるのは想定の範囲内。
一旦独自ドメインとSSL対応は完了したので今回は満足。
次回はhttp->httpsリダイレクトとスタイルが崩れないように対応していく。
続きはこちら->「AWSに構築したWordPressをhttps対応してみた

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした