AWS上のWordPressで管理者メールアドレスを変更する方法

WordPressを導入し、管理者のメールアドレスを変更する際に、変更後のメールアドレスにメールを送って承認を取ろうとしますが、メールが送れずに承認待ちとなり変更できないことがあります。

その際にWP Mail SMTP のプラグインを導入すればよいという記事をたくさん見かけますが、AWSの場合は、それだけではメールがまだ送れません。

メールが送れない場合、以下の対応が必要になります。

AWS SES をセットアップし、その情報をプラグインに登録しよう

WP Mail SMTP のプラグインをセットアップする前に、AWS SES(Simple Email Service)をセットアップし、その SES 経由でメールを送信する必要があります。
また、送信できたとしても、Gmail の場合、SPAMとして判定されてしまうことがありますので、SPAMフォルダも確認する必要があります。
プラグインは導入されている前提で、その後、以下の手順で対応していけば、メールが送信できるようになります。

1.AWS SESをセットアップ

AWS SESをセットアップし、認証の為のID、パスワードを取得します。

AWS SESを選択すると、自動的にUSリージョン(バージニア北部)に飛ばされ、SESのホームが表示されます。

そこで、左の枠から[Email Address]を選択し、[Verify a New Email Address]を選択すると、以下のポップアップが表示されますので、メールを送信したいE-mailアドレス登録し、 [Verify a New Email Address] ボタンを押してください。

そうるすと、メールが入力したE-mailアドレスに送られてきますので、リンクをクリックして承認してください。

次に SESホームの左の枠から[SMTP Setting]を選択し、右枠に表示されるServer NameとPortをメモした後、[Create My SMTP Credentials]ボタンを押します。

そうすると以下のようにIAM User Nameが表示されますので、そのまま[作成]ボタンを押してください。SMTPユーザー名とパスワードが作成されますので、メモしておきます。

2.WP Mail SMTPプラグインの設定

AWS SESの情報を以下の通りプラグインにセットアップします。

・SMTPホスト:SESの Server Name
・SMTPポート: SESの Port
・SMTP Username:SESの SMTPユーザー名
・SMTP Password:SESの SMTP パスワード

この後、メール送信テストをしてください。

3.テストメールが届いていることを確認

送信先にメールが届いていることを確認しますが、Gmailの場合は、SPAMフォルダに振り分けられる場合がありますので、そちらも確認してください。

4.WordPressの管理者メールアドレスを変更

これで、変更後のWordPressの管理者メールアドレス宛にメールが送れるようになります。 届いた変更確認メールのリンクをクリックし、承認してください。無事メールアドレスが変更できているはずです。

WordPressを公開する場合にDNS設定でハマるポイントは?

AWS上にWordPressを構築した時に一番手こずったのが、DNSの設定でした。

設定自体はそんなに難しくありませんが、ドメインを登録してから実際にそのドメイン名でアクセスできるようになるには、いくつか時間が掛かる場所があります。

私の場合、うまく行っているか不安になり再度余計な設定をしてしまい、さらに時間がかかる結果となってしまいました。

そこで途中で焦らない為の確認方法を記載しておきます。

Whois, nslookupの順で反映状況を確認

AWS上でのWordPress構築から実際にドメインでアクセスできるようになるまでには、以下のステップで実施していきます。

1.AWS上でWordPressを構築
2.IPアドレスでWordPressにアクセスできることを確認
3.ドメイン名の取得(お名前.com)
4.Route 53の設定(AWS)
5.ネームサーバ情報の登録(お名前.com)
6.DNSレコードの登録(お名前.com)
7.ネームサーバ情報の登録内容確認(お名前.com)
8.DNSレコードの登録内容確認(お名前.com)
9.whoisでドメイン登録状況の確認
10.nslookupでドメイン登録反映状況の確認
11.数時間待つ

なお今回は「3.ドメイン名の取得」「5.ネームサーバ情報の登録」「6.DNSレコードの登録」については、お名前.comで作業しました。

以降では、今回手こずった「7.ネームサーバ情報の登録内容確認」以降の手順について記載していきます。

ネームサーバ情報の登録内容確認

「お名前.com」でネームサーバ情報を登録した後、「ドメイン詳細」で「ネームサーバ情報」を確認してみます。

いろいろいじっているといつまにか設定が外れていることもあるので注意してください。

DNSレコードの登録内容確認

