IPアドレスからアクセス元の国を知りたいという要望があり、PHPで実現する事に。
調べたらGeoIPとういのがあるのでこれをインストール
テスト環境(CentOS6.3)にはgccすら入っていない状況だったので1からすべてインストール
1. gccインストール
# yum install gcc
2.peclインストール
# yum install php-pear
3.phpizeインストール
# yum install php-devel
4.sorceforge設定
# vi /etc/yum.repos.d/rpmforge.repo
ファイルは以下の内容を記述する
[rpmforge] name = Red Hat Enterprise $releasever - RPMforge.net - dag mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge enabled = 0 gpgcheck = 0
5.geoipインストール
# yum --enablerepo=rpmforge install re2c geoip geoip-devel
6.phpにもインストール
# pecl install geoip
php.iniに以下を追加
extension=geoip.so
7.データファイルを設置
GeoIPで使用するデータファイルをサーバに設置する。
このファイルがないとPHPで関数を使用したときエラーになった
# cd /usr/share/GeoIP/ # wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz # gunzip GeoLiteCity.dat.gz # mv GeoLiteCity.dat GeoIPCity.dat