This is an apache2 module for finding the country that a web request originated from. It uses the GeoIP library and database to perform the lookup.This module only works on Apache 2.0.x servers.
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?
hi there im working on something like this and i cant get it work properly.
1. main server is located in london, using geoip to get continet code to show of a visitor connecting to web server. there are several web domains connecting to it as http and www as well
2. i want to incoming header and address using continent geoip code forward it to another reverse proxy located in another continent using geoip. reverse proxy has already a database of running web addresses and where to looking for files on original web server
3. i just do not know how to use header coming to main server and forward it to reverse proxy so reverse proxy would see it as coming straight to it. main server should not have a database of running web sites. just a plain redirection using geoip to reverse proxy on another continet
i know this shouldbe easy i just need help
thanx, john