Install GeoIP C API
Change 1.4.8 to downloaded version.
cd /usr/local/src
wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP.tar.gz
tar zxvf GeoIP.tar.gz
cd GeoIP-*
./configure
make
make check
make install
Install PHP PECL extension
pecl install geoip
Find php.ini
php -i | grep php.ini
Enable extension to load in php.ini:
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
extension=geoip.so
You may need to restart HTTP server (apache) to apply changes.
Download Geo Lite City database
cd /usr/local/src
wget -N -q http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gunzip GeoLiteCity.dat.gz
mv GeoLiteCity.dat /usr/local/share/GeoIP/GeoIPCity.dat
For more accurate detection and production projects, buy the full GeoCity database from MaxMind.