まいりました!(障害報告)

WordPressで小説サイト

 いやぁ参りました。

 この度、ふと思い立って(<これがいけない)サーバー移転を試みました。

 現サーバーが本来WordPressとしては規格外で、言わば無理矢理動かしていることは前述の通り。簡易的なデータベースをサイト内に作っているらしいのですが、そのためのプラグイン「SQLite Integration」もサポートが終了しています。まあ、SQLiteだからといってウチのような弱小サイトでトラフィックがどうのこうのという話にはまずならないのですけどね。画像管理に少々手を焼くようになったので、画像管理用のプラグインをいれようとしたら…ウチが上記のような仕様なもので巧く作動しなかったのです。

 そこで思い切って…この度、さくらのスタンダートプランを新たに契約しました。
 これで稼ぐつもりもない 1 癖に大した投資ですが、年間にしてもCD数枚買うのと大差ない値段です。まあ、コロナ禍でお出かけもしないことですし、服も要らなきゃ外食費もいらないご時世、多少は消費に協力しましょってことで。

 千柳亭書房と画房は恙無つつがなく新サーバーで構築、試験中ですが概ね経過良好。しかも今度からちゃんとWordPressがデータベースつきで使えるので、画像管理用プラグインが利用できて画像の管理が楽になるのが嬉しいところ。(最初はこんなに画像が増えるとは思ってもみなかったのですよ)
 それから、高機能はいいのですがどうにも扱いづらいデータベース構築プラグイン「エコーナレッジベース」と縁を切るべく、千柳亭書房エンサイクロペディアを別建てのサイトにしました。各セクション(篝火は消えない、シ者降臨、Lux Aeterna World…)を別々のカスタム投稿タイプで作って、各記事に関連記事としてタグ付けされたキャラのページリンクが載るようにする予定。これも動作確認段階ですが概ね経過良好 2 。エンサイクロペディアについては前にも同じようなことを考えて、トライして、結局挫折したのですが、WordPressに三年ばかり付き合うとそれなりにノウハウが溜まってくるものです。うん、この3年は無駄じゃなかったぞ。

 ただ、書房自体の本移転については…現在考慮中なのです。それというのもやっぱりまた…やらかしてしまったので。問題はドメインなのですよ。サイトアドレスの話です。

 独自ドメインをとるところまで金銭かねかけるつもりはありませんが、現在千柳亭書房はサイトの存在している場所とは別のアドレス(http://senryutei.sakuraweb.com/)でアクセスできるように、レンタルサーバー提供のマルチドメインを利用しています。このアドレスを新サーバーに持っていくには一旦このサイトでのドメインを解除し、新サーバーで新たに申請しなければなりません。解除して、二時間ほどおいてから新サーバーで利用申請をすれば問題なく移行出来る旨、調べはついているのですが…まあ、怖い話はいくらでも聞くので慎重にならざるを得ません。
 そもそも、現サイトを立ち上げるときもこれ(アドレス変更)でミスって一度サイトを真っ白にした(つまりはアクセス不能になった…)ために、復旧するのはオオゴトでございました。確かいっぺんはサイトごと消して作り直した記憶が(汗)いいたかありませんが現在固定ページと投稿ページあわせて300近いページがある状況で、最初からやり直し…とか、何があっても御免被ります。

 …で、どうしたかというと。

 間借り人3 のサイトを人身御供にしました!(<非道)
 まあ、手続きとしましては上述の通り。まずは旧サイトのサーバーで今まで使ってたドメインお返ししますよ、と申請を出し、二時間あけて新サーバーからこのドメイン使わせて?とお願いする次第。この二時間、というのがどういう理由なのかは判りませんが、公式サイトでの説明ではドメイン自体が有効になるのに数時間~48時間程度必要になる由。ここら辺になるとインターネットというシステム自体のお話になってくるので、柳のようなド素人は「なるほど、そういうものなのか」と納得しておくに限ります。
 手続きそのものは然程煩雑でもありませんで、さっくりと移行が成立しました。新サイト構築後の初更新も問題なくできたようです。
 ですが、2~3日後から謎のサーバーエラー(内部サーバーエラー、俗に500エラーとも呼ばれる)が頻発。調べていくとGoogle先生のクローラーが食いついたりすると出るらしい、という話もありましたが、間借り人のサイトで(悪いけど)それはあり得ない。.hitaccessが問題だとか、CGIプログラムの誤り、パーミッション設定ミスと諸説紛々ですが、どれも当てはまりそうにありません。
 じゃ、仕方ない。元のサイトから復旧データを移行させるか、と旧サイトにアクセスすると…これがまたエラー。その時になって、怖い事実に気が付きました。
 …旧サイトの公開アドレスを、取得ドメインから変えるの忘れてた…(汗)
 これをやってしまうと、ログイン自体が出来なくなる「恐怖のサイト真っ白事件 再び!」となる次第。

 さあ大変。これをどうにかするとしたら…

  1. 新サイトのサーバーエラーの原因を見つけ、解決し、そのまま突っ走る。
  2. 旧サイトを復活させ、とりあえず新サイトは諦める。(とりあえず削除して出直し)

 二者択一、どっちにしてもイバラの道です。しかも、新サイトの方はサーバーエラーが頻発する間のことかその後の不具合か、いくつかのページが消えてしまっている。サイト引っ越しに使ったバックアップから復活させようとしてもインポーターがいとも簡単に「…のインポートに失敗しました」などという無責任なログを吐いてくれるし、インポートする度にメニューファイルも読み込まれてしまうらしくメニューのレイアウトがぐちゃぐちゃになってしまう。
 とりあえず旧サイトはログインが出来なくなっただけで無傷ですから、なんとかデータを旧サイトから引っこ抜いて、抜けたページを復活させるしかありません。
 で、おそらくサーバーエラーの頻発は十中八九ドメイン移行が引き金を引いてしまっているので、とりあえずサイトアドレスを戻すことにしました。このため、一時 http://akinoyabanka.halfmoon.jp がNot Foundになっております。

追記:2021/11/10現在、一応復旧した模様。

老婆心ながら一言。いわゆる「センシティブコンテンツ」の巣窟ですので、万が一踏み込む場合は相応のお覚悟を。

  

 さて、復旧ですが。
 旧サイト復活はどうにもサイトアドレスの呪いが解けないので断念。アドレスを戻した上でデータベースからページデータを救出するという方針に切り替えました。
 WordPressの文書データは、「データベース」というモノにカチコチに固められて格納されています。通常のWordPressであれば、その「データベース」はWordPressとは別の処にあるのですが、前述の「SQLite」でWordPressを動かしている場合、WordPressをインストールしているディレクトリの下、wp-content/databaseに「ht.sqlite」というファイルが存在します。これがそのデータベースに相当するファイルらしく、実に74Mもありました。そりゃ、さくらのファイルマネージャーではハジかれますな。
 だもんで、転送するのに久々にFFFTP4 なんか使いましたよ。
 バックアップの場所が判ったのはいいのですが、いきなりサイトに上書きをかけて、実はデータベースも壊れてましたというのでは泣くに泣けません。このため「SQLite Integration」だけ突っ込んだレスキュー用の別サイトを立ち上げました。簡単にWordPressサイトがひとつ立ち上げられるんだからここはスタンダードプランの強味ですね。
 あとは件のデータベースを上書きし、「SQLite Integration」を有効化5 すれば…旧サイトのページがレスキュー用サイトで閲覧・編集できるという寸法です。画像は…もともと間借り人のサイトには殆どありませんから、ちまちまアップロードしなおしたって高が知れてるでしょう。(実はサーバーエラーの原因を探る中で一度新サイトを吹っ飛ばし、インポート出来ていた画像もすべて消えたというのは内緒)
 いやぁ、勉強させていただきました。あとは頑張れ、万夏。

 さて、アドレス変更はやっぱり剣呑だということがわかったので、とりあえず暫くはこのまま様子見です。サーバーエラーが移行ドメインの所為だったなら、ドメインを戻せば新サイトは安定するはず。完全復旧が成ったらその時にまた考えることにしましょう。ライトプラン(現行のサーバ)もまだ契約期間が十分残ってますしね。

 シンエヴァショックもちょっと落ち着いたので、ぼちぼち捏造を始めることにしました。
 何を捏造ってそりゃ…「極めて使徒寄り」な「シンエヴァFun Fiction」ですよ♪(まだやる気だよこいつ…)

  1. サイトを作る目的なんて、当世は広告収入ってのが通り相場なのですが…申し訳ないことに柳は全くその気がありません。ウチのコンセプトは「書きたいモノを、書けるだけ。楽しければそれでよし」ですので。
  2. まあ、それなりに七転八倒してますが
  3. 今更ですが暁乃家万夏あきのやばんかのことです。ナマイキにもサブドメインをひとつ使っていたのですよ。お陰で千柳亭画房の方はサブドメイン取り損ねました。
  4. FFFTP…FTPソフトの定番。昨今はサーバー付属のファイルマネージャーに依存してましたが、ファイル転送にあまり喧しい制限がないので便利です。非常に設定が面倒臭いですが。
  5. ダッシュボードからできる有効化だけでなく、「SQLite Integration」の「db.php」をWordPress本体の「db.php」と置き換える必要があります。

コメント