WordPress

WordPressにログインできなくなってから復旧までの3日間の記録 Day3

このブログサイトのために使っているWordPressが突然、次の状況になってしまいました。

ポイント

  • WordPressの投稿管理画面で記事の一覧が表示されなくなった
  • WordPressからログアウトしたらログインできなくなった
  • パスワードの再設定もできない

解決するまでに3日半かかりました。
これはその3日目から解決するまでの記録です。
1日目と2日目の記録は以下の記事になります。

WordPress
WordPressにログインできなくなってから復旧までの3日間の記録 Day1

このブログサイトのために使っているWordPressが突然、次の状況になってしまいました。 結論から言うと、プラグインのSiteGuardを無効にすることでログインできるようになりました。「そんな簡単 ...

続きを見る

WordPressログインエラー復旧作業2日目
WordPressにログインできなくなってから復旧までの3日間の記録 Day2

このブログサイトのために使っているWordPressが突然、次の状況になってしまいました。 解決するまでに3日半かかりました。今日はその2日目の記録です。1日目の記録は以下の記事になります。 解決まで ...

続きを見る

解決までの3日半、調べては試すことを延々と繰り返しました。
無我夢中だったので忘れてしまったこともありますが、覚えている限りの経過を記録しておきます。

レンタルサーバはConoha Wingを使用しているので、ファイル編集の方法などはそちらの画面を使って説明しています。

WordPressログイン障害 3日目にやったこと

ConohaWingのバックアップデータで、ログインできていた日の状態に復元

ConohaWingには自動バックアップの機能があり、過去14日までさかのぼって、WordPressサイトの状態を指定した日に戻すことができることがわかりました。
これだ!と思い、WordPressにログインできなくなる前の日に戻す作業を行いました。
大まかな手順は以下の通りです。

  1. ConohaWingの自動バックアップ画面で復元したい日付のWebとDBをリストアする
  2. Webを復元する
    バックアップしたWebのwp-config.phpとfunctions.phpを一度ローカルにダウンロードし、サーバのサイトドメインのしかるべきフォルダににアップロードする
  3. DBを復元する
    バックアップしてできたデータベースのネームタグをConoha WIngで変更し、データベースの参照先を変更後のデータベース名に修正する

1.Conoha Wingの自動バックアップ画面で復元したい日付のWebとDBをリストア

Conoha Wingにログインし、①サーバー管理 → ②自動バックアップ の順に選択します。
③バックアップ が表示されるので、バックアップ取得日から、復元したい日付を選び、WebとDBの「リストア可」をクリックします。

WordPressの自動バックアップ画面

「リストアを開始しますか」のポップアップが表示されるので、「リストア」をクリックします。
「この操作は取り消せません」と書かれているのでちょっとビビりますが気にしなくても大丈夫です。

リストアには数分の時間がかかります。
ここで一点、知っておきたいことがあります。

ポイント

ここでいう「リストア」とは、「指定した日付時点のデータを回収してサーバーに保存した」ということにすぎません。
これだけではWebサイトを復元したことにならないことに注意しましょう。
復元するには、リストアしたファイルを、公開されているサイトドメインの正しい位置にアップロードしたり、ファイルを編集したりレンタルサーバの設定を変更したりしてデータベースの参照先を変更する必要があります。
また、サーバーに保存されたデータ(ファイル)は24時間後に削除されるので、取っておくためには、自分のパソコンにダウンロードする必要がありますが、そのためにはFTPソフトを使います。(この記事ではFTPの説明はしません)

Webを復元する

「リストア」とは「復元」のことなので、リストアが完了するとWordPressが復元できたと勘違いする人もいるかと思います。
しかし実際は、そのデータ(ファイル)を、公開しているサイトのしかるべき箇所にアップロードして初めて完了します。

リストアされたデータ(ファイル)の場所は次のように確認します。
Conoha Wingにログインし、 ①サイト管理 → ②ファイルマネージャー の順に選択します。

Conoha Wing ファイルマネージャー

ローカルホストにできているbackup_data_webが今回リストアしたフォルダです。
バックアップされたデータ(ファイル)は24時間後に削除されてしまうので、自分のパソコンにダウンロードする必要があります。
でも、このフォルダに入っているファイルの量がとても多いため、確実にダウンロードするには、FTPソフトを使います。
ソフィーはFTPでバックアップをローカルに保存しましたが、それをやらなくても復元はできるので、この記事ではFTPの操作方法は説明していません。

今回はpublic_htmlの中の必要なファイルのみダウンロードします。
必要なのは次の2つです。
①~の手順で目的のファイルを探します。

  1. functions.php
    ① ××××@localhostフォルダ → ②backup_data_web → ③public_html → ④自分のサイトのドメインフォルダ → ⑤wp-content →
    themes → 使用中のテーマ
  2. wp-config.php
    ① ××××@localhostフォルダ → ②backup_data_web → ③public_html → ④ 自分のサイトドメインフォルダ

    ①の××××部分は『データベース名+Conohaアカウント名』の組み合わせになっており、人によって異なります。

①上記ファイルを右クリック → ②プルダウンメニューから「ダウンロード」を選択します。
ダウンロードしたファイルはパソコンの任意の場所に保存します。

function.phpのダウンロード

次に、ダウンロードしたファイルを、復元したいドメインのフォルダにアップロードします。
復元したいドメインは以下の場所にあります。

functions.phpは public_html → 自分のサイトのドメインフォルダ → wp-content→ themes→ 使用中のテーマ の配下にあります。
wp-config.phpは public_html → 自分のサイトドメインフォルダ の配下にあります。

以下はfunctions.phpのアップロード方法ですが、wp-config.phpはフォルダの位置が違うので、そこだけ注意して同様に行います。

