この前、WordPressのSSL化を行った際に、WordPress アドレス (URL) に意図せず文字が入っていることに気づかず設定保存し、管理画面に入れなくなり焦りました。
ただ、SSH接続は可能でしたので、設定の復元方法を含め説明したいと思います。
WordPress アドレス (URL) の設定箇所と説明
WordPressの設定で基本的なドメイン名を設定し運用するのですが、設定がややこしい場合はミスを誘発してしまいます。
WordPressアドレス(URL) とサイトアドレス(URL) は似ているようで違うようです。
どうやら2つの違いは、次のとおりと解釈しても問題ないみたいです。
- WordPressアドレス(URL) ・・・ WordPressをインストールした場所
- サイトアドレス(URL) ・・・ WordPressにアクセスするためのアドレス
簡単に表現すると、WordPressアドレス(URL) は大元の所在地で、サイトアドレス(URL)はユーザがアクセスする窓口です。
ブログでURLを変更する場合は「サイトアドレス(URL) 」を編集したらよいことになります。
根本原因はデータベースの不整合が起きたため
ログインできない際に初めは何かしらのファイルの不整合かなと思いましたが、WordPressの設定はデータベースに格納されているので、DBデータを変更しない限りログインできません。
暫定的な方法として、WordPressの設定ファイル(wp-config.php)を編集して行う方法もあるようです。
この場合、テーマの更新・変更で初期化し、再度ログインできない可能性があります。
DBデータの書き換えて復元する。
WordPressアドレス(URL) のデータ箇所を編集して管理画面にアクセスできるようにする方法を記載します。Apache+MariaDBのVPSでの基本的な構成としています。
データベースに接続
ターミナルソフト起動し、VPSへSSH接続します。
Mysql コマンドで、パスワードを入力しデータベースに接続します。
※パスワードは、提供するVPSによってはデフォルトパスワードの可能性があります。
mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 3348 Server version: 5.5.37-MariaDB MariaDB ServerCopyright (c) 2000, 2014, Oracle, Monty Program Ab and others. |
DB接続、確認
データベースに接続できましたら、テーブルを確認してみます。wordpress というのがターゲットとなるデータベースです。
WordPress テーブを利用するようデータベースを変更します。
MariaDB [(none)]> show databases; +——————–+ | Database | +——————–+ | information_schema | | mysql | | performance_schema | | test | | wordpress | +——————–+ 5 rows in set (0.02 sec)MariaDB [(none)]> use wordpress 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 MariaDB [wordpress]> |
テーブル検索
テーブルの中で wp_options というテーブルが WordPress の WordPressアドレス(URL) を保持しています。変更してしまったURLを確認してみましょう。
MariaDB [wordpress]> SELECT option_id,option_name,option_value FROM wp_options WHERE option_name = “siteurl” +———–+————-+—————————–+ | option_id | option_name | option_value | +———–+————-+—————————–+ | 1 | siteurl | “変更前のURL” | +———–+————-+—————————–+ 1 row in set (0.00 sec) MariaDB [wordpress]> exit |
テーブルデータ書き換え
テーブル内の id=1 のデータを書き換えます。siteurlの値が間違っていますので、テーブルをSQLコマンドでアップデートします。
MariaDB [wordpress]> UPDATE wp_options SET option_value=”変更後のURL” WHERE option_name = “siteurl” +———–+————-+———————————+ | option_id | option_name | option_value | +———–+————-+———————————+ | 1 | siteurl | “変更後のURL” | +———–+————-+———————————+ 1 row in set (0.00 sec) MariaDB [wordpress]> exit |
確認
これでデータベースのデータ整合性が取れ、正常にWordPressへログインできるようになると思います。
管理画面に接続して、正常にログインできることを確認します。