次は、DNSレコードの設定から、CNAMEが正しく登録されているか、再度確認してみみます。

この設定をする際に最後に”.”(ドット)があると怒られるので、VALUEの最後は”aws”で終わっているはずです。

Whois確認

以上のようにネームサーバ情報とDNSレコードが正しく設定されていれば、nslookupが可能となっているはずです。

まずその前に、whoisに情報が登録されているか確認してみましょう。
Whoisサイトに行き、Whois情報検索を実施し、以下のようにIPアドレスが表示されていれば問題ないはずです。

この時、AWS上のインスタンスの「IPv4 パブリック IP」と一致している必要はありません。このIPはAWSのサービスエンドポイントを示しているらしいです。

心配なら同じサイトでこのIPを使って逆引きしてみると良いと思います。

nslookupによるドメイン登録反映状況の確認

nslookupサイトに行き、ホスト名からIPアドレスが表示されれば、AWSのサービスエンドポイントまでは到達できるようになっているはずです。

しかし、ここまでたどり着けても、まだドメイン名でWordPressにアクセスできな場合があります。
それは、AWS内でDNS情報の伝達に時間がかかっている場合があるからです。

数時間待ってみる

アクセスできないからと言って、すぐにネームサーバ情報やCNAME情報を再設定したりしてはいけません。

そうすると、再度設定情報が反映されるまでに数時間を要してしまうことになります。(私の場合、一度ネームサーバを初期化し、再設定してしまった為、丸1日程度、反映に時間がかかってしまいました。

またもう一つの注意点としては、AWS上のWordPressのインスタンスを一度落としてしまうと、再度立ち上げてもすぐにドメイン名でアクセスできなくなってしまいます。

おそらくインスタンスを落とすことでAWS内のDNSレコードの反映が消えてしまい、再度反映されるのに時間がかかる為だと思われます。

うまくドメイン名で接続できた後は?

もし今、ドメインにHTTPで接続しているのなら、HTTPS(SSL通信)に変えた方が良いです。

特に、WordPressの管理画面に入る場合にはログインIDとパスワードを入力するが、それが盗聴されてしまう恐れがあります。

また最近のグーグル検索ではHTTPSのサイトが優先的に表示されることもあり、そう言った意味からもHTTPSにする意味は大きいと思います。

InstantWPをMacで動かすとlibnettle6.dylibのエラーが出る場合の対処方法

最近ブログに興味を持ち始めた為、WordPressを使ってみることにしました。
しかしながらいきなりサーバを立てるのは難しとおもったので、Mac上で簡単に仮想サーバを構築できるInstantWPを導入してみることにしました。

しかし、Macの初期設定はセキュリティが厳しい為、最初はうまく動作しませんでした。
具体的にはFinderからStart-InstantWPを起動してみると、「”libnettle.6.dylib”は、開発元を検証できないため開ません。」というエラーが起動中に発生し、 InstantWPのコントロールパネルは表示されるのだが、「WordPress Admin」をクリックしても正常に接続できない状況でした。

sudu spctlコマンドで一発解決

このエラーは、事前に以下のコマンドをMacのターミナルで実行することで一発解決しました。

sudo spctl – -master-disable
※masterの前の”-“は続けて入力してください。ここでは2つ”-“があることをわかりやすくする為、間にスペースをいれていますので、コピペする場合は注意してください。

このコマンドを実行した後、OSのパスワードを入力すればOKです。
そして、Start-InstantWPを再度実行すると、今度はエラーが発生せず、「WordPress Admin」に接続できます。

ただし、このコマンドはMacのセキュリティを下げてしまうので、InstantWPを利用し終わった後は、以下のコマンドで元に戻しておきましょう。

sudo spctl – -master-enable

セキュリティとプライバシーを確認してみよう

実は上のコマンドを実行すると、Apple Storeや確認ずみの開発元からのアプリケーション以外も自由に実行可能になります。

Macの「システム環境設定」から「セキュリティとプライバシー」を選択してみよう。コマンドを実行した後は下図のように「すべてのアプリケーションを許可」という選択項目が増えている事が確認できます。

まずはローカルでWordPressを試してみましょう。

これで無事にWordPressの管理画面にログインでき、操作感をつかむ事ができるようになります。
そしてこの後、実際にインターネット上にサーバを構築し、WordPressを導入してみることにしました。

http://k2-ornata.com/wordpres-and-dns/