Cronでgeoipupdateを1か月の1回くらい?実行している際、よくよくログを見てみるとアップデートできずにコケていたというもの。
原因はモジュールとしての
「geoipupdate」のバージョンと、「GeoLite2」のアカウント認証。
まぁエラーまんまの状況。
いつ更新されたのかは定かではないけど、昔はアカウントID「0」で認証キーを「000000000000」にしておけば認証が通っていたものが、それを許可しなくなった。
要するに提供元のmaxmindからすると、「GeoLite2のモジュール更新とアカウント取得を実施しないと今後更新できませんよ」とのことらしい。
maxmind+geoLite2のアカウント取得



上記の画像のとおりできるのかどうかわからないけど、
私はこれでうまくログインできるようになった。
GeoLite2のキーコード発行



この段階で、
自動更新に必要な情報が羅列されたテキストをダウンロードできる
はず。
ちなみに発行段階でライセンスキーコピーしておかないと、もう二度とコピーできない。(再発行しないといけなくなる)そんなに手間でもないけど、一日に発行できる数には限りがあるみたいなので注意。
Linux側の設定(apt)
まず、maxmind提供の「geoipupdate」モジュールを更新しないといけない。
ここ最近で急激にリビジョンが上がっているため、ある程度のバージョンに上げないと認証が通らないらしい。
更新を実施するために、maxmindのリポジトリを追加。
sudo add-apt-repository ppa:maxmind/ppa sudo apt-get update
上記を実施した状態で「sudo apt-get install geoipupdate」でもすると、おそらくver 4.5以上のものがインストールされるはず。(少なくとも3.2以上?必要)
以前のgeoipupdateの設定ファイルがどこかに設置されていれば、アップデート時に消していいかどうか聞かれる。id:0 key:0000000000000のやつはもう消し飛ばしていいけど、ほかの有料プランのやつ持ってる場合はバックアップ取っておくこと。
アップデート完了したら、geoipupdateの設定(デフォルトは/etc/GeoIP.conf)を取得したライセンスで書き換える。(特別な設定なければ、さっきダウンロードした内容をベタ貼りでOK)
sudo vi /etc/GeoIP.conf

この状態で上書き保存したあと、
通常のgeoipupdateコマンドが通ればOK。
sudo geoipupdate
この状態でまだ「Invalid License Key」みたいなエラーが出る場合は、
- 設定ファイルが別にある
- ライセンス貼り付けミス
- geoipupdateの古いバージョンが共存している
のどれかである可能性が高い。
ここまでうまくいっていれば、あとはCronなどを公式ドキュメントからパクってきてそのまま時間設定すれば更新可能。
でもこれメモってないと絶対忘れるよなぁ・・・。