WordPress環境を刷新

WordPressの裏側で動いているPHPが古すぎるよ!とWordpressから怒られたので、新しいPHP環境でWordpressの作り直しを決意

ついでに動かしているインスタンスも現行世代のものへ移行と相成りましたのでそれまでの経過と所要時間とかをまとめ

WordPress環境を自前で構築するメリットは、当然費用面が最も大きいわけですが、私の環境は先月20円の請求でした

代わりにメンテンナスとかアップデートとか、今回のような事は自前で全て行う必要があるので、それなりにスキルが求められますので、安いという理由だけで乗り換える事はお勧めしません

さて、前置きはこの辺にして実際に移行した手順とかをざっと書いていきます

手順とか

1、現行のWordpress環境でバックアップを取る→最も重要なこと

2、移設先のWordpress環境を準備→バックアップを取る前に構築しても良いですが、まずはバックアップを忘れずに

3、移設先のWordpress環境にて、バックアップから復元を実施→まだこの時はWordpressへ接続する時はグローバルIPアドレスを直打ちしてアクセスしてます

4、テスト用のドメインを取得→後で現行のドメインと紐づけをしますが、まずはテスト用のドメインでちゃんと問題無く繋がるかテスト(この手順は省いても良い)

5、SSL環境を再構築→最も面倒な部分

6、晴れて引っ越し完了

ざっくり書くとこんな感じです

それぞれ細かく見ていきます

現行のWordpress環境でバックアップを取る

WordPressのバックアップを取る時、私は以下のプラグインを使っています

UpdraftPlus

https://ja.wordpress.org/plugins/updraftplus/

結構昔から使っていますが、安定していて結構信頼できるバックアッププラグインです

これでデータベースからアップロード済みの画像やらテーマやら、全部バックアップして手元にダウンロードします

移設先のWordpress環境を準備

これは準備の仕方は個々人で異なると思いますので、ご自由にどうぞ

バックアップから復元

先ほどバックアップしたファイルを移設先のWordpressで復元しましょう

UpdraftPlusをプラグインでインストールし、復元するだけでこれまでの環境が一気に復活します

まだこの状態ではグローバルIPアドレスを直打ちで参照してる状態かと思います

テスト用のドメインを取得

これは省いてもいい項目かもしれませんが、念のため

私はDuckdnsを使っているので、そこで適当にテスト用のドメインを作成しました

SSL環境を再構築

さて、今回の本命です・・・

SSLを再構築する際の失敗とか、その辺も書きますのでお役に立つ事もあると思います

certbotの設定とかは検索すれば色々と出てくると思いますが、私はこちらのブログを参考にしました

私がハマったポイントは以下の部分です

・WebサーバーであるNginxが起動していてcertbotでSSL証明書を取得する時にbind出来ないと怒られた(上のブログにちゃんと書いてあります。読み飛ばしをしました)

NginxなりapacheなりのWebサーバーを止めてください

テストで何度も(確か3回~5回ぐらい)取得しようとして失敗すると、1時間反省部屋に入れられます。–dry-runをつけて実行しましょう。これなら怒られません

特に新しいIPアドレスとドメインが紐づけされていない場合、IPアドレスが辿れず、見つからないとエラーが出るので、ドメインとの紐づけがされるまでは何度テストしても繋がらないので、–dry-runを忘れずにしましょう

・crontabで実行するコマンドはこれを使う

00 05 01 * * sudo /opt/bitnami/nginx/scripts/ctl.sh stop nginx sudo certbot-auto renew --force-renew && sudo /opt/bitnami/nginx/scripts/ctl.sh start nginx

動作としては、Nginxを停止させてからSSL証明書をアップデートし、再度Nginxを動かすという事をしています

これでようやく新環境でWordpressを動かせるようになります

作業時間は3時間程度かな・・・。ハマったのが無ければ1時間~2時間の間ぐらいで終わると思います

移行後の所感

かなり快適になったと思います。PHPの更新でこんなに動作が軽くなるとは思いませんでした