3430

Amazon Lightsail で複数(サブドメイン型)のワードプレスサイトを構築する手順

本記事では、Amazon Lightsail で複数のサブドメイン型のワードプレスサイトの構築方法をご紹介します。

本記事の対象者は、

「デモサイトを公開したい」
「テスト環境として実装してみたい」
「できるだけお金をかけたくない」

などでお悩みの方には、Lightsail で複数のワードプレスサイトを構築することをおすすめします。

月額 $3.5 のプランでは、CPUやメモリが小さいですが、初月無料のお試し期間が設けられているので、安心して設置ができます。

マルチサイトを作成するための3つの前提条件

  1. Amazon Lightsail でマルチサイト専用のインスタンスを作成
  2. 静的 IP をアタッチ
  3. DNS ゾーンを作成し、ドメインを Lightsail に追加後、アタッチした静的 IP をポイントするように設定

Lightsailの設定他

ログイン方法や右下の bitnami アイコンの削除、SSL 証明書の発行などの設定方法は、こちらを参考にしてください。

お名前.com + Amazon Lightsail + WordPressでブログを構築する6つの手順

WordPress Multisite インスタンスのプライマリドメインを定義

SSH でターミナルへ接続したら、下記のコマンドを実行。

$ cd /opt/bitnami/apps/wordpress
$ sudo ./bnconfig --machine_hostname 指定のドメイン.com
$ sudo mv bnconfig bnconfig.disabled

WordPress Multisite インスタンスのトップにリダイレクトされます。

プラグインを更新・削除・有効化

  1. ダッシュボード左上の参加サイト
  2. サイトネットワーク管理
  3. プラグイン

既存のプラグインを更新または削除してください。

WordPress MU Domain Mapping のプラグインは削除せずに、サイトネットワークで有効化ボタンを押します。

WordPress Mu Domains Mapping が有効化されました。

「WP Mail SMTP」でメール設定

次に、ワードプレスのプラグインである「WP Mail SMTP」でメール設定して送受信をできるようにします。

Amazon Lightsailで構築したWordPressのWP Mail SMTP設定手順

Domain Mapping

次に、

  1. 設定
  2. Domain Mapping

を順番にクリックします。

遷移画面先の編集画面には以下の文言がありました。

Please uncomment the line define( 'SUNRISE', 'on' ); or add it to your /opt/bitnami/apps/wordpress/htdocs/wp-config.php

define( 'SUNRISE', 'on' )wp-config.php に記述してくださいとのこと。

$ sudo vi /opt/bitnami/apps/wordpress/htdocs/wp-config.php
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
define( 'SUNRISE', 'on' ); ←これを追記

define('FS_METHOD', 'direct');

Apache を restart させます。

$ sudo /opt/bitnami/ctlscript.sh restart apache

ダッシュボードから、

  1. 設定
  2. ドメインマッピング

設定が反映されて、Domain Options を設定します。

Permanent redirect (永続的なリダイレクト)にチェックを入れて「Save」ボタンをクリック。

サイトネットワーク管理者

  1. サイト
  2. 新規追加

サイトネットワーク名をお好きな英数字に、管理者のメールアドレスを変えて、変更を保存ボタンをクリックします。

登録したEメールアドレスに認証手続きのお知らせが届いています。

リンクをクリックして管理者の変更を実施しましょう。

サイトネットワークの保存ができました。

サイトネットワークの更新ページへ遷移します。

サイトネットワークをアップグレードをクリックして、

完了です。

サイトを追加

サブドメイン展開したいサイトアドレスを設定し、タイトルを決定。

言語を選択して、管理者メールアドレスを先程、サイトネットワーク名で設定したメアドに変え、サイトを追加ボタンをクリックします。

新規サイトが作成されました。

左下部に ?id=6 のID部分である数字を覚えておきます。

  1. 設定
  2. Domains

Site ID で左下部に表示されたIDを入力し、Domain をサイトアドレスで設定したドメインにして Save ボタンをクリックしましょう。

