WordPressログイン画面にGoogle Authenticatorプラグイン追加

ログイン画面のセキュリティに多要素認証の実装されている事がよく見かけると思います。
金融関係はほぼやってない所はないんじゃないでしょうか。
仮想通貨取引所等でもほぼやっていますし、多要素認証は絶対にやっていたほうがいいです。

今回は簡単ですぐに導入ができるGoogle AuthenticatorプラグインをWordpressに導入する方法を紹介します。

wordpressのセキュリティ対策のプラグインは多数ありますが、自分のスマートフォンで手軽に認証ができるGoogle Authenticatorはお勧めです。
設定も非常に簡単です。
私はマルチサイトにしているのでマルチサイトで有効化するやり方を書きますが、ほとんどシングルサイトと同じです。

Google Authenticatorプラグインのインストール

まずはWordpressのサイトネットワーク管理のダッシュボードに移動します。
シングルサイトはそのままダッシュボードでOK。

プラグインの新規追加のタブをクリック

プラグインの追加画面でキーワード検索に「Google Authenticator」と入力します。
ここで結構色々でてきますが「Google Authenticator」とだけ記載されているものをインストールします。
インストール後にマルチサイトで有効化とでるので有効化までします。

インストールされるとユーザーのプロフィール画面にGoogle Authenticator Settingsが追加されています。

activeにチェックを入れて有効化します。ここをチェックしなければ有効になりません。
初めてで設定ミスとか怖い場合は別にユーザーを作ってそちらで実施するのがお勧めです。

Descriptionについてはアプリ側の表示名になるので分かりやすい名前にする事がお勧めです。

Secretがいわゆる認証キーになります。
表示されている英数字を直接アプリに打ち込んでもいいですが「show/Hide QR code」でQRコードが表示されるので
スマホのアプリで読み取るほうが簡単です。

wordpressの手動更新

サーバーのミドルウェアまで面倒みているとwordpressを手動更新する機会はほとんどないのですが、ビックリするぐらい古いミドルウェアを使っていてバージョンアップもままならないものがあったりします。

そこで手動でバージョンアップをしてみたので方法を記録します。

とりあえずバックアップを取ります。

ファイルは全て、データベースは取りませんでした。(日次でバックアップされているので)

まあ、DBはとりあえずWPで使っているDBの全テーブルのdumpとっておけばいいかと思います。

プラグインを停止します。

止まらないプラグインもあるのでそればスルーする感じで

新しいコアファイルをダウンロード、今回は4.9です。

下記3つのファイルを残して全て削除、ただしWP以外でバックアップ用にとかでリネームしておいたファイルがあればそれも消さないように注意が必要です。

・「wp-config.php」

・「.htaccess」

・「wp-contentフォルダ」

削除できたら最新のWordPressコアファイルのうち下記をアップロードします。

・「wp-adminフォルダ」

・「wp-includesフォルダ」

・「wp-config-sample.php」以外のファイル

 

次に「wp-content」フォルダ内の下記ファイルを削除します。

「languagesフォルダ」

削除したらWordPressコアファイルから同じものをアップロードします。

ファイルをアップロードできたら管理画面にアクセスします。(wp-admin/)
すると「データベースの更新が必要です」と表示されるので「WordPressデータベースを更新」をクリックします。

 

これだけです。

とても簡単ですがバックアップとか取っていないと万が一の時にサイトが復旧できなくなるので簡単だからといって甘く考えてはいけないですよ。

 

Google Analytics タグ設置

HPを運用しているかたはほとんど何からのPV数などを計測するツールを入れているかと思います。

その中で一番ポピュラー(個人的見解)のGoogleAnalytics(GA)のタグ設置についてwordpressでちょっといつもと違う設置をしたので記載します。

一般的な流れは下記のような感じだと思います。

GAにアカウント登録→トラッキングIDの発行→トラッキングコードのタグをhtmlファイルに記載する

テストでカウンターがあがればOK

私は大体<body>の直後に入れています。

wordpressならプラグインとかでてるだろうと調べたらやはりいくつかありました。

その中で「All in One SEO pack」という プラグインを使いました。

導入方法はすごく簡単です。

プラグインで「All in One SEO pack」で検索するとヒットするのでインストールするだけです。

All in One SEO Packの「今すぐインストール」ボタンを押します。

インストール完了後に表示される、「プラグインを有効化」リンクをクリックして有効化します。

有効化されると管理画面メニューに「All in One SEO」が追加されます。

追加されたら一般設定をクリックします。

Google設定というカテゴリの中にGoogleアナリティクスIDという項目があります。
そこに「UA-********」のようなトラッキングコードを入力して一番下にある「設定を更新」ボタンをクリックして下さい。

これだけでタグ設置完了です。

 

wordpressでのDB接続エラーについて

phpバージョンアップ後にwordpressでデータベース接続確立エラーと画面に表示されてしましました。

この手の問題はDBのパスワード変更をした際にwordpressのwp-config.phpの設定ファイルのパスワードを変更し忘れた時等に起きるのですが、今回はmysqlは何も変更をしていません。

DBが壊れたのか?と考えましたがタイミング的にphpバージョンアップが起因していると思われるので調べました。

そうすると下記の事がわかりました。

・PHP5.3以降から、MySQLの古い形式のパスワードをサポートしなくなった

古い形式 : ハッシュ値の長さが16バイト

以前のPHPバージョンは5.3でしたがMySQLは古い形式のパスワードを使用していました。

解決策は簡単です。パスワードを新しい形式「41バイトハッシュ」で再作成する

取り急ぎmysql.iniでold_passwordsの値を変更します。

old_passwords=1

old_passwords=0

これで新しいパスワードは41バイトになります。

過去のパスワードはmysqlのpasswordコマンドで変更します。

パスワードの41バイトハッシュを作る

mysql> SELECT PASSWORD(‘password’);

+——————————————-+
| password(‘password’)                      |
+——————————————-+
| *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
+——————————————-+

パスワードを更新する

mysql> SET PASSEWORD FOR user@localhost = ‘*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19’;

これで完了です。

無事wordpressが表示できるようになりました。

やはりバージョンアップはちゃんと影響確認しないと駄目ですよね。

 

 

 

wordpress の表示が遅い

まだ構築して1ヶ月も経ってないですが、既にwordpressの表示がもっさりしてきました。
wordpressを高速化するツールが紹介されていたので試しに入れてみました。

DB Cache Reloaded Fix

データベースのクエリをキャッシュし高速化するプラグインで管理画面のレスポンスまで高速化してくれるそうです。

DB Cache Reloaded Fix をプラグインの新規追加から検索するとHitするのでインストールし有効化します。プラグイン有効後、ダッシュボード画面「設定」エリア内の『DB Cache Reloaded』画面に移動します。
『有効』にチェックを入れて、「保存」をクリックしてください。※そのほかの項目はひとまずそのまま

どの程度効果があるかはわかりませんが、なんとなく早くなった気がします(`・ω・´)