2008年5月30日金曜日

ApacheMap

最近、玄箱のSambaサービスを切ってただのWebサーバーになってます。たまたまOpenTechPressを見てて、面白そうなソフトを見つけたので、玄箱に導入してみました。

ApacheMap
http://opentechpress.jp/developer/08/05/26/0125201.shtml

このソフトは、Apacheのログに記載されたIPを元にして、どこからアクセスがあったのかGoogle Map上にプロットするというもの。IPから緯度経度情報を戻してくれるサービスhostip.infoを利用しているようです。IPと緯度経度を関連付けは、ユーザーの好意に頼っているようなのでログに合っても表示されないものもあります。登録数が少ないためほとんど米国のみです。
下記のURLにて動作デモしています。
http://rep2.clear-net.jp/

導入方法
Apache MapはPerlで作られていて、玄箱にはPerl 5.6が入っているので動作可能です。ただし、いくつかモジュールが足りないといわれるので、追加で入れてやる必要がありました。

足りないと言われるもの
・HTTP::Request::Common
http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/libwww-perl-5.812.tar.gz
・URI
http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/URI-1.36.tar.gz
・YAML
http://www.yaml.org/

これらをダウンロードして、/usr/local/lib/perl/5.6.1/ にまとめて放り込んでやりました。

使用方法
・あらかじめGoogle Mapに登録して、APIキーを取得しておきます。
http://code.google.com/apis/maps/signup.html
・apache-geo-map.plを動作させると、data.xml というIPから緯度経度情報の変換結果ファイルが出力されます。
・apachemap.htmlに取得したAPIキーを埋め込みます。
・data.xmlを付属のapachemap.htmlと同じディレクトリに配置して、ブラウザで開くと、Google Mapに表示されます。