[インフラ] IPアドレスから地域情報を得るには (GeoIP)

ある会員制サイトでどの国からのアクセスによってコンテンツをダイナミックに変更したいというニーズあり。IPアドレスで振り分けるしかないのだけど、プロキシが利いていれば正確ではないこともありえる。その点理解してもらったうえでIPアドレスから国への変換を行うために、GeoIPをサーバーにインストール。以下インストールの覚え書き。

GeoIPとは

GeoIPはMaxMindが提供するIPアドレスの位置情報データベース。データベースとウェブサービスがそれぞれ有料で提供されている。無料のGEOロケーションデータも配布されているので、これを自前のウェブサーバーで使うことも可能。でも、IPアドレス割り当ては日々変化しているだろうから、正確な判定が必要ならば有料データを定期的に更新しながら使うべきだろうな。

MaxMind – IP Geolocation and Online Fraud Prevention
http://www.maxmind.com/en/home

mod_geoip2 Apache module « Maxmind Developer Site
http://dev.maxmind.com/geoip/legacy/mod_geoip2/

インストール手順

やってみるとインストールは結構簡単。

geoipのツールは/usr/local/binに、データベースは/usr/local/share/GeoIPにインストールされる。ちゃんと動くかどうか、コマンドラインでテスト。

ちゃんと動いたので、Apacheで使えるようにモジュールをインストール。

以下フォルダを確認してモジュールが存在するかチェック。

問題なさそうなので、.htaccessで有効化しておく。

Apacheを再起動する必要あるか?念のため。

参考サイト

GeoIPのインストール | Read it later.
http://readit.l8r.in/2013-02-22/geoip%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/

雑記: GeoIPでアクセス制御 – ng-circuit.net
http://www.ng-circuit.net/tbox/6-2013-05-03-geoip