アップロード先のフォルダ



該当するサイトドメイン側のフォルダを開いたら、先ほどダウンロードしたfunction.phpをそのフォルダにドラッグ&ドロップします。

functions.phpをアップロード
ダウンロードしたfunctions.phpをドラッグ&ドロップ

「"functions.phpというアイテム名はすでに存在しています」というアラートがポップアップするので、「はい」をクリックします。
Conoha WIngでは、FTPソフトを使わなくても簡単にファイルをアップロードすることができるので便利です。

ダウンロードしたバックアップファイルをサイトドメインのフォルダにアップロード
ダウンロードしたバックアップファイルをサイトドメインのフォルダにドラッグ&ドロップ

funcsions.phpに続き、wp-config.phpもアップロードしました。」

さて、これでWebの復元ができました。
しかしながら、WordPressログインはできませんでした。

DBを復元する

Conoha Wingにログインし、①サイト管理 → ②データベース の順にクリックし、データベース一覧を確認します。
画面中央にデータベース一覧が表示されます。
バックアップすると同じ名称のデータベースができてしまい、紛らわしいので名称を変更します。
ここで表示される名称は「ネームタグ」と呼ばれるもので、実際のデータベース名は最後にはバックアップ日付が記載されているものになります。それをこれから確認します。

Conoha Wingのデータベース名称確認
Conoha Wingのデータベース確認画面

名称の左側の「>」をクリックすると詳細情報が確認できます。
下図のように、「データベース名」の後ろに日付が記載されていれば、それがバックアップされたデータベースです。
そのネームタグを変更するには、①右側の鉛筆マークをクリックします。

データベースのネームタグを変更

ネームタグが編集できるようになるので、①ここではネームタグの最後に「-new」を追加して ②保存をクリックします。

データベースのネームタグを変更します

データベース一覧がこのようになりました。

修正したデータベースのネームタグができました

次に、接続先データベースを変更します。
Conoha Wingにログインし、①サイト管理 → ②データベース → ③ユーザー の下にユーザー名が記載されているので → ④ユーザー名をクリックします。

Conoha Wing データベース管理画面


「接続先データベース」が表示されています。
右側のツールマークをクリックしましょう。

データベースの接続先を変更します

接続先データベースが変更できるようになるので、先ほど指定したネームタグを入力します。

接続先データベースの変更

次に、wp-config.phpを編集して接続先データベースを変更します。
Conoha Wing 管理画面で ①サイト管理 → ②ファイルマネージャーをクリックします。

Conoha Wing ファイルマネージャー

public_htmlの下にある、サイトドメインのフォルダをクリックすると、右側のファイル一覧にwp-config.phpがあります。

wp-config.php

①wp-config.phpを右クリック → ②ファイル編集 → ③ACE Editor の順にクリックします。

WordPressファイルの編集

wp-config.phpの編集画面になります。
下図の例でいうと、23行目のdefine( 'DB_NAME', 'XXXXXXXXX' ); を編集します。
define( 'DB_NAME', 'XXXXXXXXX' ); の、XXXXXXXXXの部分がバックアップ前のデータベース名になっているので、バックアップ後のデータベース名に変更します。

ここでは先ほど変更したネームタグではなく、データベース名を入れてください
下図でいうと、「データベース名」に記載されているものです。

データベースのネームタグを変更

編集が終わったら、「保存して閉じる」をクリックします。

wo-config.phpの編集保存

さて、これでデータベースの復元ができたので、WordPressにログインしてみました。
結果は、またしてもだめでした。
ログインできていた日の状態にまで戻したのに、どうしてでしょうか???

万策尽きて3日目の作業を修了。

いよいよWordPressの再インストールを検討し始めました。

4日目にプラグインのSiteGuardを無効にしてみた

朝からWordPressの再インストール方法を調べ始めました。
でも、やはりうまくいかなかったときのことが心配で不安です。
最後にもう一度、WordPressのログイントラブルについて検索してみると、プラグインのSiteGuardが邪魔していたという事例が見つかりました。
そこでダメ元でSiteGuradの無効化をしてみました。
Conoha Wingのファイルマネージャから 「public_htmal」→「サイトドメインのフォルダ」→「wp-content」→「plugins」→「siteguard」を選び、右クリックで「リネーム」を行い、「siteguardx」に変更しました。

プラグインSiteGuardのリネーム

すると、やっとのことでログインできるようになりました。

まとめ

あしかけ3日半にわたるWordPressログイン障害の対応経過をまとめました。
同じ悩みを持っている人の一助となれば幸いです。

結論としてはプラグインのSiteGuardが邪魔をしていたということになります。
でも、2日目にプラグイン全体の無効化をしたときには解決しなかったので、それだけが原因とも思えません。
いろいろやってきたことのどれかと合わせて、解決につながったと考えています。
ソフィーの推測としては、別のプラグインのJetPackと干渉していたか、連携しているブログサイトのWordPress.comと干渉していたかのどちらかではないかと考えています。
でもそれは推測の域を出ないので、参考にはなりません。

3日半かけて自由時間のほとんどをこの作業に費やしてきました。
解決策としては無駄なこともあったと思いますが、今回の作業を通じて以下のことがわかるようになりました。
初心者ブロガーとして一定の学びがあったということで、無駄ではなかったと思います。

  • WordPressのファイル構成
  • WordPressのファイル編集、ファイル名変更の方法
  • phpMyAdminの使い方とデータベースの操作方法
  • WordPress.orgとWordPress.comの違い
  • FTPソフトの使い方

また、時間をかけてブログをまとめる過程にも多くの学びがありました。
問題は起きないに越したことはありませんが、問題が起きたとしてもそれをプラスにできるということも、ブログの運営を通じて学びました。

-WordPress
-