AWS Route 53の設定

  1. 検索バーで Route 53
  2. ホストゾーン
  3. レコードセットの作成

で指定したサブドメインと、Lightsail で発行された静的 IP を入力。

hoge.blog.yuichisato.net が追加されました。

Lightsail でレコードを追加

Lightsail の DNS 設定でレコードの追加をクリックします。

サブドメインに @ と入力して、解決先を紐づかせようとしているインスタンスを指定して、右上の緑のチェックアイコンをクリックします。

A レコードが追加されました。

次に、サブドメイン展開している blog.yuichisato.net をさらに、サブドメイン展開化している hoge を指定して入力します。

サブドメインと解決先を記入し、チェックボタンをクリックしましょう。

数分後、実際にサブドメイン展開していサイトアドレスにアクセスして、反映されているかを確認しましょう。

これで、サブドメイン型のワードプレスサイトを追加できるようになりました。

作ったサイトにログイン

Username と Password が届いているので、ログインしてみましょう。

なお、新規サイトを追加しても、URLを設定するパーマリンク設定は、インストール時と変わっておりません。

先ずと変更をしておくべきです。

ユーザーの作成

ユーザー名を適当に、Eメールアドレスは WP Mail SMTP で設定したモノでなくても届きますが、設定した SMTP ホストを指定しましょう。

登録したEメールアドレスの受信トレイにアクセスすると、リンクがあるので、クリックして、登録しておきます。

SSL証明書の発行

$ wget -O bncert-linux-x64.run https://downloads.bitnami.com/files/bncert/latest/bncert-linux-x64.run
$ sudo mkdir /opt/bitnami/bncert
$ sudo mv bncert-linux-x64.run /opt/bitnami/bncert/
$ sudo chmod +x /opt/bitnami/bncert/bncert-linux-x64.run
$ sudo ln -s /opt/bitnami/bncert/bncert-linux-x64.run /opt/bitnami/bncert-tool

WordPress MulutiSite のインスタンスではを設定した場合、Bitnami HTTPS Configuration Toolというツールをダウンロードする必要はありませんが、ない場合のことを考えて、コマンドを記しておきます。

$ sudo /opt/bitnami/bncert-tool

ダウンロード後、上記コマンドで、

  1. Let’s Encrypt での証明書の取得
  2. http から https へのリダイレクト
  3. wwwドメインへのリダイレクト
  4. cron での自動更新の設定

まで多岐にわたり設定してくれるので、Lightsail を借りる方は bncert-tool で SSL 証明書を発行してもらうとスピーディーにできます。

SSL 化するために、質問事項が8つほどありますので、SSL 証明書を取得したいドメインや登録メールアドレスなど、自身にあった回答を行ってください。

$ sudo /opt/bitnami/bncert-tool
An updated version is available. Would you like to download it? You would need to run it m
anually later. [Y/n]: Y

The tool will exit now. To run the updated version run the following command: 

/opt/bitnami/bncert-tool 

bncert-tool コマンドを実行します。

$ sudo /opt/bitnami/bncert-tool
Warning: Custom redirections are not supported in the Bitnami WordPress 
Multisite Stack. This tool will not be able to enable/disable redirections.
Press [Enter] to continue:

Enter。

----------------------------------------------------------------------------
Welcome to the Bitnami HTTPS Configuration tool.
----------------------------------------------------------------------------
Domains

Please provide a valid space-separated list of domains for which you wish to 
configure your web server.

Domain list []: blog.yuichisato.net hoge.blog.yuichisato.net 

SSL化したいドメインを入力。

The following domains were not included: www.blog.yuichisato.net. Do you want to add them?
 [Y/n]: n

www を含めるSSLにするかに対して n。

Changes to perform

The following changes will be performed to your Bitnami installation:

1. Stop web server
2. Configure web server to use a free Let's Encrypt certificate for the domains: 
blog.yuichisato.net
3. Configure a cron job to automatically renew the certificate each month
4. Configure web server name to: blog.yuichisato.net hoge.blog.yuichisato.net
5. Start web server once all changes have been performed

