iPhone11で出先から自分のBLOGにアクセスしてみたところ、いきなりこんな画面が。
ホワイトアウトしているわけではないのでデータベースが飛んだとかではなさそうです。ただ「このサイトはアーカイブに保存されたか一時停止中になっています。」とアナウンスがあるだけ。
サーバが物理的に落ちているわけでもないようで、実際DNSのエラーが返ってきているわけではないですし、なによりSSHでのリモートログインはできるのです。
そこで困った時のgoogle先生頼み。検索をかけてみたところ、どうやら(WordPressの?)バージョンアップに伴って勝手にデータベースが書き換えられたことが原因のよう。過去のバージョンアップでも同様の問題が発生したようですが、どうもバージョンに依存する問題というよりは、マルチサイトでのバージョンアップによって発生する問題のようだという指摘も。
ですがそれらの情報から対処法がわかったので早速実践してみたところ、この投稿をしている現時点においてBLOGへのアクセス(マルチサイトの全てのサイトへのアクセス)ができるようになったことを確認できました。
原因としてはWordPress用のデータベースにあるwp_blogsテーブルのarchivedの値が0(デフォルト)から1に書き換えられてしまうことらしく、これを再び0に描き戻すことが対策になるようです。
mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 16496
Server version: 5.7.38 MySQL Community Server (GPL)
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective owners.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql>
念の為データベースを確認し、目的のテーブルの値をチェックしてみることにします。
mysql> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| bootablog |
| mysql |
| performance_schema |
| sys |
+——————–+
5 rows in set (0.01 sec)
mysql> use bootablog;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+————————–+
| Tables_in_bootablog |
+————————–+
・
・
・
| wp_blogs |
・
・
・
+————————–+
64 rows in set (0.00 sec)
目的のテーブルを発見できたら実際の値を確認しておきます(本当にarchivedの値が1になっているかどうか)。
mysql> select * from wp_blogs;
するとこんな感じでマルチサイト全てのarchivedの値が1になっていることが確認できました。それにしても、domainもpathも自分が設定した通りになっているのはやはり嬉しいものですね(笑)
ではこのarchivedの値を1から0に変更します。
mysql> update wp_blogs set archived = 0;
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3 Changed: 3 Warnings: 0
そしてwp_blogsを確認すればこのとおり!
テーブルのarchived列に対して1→0の変更を指定しているので、テーブル毎(行毎)にセットする必要はありません。先のSQLで全てのサイトのarchived列の値が0にセットされます。
あとはサイトにアクセスして、BLOGが表示されることを確認して完了です(そして実際に表示が確認できたことは既に述べた通りです)。