WordPressの管理画面にある「サイトヘルス」に「PHP 7.4にアップデートしろ」というアラートが出ていたので,そのアップデート作業をやってる途中でデーターベースが壊れた,あるいはデーターベースを壊したらしく,記事が表示できなくなってしまいました。
何がどうなったのかがわからず,プラグインのUpdraftplusでバックアップは取ってあるので,最初から作り直すことにしたのですが,その方法の大半が記憶から抜け落ちていて,まあ大変でした。大雑把に書くと下記の順序で作業を進めればよいのですが,ここにたどり着くまでは私のような情弱にはいろいろと厳しいです。
- Raspberry OSのインストール
- Raspberry Piに固定IP(192.168.xx.xx)を設定(一部伏字)。
- Apache2のインストール
- PHPのインストール
- mariadbのインストールと新規データーベース作成
- /etc/hostsに,「192.168.xx.xx jg3qqk.daemon.asia」を追加
- WordPressをインストール,設定
このときサイトアドレスは192.168.xx.xxにしておく - いったんWordpressからログアウト
- http://192.168.xx.xx/wp-login.php で管理画面へのログイン画面が出ることと,ログイン出来ることを確認
- いったんWordpressからログアウト
- Apache2をいったん停止。
- certbotのインストール
- Let’s Encrypt(証明書)のインストールと各種設定。
- Apache2を再起動。
- https://192.168.xx.xx/wp-login.php で管理画面へのログイン画面が出ることと,ログイン出来ることを確認
- プラグインUpdraftplusをインストールして各種設定。
- Updraftplusからデーター復元。このときサイトアドレスがバックアップの復元により,https://jg3qqk.daemon.asia に書き変わる。1)このとき「バックアップはPHPのバージョンが古いときに保存されたものだが復元しても構わないか?」のようなアラートがでるが,それは無視して続行する
- 記事が正しく表示されるかどうかを確認。2)表示されないときはApache2を再起動。
- プラグインSiteGuardを停止3)止めないとログイン画面のURLが変わるして,いったんWordpressからログアウト。
- Apache2の再起動
- msmtpのインストール,設定。メール送信テスト。4)Gmailを利用する場合はアプリパスワードが必要
- WordPressにログイン。
- SiteGuardを有効にして,ログイン時のメール通知設定とログイン画面のURLを変更後,いったんログアウト。
- WordPressのログイン画面がSiteGuardで変更したURLになってることを確認してログイン。ログインが出来たら,いったんログアウト
- myDNSへのIPアドレス通知のためのスクリプト作成,cronによるテスト
- Let’s Encryptの自動更新のためのスクリプト作成,cronによるテスト
- Raspberry Piと同じネットワーク上にあるmac miniから公開鍵認証でSSL接続出来るように設定。
- mac miniのhostファイルに「192.168.xx.xx jg3qqk.daemon.asia」があることを確認。
- mac miniからブラウザでWordpressの管理画面に入れることを確認
- SiteGuardによるログインアラートメールが着信することを確認。
証明書に関してはサーバー(apache2)と停止させずにインストール/更新をする方法もあるのですが,私の場合は止めたところで実害はないので止めてから実施しました。更新も同じようにスクリプトでいったんサーバーを止めてから実施するようにしています。
細かい設定方法は検索すれば出てきますが,Webには古い情報や間違った情報も大量にあるので,注意が必要です。今回もいろいろと騙されましたw。
ということで,とりあえず復旧は出来ましたので,微調整は運用しながら実施していこうと思っています。