今回はWordpressをバックアップから復元したらログインできなくなった場合に確認することを紹介します。
最近WordPressの修正に携わったのですが、自分の知識不足を痛感しています。
AWSのEC2にデプロイされたWordpressを修正するにあたってnginxの設定ファイルを確認することになり、サーバーサイドに対する自分の知識不足を痛感しました。ある程度は知識として知っておく必要があると感じたので、勉強、実践の毎日です。
知識不足を痛感した後に襲ってきたのは、バックアップ復元後にWordPressの管理画面にログインするページがNot Foundになるという悲劇。ページにアクセスしても、デザイン総崩れのHTMLのみでかかれたようなページが表示されます。
今回はこのようなWordpressをバックアップから復元したらログインできなくなった場合に確認することを紹介します。
WordPressとは
WordPressは世界中の多くの個人、会社に利用されている無料のホームページ、ブログ作成ソフトです。会社のホームページから個人のブログ、ECサイトまで作成することが可能です。初心者でも簡単に個人のブログを作成できることが強みです。
シェア率は全世界のウェブサイトの半分に迫る勢いです。
もちろんこのブログもWordPressです。
WordPressのバックアップ
WordPressは、万が一に備えて定期的にバックアップすることが常識です。
・バージョンアップによるエラー
・カスタマイズをして元の状態にもどせなくなる
・レンタルサーバーでの予期せぬエラー
など様々な原因で、長い時間をかけて作成したブログがなくなったり、表示が崩れてしまうことがあり得ます。
また、サーバー移行の際もバックアップは日必要な作業の1つです。ディレクトリごと移行してもいいですが、設定ファイルなどもあるので復元のことを考えると下のプラグインがおすすめです。
今回の事象
レンタルサーバーにあったWordPressのバックアップを取得し、AWSのEC2上に準備していたWordPressにそのバックアップを復元した後に、管理画面にログインするページがNot Foundになりました。詳しく書くと、以下の通りです。
①サブディレクトリ構成のWordPressにバックアップの復元を行った。
②事情があり複数回バックアップを復元した。一度目はうまくバックアップを復元できたが、二度目がバックアップを行うと今回の事象が確認された。
③管理画面にログインするページがNot Foundでアクセスできなくなった
④ブログのページにアクセスしても、デザイン総崩れのHTMLのみでかかれたようなページが表示さる
デザイン総崩れのHTMLのみでかかれたようなページというのは下に示す画像のような、cssもjsも一切効いていないようなページです。
サブディレクトリ構成とは
WordPressファイルの管理のしやすいようにすることを目的に、サブディレクトリにWordPressをインストールする構成があります。今回はこの構成でした。
原因
上記の事象を再現するために、AWSで同じ環境を作成しいろいろ試した結果、サイトアドレスとWordPressアドレスが間違っていたことが原因の1つであると考えられます。これらの違いは、以下の通りです。
WordPressアドレス(URL) : WordPressをインストールした場所
サイトアドレス(URL) :そのWordPressにアクセスするためのアドレス
WordPressをサブディレクトリ構成にするときに変更する部分です。
この設定がバックアップを復元するときに何らかの影響で正しく設定されていなかったことで今回の事象は引き起こされたと考えられます。
解決策
原因は上に示した通りなので、解決策を紹介します。
前提としてWordPressの管理画面にログインできない状況だとします。
WordPressの管理画面にログインできないので、データベースを直接編集する方法を紹介します。phpファイルを編集する方法もありますが、データベースを直接編集する方法が確実です。
データベースを操作する方法については、それぞれのレンタルサーバーごとに紹介されている方法を参考にしてください。phpMyadminというワードがでてきますが、これはデータベースを簡単に操作するためのものです。
またphpMyadminにログインする際にユーザー名とパスワードが必要になりますが、「wp-config.php」というファイル内に全て記載されているんで、ユーザー名とパスワードを設定した覚えがなくても大丈夫です。参考:https://www.nishi2002.com/18524.html
・XserverでWordPressのデータベースを操作する方法の記事
・ConoHa WingでWordPressのデータベースを操作する方法の記事
・さくらサーバーでWordPressのデータベースを操作する方法の記事
・ロリポップでWordPressのデータベースを操作する方法の記事
今回はサイトアドレスとWordPressアドレスの設定を変更します。
phpMyadminにログインすると下の画像のように左側に「wp_???」の文字が連なっています。これらがデータベースの中にあるテーブルというものです。
その中から、下の画像①のように「wp_options」を選択します。すると下の画像②のように「site_url」「home」「blogname」「blogdescription」などが確認できます。
今回編集するのは、「site_url」です。このsite_urlというのがWordPressのインストールした場所を示すものなのですが、ここの設定が間違っていると今回のような現象がおこります。
詳しく説明しようとすると、ドメインやサーバーサイドの話もでてくるので省きますが、簡単に言うとhomeの場所を確認しに行くと、「site_urlの場所にWordPressがあるよ」と教えられているイメージです。
この設定に基づいてcssやjsの読み込み、ログインページの場所が設定されます。なので「site_url」の設定が間違っていると、ログインするページがNot Foundになったり、、デザイン総崩れのHTMLのみでかかれたようなページが表示されるのです。
まとめ
今回はWordpressをバックアップから復元したらログインできなくなった場合に確認することを紹介しました。原因の1つとしてWordPressアドレスが間違っていたことがあげられます。その解決策としてデータベースを直接編集する方法を紹介しました。よくわからない点があればFollow @halkumlmanにお願いします。
コメント