First you need to make sure you have apache2 server installed and working fine.
Installing mod_geoip in Debian etch using the following command
#aptitude install libapache2-mod-geoip
This will complete the installation
Configuring Geoip
Now you need to open /etc/apache2/mods-available/geoip.conf file and uncomment the GeoIPDBFile line so that the file looks as follows
#vi /etc/apache2/mods-available/geoip.conf
<IfModule mod_geoip.c>
GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
</IfModule>
Now you need to restart Apache using the following command
#/etc/init.d/apache2 restart
Test Geoip
To see if mod_geoip is working correctly, we can create a small PHP file in one of our web spaces (e.g. /var/www):
#vi /var/www/geoiptest.php
add the following lines and save the file
open browser http://serverip/geoiptest.php, and it should display your country.

Hey,
nice article, but it’s a bit confusing. There are way to get country data of another IPs?
I’ve installed OK on Debian 2.6.18 - no errors, and all the files appear to be in place. I’ve uncommented the /etc/apache2/modules-available/geoip.conf line
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
as mentioned here.
However running a simple PHP test script produces the output
Country name : N/A
Country code : --
So, although the module is working (the ‘N/A’ comers form it) either it really doesn’t know which country my IP is in (unlikely) or I’ve done something wrong. Anyone got any suggestions?