WordPressにPukiwikiを上書きしてしまった場合の対処
現状はサイトを手探りで運営している状態の中、やっとコツのようなものを掴んできたので、Wikiの運営をしてみたいと思った矢先に大失敗をやらかしました、、
失敗はタイトル通りなのですが、無事に一応サイト運営には問題ないところまで直せたので。せっかくなので、経緯と解決法をまとめて置こうと思います
もし奇遇にも同じ過ちを犯した方の参考になれば幸いです(笑)
事の経緯
当サイトはロリポップのライトプランでレンタルサーバーを契約して運営していますが、ライトプランでもブログをするのには十分な余裕があるので、余らせておくのももったいないので、作りたかったゲームWikiを作ろうと考えていました。
ちなみに、今WebサイトやWikiを立ち上げようと思う方はロリポップのライトプランはかなりおすすめです。自分が調べた中では費用対効果は一番高いと思います。少し気になっていた速度も問題ないですし。
また、この話については別に記事を書く予定です
PukiWikiの導入
そこで、色々Wikiを調べた結果、Pukiwikiを使うことにしました。
最近更新もされていたのと、日本での知名度が高いですので。
ただ、思った以上にWikiの設営に関するサイトって少ないんですね。
ブログを始めるときは至れり尽くせりだったので。
(あれですかね、商売敵が増えるのを懸念されてるのですかね)
仕方がないので、というか無料で使えるWikiがあるだけ大変ありがたいのですが、インストール手順を見ながら一つずつパスワードなどを確認しながら作業していました
基本的な設定は順調に進んで、いざ、FTPのファイル転送ソフトを使ってPukiWiki本体をサーバーにアップロードしようとしたときでした
FTPソフトの操作ミス
FTPソフト?のFFFTPを使ってWikiをまるごとアップロードしようとしたとき、間違えて、WordPressが入っているディレクトリにそのまま上書きをしてしまったのです、、、
ちゃんとルートディレクトリから変えてアップロードしたはずだったんですが、、ドラッグしてしまったのかな
見事にWordPressのデータをWikiのデータで上書きしてしまいました
すぐに確認するも、ブログも当然、管理画面も404エラーすら吐かずに真っ白に
その時は流石に焦りましたが、少し冷静になれば、記事のデータやサイトのCSSなんかは固有のフォルダに入っているはずだから生きてると思って、
上書きしてしまった設定をもとに戻せばいけるだろうと試みました
ここから対処法になります
この記事を丁度書いているときにもトラブルが置きました、、
幸いにもそれも対処できたので後ほど
上書きしてしまったWordPressの復旧
index.phpの修正
PukiwikiとWordPressのデータを見比べたところ、実質上書きしたのは
index.phpだけだったようです
まずは、WordPressの公式サイトからワードプレス本体をダウンロードしてきます
https://ja.wordpress.org/download
中央のリンクからDLするか、もしトップページから訪れた場合は右上の矢印からこの画面を開いてください
これを適当なフォルダに解答し、中身のindex.phpをFTPソフトなどお好きな方法でサーバー上のindesx.phpに上書きしたら完了です
これで無事にサイト自体はすぐに見れました
一安心しましたが、まだ終わってませんでした、、
セキュリティプラグインによるログイン障害
ブログ画面は見ることができたものの、何故かその後も管理画面は403エラーを出され続けました
しかし、先程はサーバーの403エラーでしたが、次は当ブログの403エラーになっていました
WordPressにログインできない症状は割とありがちなので、調べていたのですが、流石にこんな馬鹿なことをする人はいないようで、、、笑
サイトのURLの設定を間違えている場合ならFTPソフトでwp-config.phpの中身をいじればいいというのはよく書いていたのですが、おそらくそれじゃない(そのファイルはWP固有のファイルなので上書きしていない)と思っていました
そこで、とりあえずプラグインを一旦無効化して、ログインできるかを試してみました
pluginの無効化
プラグインを無効化しようにも、管理画面に行けないので方法はないか探していたところ、単純にFTPでpluginsフォルダをリネームして、空のpluginフォルダを作成したらよいとのことでしたので試してみました
画像は後撮りですが、FTPソフトで、
ワードプレスのあるディレクト/wp-content/内のpluginsをリネームして退避させます
リネームするものは衝突しなければ何でもいいのでplugins.tempとしました
これで起動できるか試します
私の場合はこれで管理画面に入れました、、、よかった、、、
セキュリティソフトの干渉
原因はセキュリティプラグインの All in One WP Security & Firewallだったようです
このプラグインでいくつかログインに関する制限をしていたものが、中途半端に紐付けが途切れてログインできなくなっていたようです
- ログインページのURLの変更 (wp-admin/ 、wp-login.phpをリダイレクトする)
- 一定時間で強制的にログアウトさせる
- ?author=1をリダイレクトさせるプロトコル
他にもありますが、メインはこのあたりが干渉していたんですかね
しかし、私自身のグローバルIPは変わらないし、Whitelistの設定で弾かれている感じでもなかったので、実際どのデータが書き換わって弾かれたのかは不明です
また、先程リネームしたpluginsフォルダは再度リネームして戻したのですが、やはり、どうしてもAll in One WP Security & Firewallだけは入れると弾かれてしまいました、、
再インストールしたらいけるかな?と思ってもう一度pluginsフォルダから消して、入れ直したんですが、どこかしらにデータが残っているようでダメでした
結局使うことは断念して、他のセキュリティソフトで代用することにしました
しかし、まだ不具合は続きます
返答が正しい JSON レスポンスではありません
先程、この記事をちょうど書いていたときに、下書きの保存をしようとしたらこのエラーが出てきやがりました
管理画面では全く問題なく動作していたのに、まさか記事の更新でエラー吐くとは思っていませんでした
もう疲れていい加減記事書いて終わりたかったのに、、
腐ってても仕方ないないので対処法を調べましたが、
返答が正しい JSON レスポンスではありませんエラーはかなり原因がはっきりしないエラーみたいで苦戦しました
(私の場合は何やらかしたかはっきりしているので原因自体はわかりますが)
手当り次第、セキュリティソフトを無効にしてみたり、wp-config.phpを見てみたりと色々やってみましたがそれらは空振りでした
.htaccessの修正
結論を言いますと.htaccessがぐちゃぐちゃになってたからみたいです
最初はこれはwikiのデータで上書きはしていないから変更されていないと思ったんですが、どうやらその後に入れたセキュリティソフトが悪さしてしまったみたいです
FTPファイルから.htaccessを確認してみたところ、最初は上の写真のように書いてあったのですが、(セキュリティソフトの設定のようです)
セキュリティソフトを無効化するとほぼなくなってしまったので、これで投稿できなかったようです
この記述をもとに戻すには記事のパーマリンクを設定します
WordPressの設定、パーマリンク設定を画像のように投稿名にしてください
これで、.htaccessの中身が正常になって無事に記事が保存できると思います
私はこの問題の前からこの設定にしていたのですが、これが変に初期化されて辻褄が合わなくなってしまったようです
おわりに
長かったですがようやくこれで平穏が戻りました(笑)
結局のところ、当初のWiki導入が全くできていないので、次はちゃんとディレクトリを確認して設営したいです
この件でまた何かありましたら記事にするつもりです
また、この件に関してご質問があればコメントかツイッターにいただければ分かる範囲でお答えします