またまた、Slimstatのお話です。
前回の記事では、Slimstatのログのアクセス元地域がUnknownになる現象とその解決策について書きました。
一旦はあれで解決したはずだったのですが、実はしばらく経ったらまた再発してしまいまして…。
少し時間がかかりましたが、再発しなくなる対処方法をやっと掴んだので、同じ現象でお困りの方はぜひ試してみてください。
Unknown、再発
対処した一ヶ月後、またUnknownに…
私が運営しているサイトではアクセス解析用のSlimstatというプラグインを入れているのですが、ある日Slimstatのアクセスログを見ると、アクセス元地域の情報がUnknownになってました。
データベースファイルの設置を済ませ、一旦は無事にアクセス元の国情報がちゃんと表示されるようになったのですが、3月上旬頃にまたUnknownに戻ってしまいました。(※2020年03月10日時点)
データベースの情報が更新されて判別できないIPアドレスが出てきたのかなーぐらいに思い、MaxMindのサイトから新しいデータベースのファイルをダウンロード。
ファイル名を修正してアップロードしようとしたら、自分のサーバーに設置してあったはずのmaxmind.mmdbのファイルが無くなっていました。
削除の操作をした覚えは無かったんですが…はて?
MaxMindのサイトから新しく入手してきた2020年3月3日時点のデータベースファイルを改めて設置したのですが、一件だけUnknownになってしまってたログは、ファイル再設置後もやはりUnknownのまま。
ちゃんと対処できてたと思ったのにダメだったのかな…と少しガッカリしつつ、でも再設置したんだからこれ以降はもう大丈夫だよねと、その日は深く考えずに終わりました。
翌月も、翌々月もまた消えた
再設置したにもかかわらず、翌月の同じくらいの日にまたUnknownの文字が。
んでDBファイルを再設置し、翌月にもまたUnknownとの再開です。
ちゃんとファイルの設置はできてるはずなのに、毎月のように再発するんですよね。
もちろん、自分でデータベースファイルの削除なんてしてません。
必要だからわざわざ手動で設置してるってのに、それを自分で消すわけないじゃありませんか。でもいつの間にか勝手に消えてるんですよ。
もー…なんなの?
解決策
毎月毎月再発するので、だんだんウンザリしてきました。
同様の事例がないかネットで検索してみても最初はなかなか見つけられなかったのですが、SlimstatのWordpressプラグイン公式フォーラム内に、全く同じ事例の報告があるのを発見。
上記のページに投稿されているedaganさんという方の書き込みが、まさに私が困っていた現象と同じ状況でした。
自分でアップロードしたmaxmind.mmdbのファイルが消えてしまうという話です。
edaganさんの投稿によれば、データベースのファイルを設置しているディレクトリのパーミッションを変更しちゃえばOKとのこと。
FTPソフトをお使いの方はソフトから、そうでない方はご自身が利用中のサーバーのブラウザ版のFTPツールから操作します。
パーミッションの変更手順
私はFTPソフトから操作したので、見本画像はFTPソフトの画面を掲載しながらご説明しますね。
まずは、ご自分のWordpressサイトをアップロードしているサーバーにFTPソフトからアクセスし、wp-content→uploadsのディレクトリまで進んでください。
※クリックで全文選択されます
wp-content/uploads
uploads内にあるディレクトリの一覧画面から『wp-slimstat』というディレクトリを探して、それを右クリック。
メニューが表示されるので、その中にある『パーミッションの変更』というのをクリックします。
パーミッションの変更ウィンドウが表示されるので、属性値の欄を『505』になるように書き換えて、OKボタンで設定を保存しましょう!
これだけです!
Slimstatのディレクトリのパーミッションを505に設定しておけば、手動で設置したはずのGeoIPのデータベースファイルがいつの間にか勝手に消されてるという事態は回避できるようになります。
対処後の経過
- 2020/8/5ファイル再設置
データベースファイル(maxmind.mmdb)を手動で設置
- 2020/9/5ファイル再設置&パーミッション変更
8/5に入手した全く同じファイルを再設置。
同じディレクトリにもう一度同じファイルを置き直したしただけなので、maxmind.mmdbファイルの日付情報は8/5のまま。
ファイル設置後、今回ご紹介した対策の通り、ディレクトリのパーミッションを505に変更。
- 2020/10/10DBファイルが消えずに残ってるのを確認
最後の再設置から約一ヶ月経ちますが、前回設置した8/5の日付のファイルが消えずにそのままディレクトリ内に残っていました。
だいたい月1でファイルが消えてたので、いつも消える頃を少し過ぎたタイミングでチェックしましたが、今回の対策後は無事にファイルが残ったままでした!
注意点
今回ご紹介している方法は公式フォーラムで紹介されていたものなので安心かとは思うですが、念のため、ひとつ覚えておいていただきたい点があります。
今回の対処方法によって何が起きているかというと、Slimstatのプラグインから使うファイルを保存しているディレクトリ(フォルダ)のアクセス権限を『読み取り専用』に変更してしまってる状態なんです。
読み取り専用ということは、Slimstatのプラグイン側の処理で新しいファイルを同じディレクトリ内に設置することはできません。読み取り専用=書き込みは不可になってるので。
ということは、既に設置済みのファイルで何か更新が必要になった場合でも、ファイルの内容を修正したり上書きしたり…という処理は拒否される状態ってことです。
今回の設定を行ったのと同じように、FTPソフトを使ったりレンタルサーバーのブラウザ版FTPツールを使えば、自分の手で操作してSlimstat用のディレクトリ内にファイルを追加したり削除したり、ファイルの中身を編集して上書き保存することはできます。
でもSlimstatのプラグイン更新があったときなどにファイルの修正が必要になったとしても、プラグインやWordpress側から何か手を加えることはできないので、それが原因で何かトラブルが起きる可能性もゼロではありません。
まぁ、今回設定を変更したディレクトリはGeoIPのデータベースファイルとブラウザ識別に使うファイル(MozEscape)を置いておく専用になってるみたいなので、おそらく大きなトラブルには発展しないだろうと思うのですが…
ちょっとイレギュラーな対応をしてるわけなので、今回の対処法によってディレクトリが読み取り専用になっていることは、念のため認識しておいていただきたいと思います。
まとめ
一度は解決したと思った、Slimstatのアクセス元Unknown現象。
何度も再発していい加減イヤになってきていましたが、無事に対処法が見つかってよかったです。
自分でファイルの削除をしてないのに勝手に消えてるっていうのは未だに理由がわかりませんが、今度こそ本当に、アクセス元Unknown現象は解決できたと思います。
そうであってくれなきゃ困るよ…。
この解決策の情報が、同じ現象でお困りの方のお役に立てば幸いです。