WordPress
AWS
Lightsail

Amazon Lightsailを用いてWordPressを一瞬で公開する

Amazon Lightsailを用いてWordPressを公開した。
細かい設定など特に何もしなかったら公開するまで5分程度でできたので、メモしておく。

前提

  • awsアカウントを持っている
  • お名前ドットコムなどで取得したドメインを持っている

やってみる

Amazon lightsail でインスタンスの作成

スクリーンショット 2018-05-20 16.37.43.png

  • インスタンスを作成を押す

image.png

  • プラットフォームをLinux、アプリ+OSをWordPressを選択
  • 国内のユーザー向けのサイトなら、東京リージョンを選択

image.png

  • SSH キーペアが必要な方はダウンロードする
  • 適切なインスタンスプランを選択する(※)
  • 適当な名前を設定して作成する

  • (※)作成後にインスタンスプランを変更するには、スナップショットを取ってAWS CLIを利用して再生成して切り替えるイメージとなります

image.png

  • 保留中となる
  • 1分ほどでこれが起動中になる
    image.png

  • クリックするとパブリックIPが確認できる

image.png

  • パブリックIPに接続するとWordPressがすでに世の中に公開されていることが確認できる!早い!
  • SSHを使用して接続、を押すと、ブラウザ上からコマンドが入力できるようになる
    • SSHで接続する環境を持っていなくても気軽に確認できます

WordPressの設定

  • SSHで接続したら、bitnami_application_password というファイルがあるのでそこに書かれている内容は記録しておく
  • http://(パブリックアドレス)/wp-admin に接続して管理画面にアクセスする
  • ユーザー名はuser、パスワードは先ほどbitnami_application_passwordに書かれていた内容を入力
  • 管理画面にログイン完了!
  • 必要に応じて自分なりの設定をしていこう!

独自ドメインの設定

固定IPの取得

  • 先ほどPublic IPでアクセスしたが、このIPは固定されていないため、定期的に変わる。
  • そのため独自ドメインを設定するには静的IPを作り設定しておくことが必要。
  • ネットワークから静的 IPの作成をする、適当に名前をつけてアタッチするとすぐに静的IPが取得できます

image.png

LightsailのDNSゾーンを設定する

  • DNSゾーンの作成を選択する
    image.png

  • お名前ドットコムやRoute53などで取得したドメインを入力して作成する

DNSゾーンのレコード設定をする

  • DNSゾーンが作成できるとネームサーバーが表示されるので、それをプロバイダ側(お名前ドットコムなど)に登録する image.png

ちなみに(memo)

  • SettingのGeneralからSite Languageを「日本語」とすると日本語になる
  • デフォルトでは画面の右下にBitnamiの バナーが表示されるので、以下のコマンドを入力して削除する
sudo /opt/bitnami/apps/wordpress/bnconfig --disable_banner 1
sudo /opt/bitnami/ctlscript.sh restart apache
  • 無料 SSL/TLS 証明書を使ってhttps化する
cd /tmp
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto
./letsencrypt-auto certonly --webroot -w /opt/bitnami/apps/wordpress/htdocs/ -d ドメイン名
sudo cp /etc/letsencrypt/live/ドメイン名/fullchain.pem /opt/bitnami/apache2/conf/server.crt
sudo cp /etc/letsencrypt/live/ドメイン名/privkey.pem /opt/bitnami/apache2/conf/server.key
sudo /opt/bitnami/ctlscript.sh restart apache

Let's Encrypt についてはこちらを参考 Let's Encrypt 総合ポータル

追記:Let's Encryptは3ヶ月で証明書が切れるので、1ヶ月おきに証明書を新しくするcroneが必要らしい。以下毎月25日の4時に更新するcron

$ sudo crontab -e
1 4 25 * * /tmp/letsencrypt/letsencrypt-auto renew
2 4 25 * * cp /etc/letsencrypt/live/<ドメイン名>/privkey.pem /opt/bitnami/apache2/conf/server.key
3 4 25 * * cp /etc/letsencrypt/live/<ドメイン名>/fullchain.pem /opt/bitnami/apache2/conf/server.crt
4 4 25 * * /opt/bitnami/ctlscript.sh restart apache
  • クライアントからssh接続するときは、ダウンロードしたキーペアの権限を変更して接続する
chmod 600 秘密鍵のパス.pem
ssh -i 秘密鍵のパス.pem bitnami@静的IP
  • 最低限の作業はこれで終了。ここから色々設定していこう