Do you agree to these changes? [Y/n]: Y
  1. Webサーバーを停止
  2. Let’s Encrypt証明書を使用するドメインは、blog.yuichisato.net
  3. 毎月自動的に証明書を更新
  4. Webサーバー名をblog.yuichisato.netに構成
  5. 変更が実行されたらWebサーバーを起動
Create a free HTTPS certificate with Let's Encrypt

Please provide a valid e-mail address for which to associate your Let's Encrypt 
certificate.

Domain list: blog.yuichisato.net hoge.blog.yuichisato.net
Server name: blog.yuichisato.net

E-mail address []: xxxxxx@gmail.com

EMailアドレスを入力。

The Let's Encrypt Subscriber Agreement can be found at:

https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf

Do you agree to the Let's Encrypt Subscriber Agreement? [Y/n]: Y

Let’s Encrypt の登録に関して同意するか否か

----------------------------------------------------------------------------
Performing changes to your installation

The Bitnami HTTPS Configuration Tool will perform any necessary actions to your 
Bitnami installation. This may take some time, please be patient.

----------------------------------------------------------------------------
Success

The Bitnami HTTPS Configuration Tool succeeded in modifying your installation.

The configuration report is shown below.

Backup files:
* /opt/bitnami/apache2/conf/httpd.conf.back.201912180413
* /opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf.back.201912180413
* /opt/bitnami/apache2/conf/bitnami/bitnami.conf.back.201912180413

Find more details in the log file:

/tmp/bncert-201912180413.log

If you find any issues, please check Bitnami Support forums at:

https://community.bitnami.com

Press [Enter] to continue:

Enter ボタンで終了。

再度異なるサブドメインで SSL 証明書を取得する方法

Please provide a valid space-separated list of domains for which you wish to 
configure your web server.

Domain list []: blog.yuichisato.net hoge.blog.yuichisato.net aiueo.blog.yuichisato.net

SSL 証明書を取得するドメインと取得済みのドメインを入力します。

A certificate was found at /opt/bitnami/letsencrypt/certificates/blog.yuichisato.net.crt
It is registered for a different set of domains: blog.yuichisato.net hoge.blog.yuichisato aiueo.blog.yuichisato.net.
Do you want to disable/revoke the existing certificate and create a new one? [y/N]: y

ドメインセットに登録されているけど、既に取得したSSL証明書を無効/失効させ、新しい証明書を作成しますか?

という問いに y で答えましょう。

Create a free HTTPS certificate with Let's Encrypt

Please provide a valid e-mail address for which to associate your Let's Encrypt 
certificate.

Domain list: blog.yuichisato.net hoge.blog.yuichisato.net aiueo.blog.yuichisato.net
Server name: blog.yuichisato.net

E-mail address []: xxxxxx@gmail.com

Server name がマルチサイト本体のドメインであることを確認してください。

先日、既に取得した SSL 証明書を記入せずに、発行してしまい、無限ループに陥ったので気をつけてください。

Really Simple SSLで強制的にhttps化

今すぐインストールをクリックして、有効化ボタンを押します。

ネットワーク全体で SSL を有効化ボタンをクリック。

これでまだ有効化されていないので、設定→SSL へ。

設定で上記ボタンをクリック。

有効化されました。

プラグインが有効化しているのは、本体(blog.yuichisato.net)のみなので、新規サイトを追加したドメインは手動で実施します。

http → https に変えて変更を保存ボタンをクリック。


hoge.blog.yuichisato.ne

保護された通信として SSL 証明書が発行されました。

参考記事
WordPressをEC2のBitnamiを使ってSSL(https)する際に聞かれるメッセージの備忘録
AWS Lightsail で Bitnami HTTPS Configuration Tool を 使った Let’s Encrypt (自動更新まで)
Amazon Lightsail の WordPress Multisite インスタンスにブログをドメインとして追加する
Amazon Lightsail で WordPress Multisite インスタンスのプライマリドメインを定義する

コメント

タイトルとURLをコピーしました