前回からの続きになります。
本編では、WordPressの設定を行っていきます。
AWSアカウントの作成がまだの方は、こちらを参考ください。
Lightsailのインスタンス作成がまだの方は、こちらを参考ください。
目次
前提条件
- AWSアカウント作成済み。
- Lightsailインスタンス作成済み。
WordPressの設定を行う
WordPressのパスワードを確認する
WordPressへのログインの為のパスワードをコンソールに入って確認します。
以下のConnect using SSHをクリックします。
ターミナルが立ち上がります。
以下のコマンドを入力してパスワードを確認します。
このパスワードは、WordPressの管理画面にログインする為のものです。(ユーザ名は、userになる)
※mysqlのrootユーザのパスワードでもあります。
cat bitnami_application_password
管理画面ログイン
確認できたらブラウザから、固定IP + “/wp-admin”にアクセスします。(例. http://199.199.199.199/wp-admin)
おなじみにログイン画面がでてきます。
Usernameは、user、Passwordは、上記で出てきたものを入力します。
ログインできました。
日本語表示に切り替える
まずは、メニューを日本語表示に切り替えます。
Settingsから、generalを選択します。
以下のSite Language, Timezone, Date Formatを変更します。
日本語、東京、年月日表示に切り替えます。
デフォルトユーザ削除
セキュリティの為に、まずは、アカウントuserが危険なので、新たに管理者用のアカウントを作成して、userアカウントは削除しておきます。
権限グループを管理者として作成する。
新しいユーザができたら、ログアウトして新しいユーザでログインして、userアカウントを削除します。
セキュリティー用プラグインをインストールする
とりあえず、以下2つのプラグインを入れておきます。
- iThemes Security
- SiteGuard WP Plugin
インストールして、有効化しておきます。
iTheme Securityの設定
Websiteが何用なのかを選択します。私は、BLOGを選択しました。
自分用なのか顧客用なのかを選択します。私は、SELFを選択しました。
パスワードのポリシーは、変更せずにそのままにしました。
2要素認証はオン、ロックアウトはデフォルトのオンのままで設定します。
ユーザーグループもそのままにします。
全体設定のconfigを行います。
メールアドレスを設定しておきます。
通知の送信元メールアドレスはそのままデフォルト設定になるようにします。
設定を有効にします。Secure Siteをクリックします。
Finishをクリックして、完了します。
有効になりました。
SiteGuard WP Pluginの設定
デフォルトで以下の設定になっていますが、管理ページアクセス制限、フェールワンス、ユーザー名漏洩防御を有効にしておきます。
以下3つをONに切り替え変更を保存します。
WordPressの移行
元のサイトからコンテンツを移動します。All-in-One WP Migrationというプラグインを利用して行います。
All-in-One WP Migration
「All-in-One WP Migration」を新旧のWordPressにインストールし有効化します。
旧サイト側で、エクスポートを行います。
All-in-One WP Migrationのメニューを表示し、エクスポート先に、ファイルを指定します。
バックアップが始まり、ダウンロードできるようになります。
新サイト側で、インポートを行います。
デフォルトでは、アップロードできるサイズが80MBになっていました。
DLしたファイルのサイズが123MBだったため、このままではインポートできません。
アップロードできるサイズを変更します。
.htaccessを変更して、ファイルサイズをアップします。
Lightsailの管理画面から、Connect using SSHでターミナルを立ち上げます。
手順の詳細は、以下のページに記載があります。
https://aws.amazon.com/jp/premiumsupport/knowledge-center/lightsail-bitnami-wordpress-upload-limit/
設定を確認します。
grep -i "upload_max_filesize" /opt/bitnami/php/etc/php.ini
upload_max_filesize = 80M
vi等のエディタで2書き換えます。(80M => 150M)
vi /opt/bitnami/php/etc/php.ini
;upload_max_filesize = 80M
upload_max_filesize = 150M
;post_max_size = 80M
post_max_size = 150M
保存します。
apacheの設定は、特に必要なさそうだったためサーバを再起動して設定を反映します。
sudo /opt/bitnami/ctlscript.sh restart
All-in-One WP Migrationのインポートメニューを表示して、設定が反映されていることを確認します。
旧サーバのファイルをインポートします。
アップロードが完了すると、各種設定に進みます。
エラーが出ず、全て完了したら
サイトが、正しく表示されていること、管理画面に正しくアクセスできることを確認しましょう。
旧サイトでは、SiteGuardでログインURLを変えていたため、新サイトで、うまく動作しませんでした。
.htaccessを書き換えたりして、どうにかアクセスできるようになったので、新サイトのSiteGuardのログインURL変更オプションを無効に、変更しておきました。
また、バックアップからフルサイト構築になったため、新サイト側で作成したユーザはなくなります。
旧サイトのユーザでログインして確認するようにしましょう。
WPS Hide Login
ログインURLを変更するために、こちらのプラグインを入れておきます。
インストールして、有効化します。
設定画面で、ログイン画面のURLを変更しておきます。
設定完了後、ただしくログインページが表示されるか別ブラウザで確認しましょう。
これで一通り、移行が終わったので、これ以降は以下の設定を行っていきます。
- DNSの書き換え
- SSL化
- AWSのセキュリティ設定
- 旧サーバの解約
DNSの書き換え
旧サーバは、ドメインの取得及びサーバが、某お名前のどっとこむでした。
まずは、ネームサーバをお名前のものではなく、AWS側に切り替える為に、AWSにネームサーバを作成します。
Lightsaleの管理画面を日本語に切り替えたい場合は、右下の以下のメニューから切り替えてください。
インスタンスを選択せずに、”ドメインとDNS”を表示します。
DNSゾーンの作成をクリックします。
取得しているドメインを登録済みドメインの入力欄に入力します。
キーオンリータグ、キー値タグは設定しないでゾーンの作成を行います。
赤枠のNSサーバの設定をお名前.comのドメインのNSサーバとして設定します。
以下の2つのDNSレコードを追加します。
- Aレコードとして、@と解決先に静的IPを設定。
- Aレコード、@.ドメイン名、IPアドレスを入力
- www付きでもアクセスできるように、CNAMEレコードを追加。
- CNAMEレコード、www.ドメイン名、ドメイン名を入力
お名前.comにログインして、ネームサーバー設定から該当のドメインにチェックを入れ、その他のサービス => その他のネームサーバーを使うをチェックして、Lightsailのネームサーバをセットします。
ネームサーバーの変更がインターネットの DNS を通じて伝播されるまで数時間かかる場合があります。完了すると、ドメインのインターネットトラフィックが Lightsail DNS ゾーンを経由してルーティングされ始めます。
SSL化
iterm2でssh接続できるようにする
ブラウザベースのターミナルでサーバに入って色々と作業していましたが、切れたりするので作業がはかどりません。
ターミナルで接続できるようにしておきます。
管理画面のConnect using SSHの下に、SSH clientでの接続方法が書かれているので
IPとユーザ名を書きとめてください。
赤枠のDownload default keyをダウンロードしてください。(これは大切なファイルです)
homeディレクトリの.sshフォルダに、pemファイルをおいて、権限を600に変更しておきます。
.sshフォルダの下に、configファイルがあれば、以下を追記します。なければ作成してください。
Host lightsail
HostName 54.xxx.xxx.xxx
User bitnami
IdentityFile ~/.ssh/LightsailDefaultKey-ap-northeast-1.pem
ServerAliveInterval 60
ターミナルから以下のコマンドでアクセスできることを確認してください。
ssh lightsail
SSL設定を行う
※DNSが新サーバに切り替わっていないとこちらは発行できません。
Bitnami HTTPS Configuration Toolというツールを利用して、SSL設定を行います。
ターミナルでサーバに接続して以下のコマンドを実行します。
こちらのツールで、以下ができます。
- 証明書の取得
- 自動更新設定
sudo /opt/bitnami/bncert-tool
以下のように設定して通しました。
このツール実行までに、DNSサーバの設定の切り替えを終えておかないとエラーとなります。
----------------------------------------------------------------------------
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 []: #設定するドメインを入力してください
The following domains were not included: www.sample.com. Do you want to add them? [Y/n]: y #wwwも追加しておく
----------------------------------------------------------------------------
Enable/disable redirections
Please select the redirections you wish to enable or disable on your Bitnami
installation.
Enable HTTP to HTTPS redirection [Y/n]: y #httpアクセスをhttpsにリダイレクトする
Enable non-www to www redirection [Y/n]: n # wwwなしのアクセスをwww付きにするか
Enable www to non-www redirection [y/N]: y # www付きのアクセスをなしにするか
Changes to perform
The following changes will be performed to your Bitnami installation:
1. Stop web server
省略
Do you agree to these changes? [Y/n]: y # 同意する
----------------------------------------------------------------------------
Create a free HTTPS certificate with Let's Encrypt
省略
E-mail address []: #メールアドレスを設定してください
省略
Do you agree to the Let's Encrypt Subscriber Agreement? [Y/n]: y # 同意する
----------------------------------------------------------------------------
Success
The Bitnami HTTPS Configuration Tool succeeded in modifying your installation.
省略
Press [Enter] to continue: # enter入力で終了
ここまで完了したら、ドメインにアクセスして、https接続になっていることを確認します。
ネームサーバの切り替えが浸透するまでに時間がかかるので、ping等で、ドメインのIPがLightsailの静的IPアドレスに切り替わっていることを確認してください。
ここまでで、お名前.comのレンタルサーバで公開していたWordPressのブログをAWS LightsailのWordPressに載せ替えが完了となります。
あとは、AWSのセキュリティ設定をまた別の機会に紹介したいと思います。
AWSのセキュリティ設定をきちんとしておかないと、ある日突然、数百万の請求がされるなんてこともあるので十分に注意してください。