Wordpress連携ができなくなってしまった!

Wordpress のプラグインの Jetpack には Twitter Facebook更新情報を自動で投稿してくれる機能があります。

その便利な機能がパブリサイズ共有です。

ところが、ハッキングされたのを発見したことを契機に、セキュリティの設定を弄りだしてからと言うもの、Jetpack のパブリサイズ共有がおかしくなってしまいました。

自動投稿できるはずのパブリサイズ共有が機能しておらず自動投稿ができなくなってしまっていたのです。

そこで、パブリサイズ共有がおかしくなってしまった原因を調べていくうちに、どうやらJetpack 自体も正常に機能していないことに気づいた。

そこで、競合しそうなプラグイン全部停止しみたのですが、何も変わりませんでした。


Wordpress連携ができなくなった原因を探る

そんなわけで、Jetpack とJetpack のパブリサイズ共有が正常に機能しなくなった原因を探ってみることにしました。


Wordpress連携自体ができなくなっていた

Jetpack が正常に働くなった理由を探し始めてすぐに、Wordpress.comJetpack連携が切れてしまっていることに気が付きました。

これはイカンザキと言うことで、とりあえず Jetpack を正常に働かせるべく、Wordpress.com にログインしなおし、Wordpress.com と Jetpack の連携をし直そうと思いました。

しかし、どう言う訳か、Wordpress連携は上手く行きませんでした。
途中でエラーが出て停止してしまうのです。

その原因を調べていくうちに、どうやら セキュリティのために Wordpress のシステム用のファイルである xmlrpc.php へのアクセスを、htaccessファイルを使って、 自分のIPとヘテムルサーバーのIP以外拒否しているせいだと言うことに気づきました。

<files xmlrpc.php>
order deny,allow
deny from all
Allow from ***. ***. ***. *** # 自分が接続するIPアドレス
Allow from ***. ***. ***. *** # heteml FTPで利用するIPアドレス
</files>

要は、Wordpress.com との連携を要するプラグインは、Wordpress.com から xmlrpc.php などの重要なファイルへのアクセス許可されていないと正常に動かないのに、私はセキュリティのためにhtaccessファイルを使って、Wordpress.com からのアクセスを、自分のIPとヘテムルサーバーのIP以外拒否してしまっていたのです。


原因を調べるためのツール

私のやらかしたような間違いをする利用者さんが多いせいか、Jetpack では、デバッグ用のツール(ページ)が提供されています。


Debug


↑のページが Jetpack のデバックページです。
Jetpack を利用している Wordpressブログのドメイン名を入れると、自動でデバッグ(悪いところを調査)してくれます。

エラーが出る時は、サーバーのセキュリティ設定がきついせいか、私のようにアクセス制限のせいかもしれないので、一度調査してみると良いかもしれません。


セキュリティを強化したままエラーを解決する方法

上記のエラーを解決する一番の方法は、htaccessファイルの許可IPの指定を解除することです。

でも、それではセキュリティが緩くなってしまいます。
ですので、それ以外の方法で何か良い解決策はないか探してみることにしました。
すると、以下のページを発見しました。


XdomainでJetPackが使えない


どうやら、Worpdress.com には接続IPがあるようで、それを許可IPの中に加えてあげることで、Jetpack の Wordpress.com との連携を切らずに運用できるようです。

<Files "xmlrpc\.php$">
Order deny,allow
Deny from All
# whitelist jetpack
# host Automattic inc
Allow from 192.0.64.0/18
</Files>

そんなわけで、今まで使っていた自分のIP+ヘテムルFTPのIPの他に Worpdress.com のIPである Allow from 192.0.64.0/18 を、htaccessファイルに追加してみました。

追加した後の htaccess ファイルは以下の通り。

<files xmlrpc.php>
order deny,allow
deny from all
Allow from ***. ***. ***. *** # 自分が接続するIPアドレス
Allow from ***. ***. ***. *** # heteml FTPで利用するIPアドレス
Allow from 192.0.64.0/18 # Wordpress.comで利用するIPアドレス
</files>

とまあ、このようにして Wordpress.com との連携を維持しながら htaccess ファイルによる禁止IPを維持することに成功したのでした。

ちなみに、問題が解決された場合、デバッグ画面では Every thing looks great!(全ての物が良いように見える(全て良好のようです) ) と言う表示に変わります。
類似の問題でお悩みの方の解決になれば幸いです。( ´艸`)

広告