Installing mod_geoip for Apache2 On Ubuntu 9.10

Want to support HowtoForge? Become a subscriber!
 
Submitted by falko (Contact Author) (Forums) on Thu, 2010-01-28 12:24. :: Ubuntu | Apache

Installing mod_geoip for Apache2 On Ubuntu 9.10

Version 1.0
Author: Falko Timme <ft [at] falkotimme [dot] com>
Follow me on Twitter
Last edited 01/08/2010

This guide explains how to set up mod_geoip with Apache2 on an Ubuntu 9.10 system. mod_geoip looks up the IP address of the client end user. This allows you to redirect or block users based on their country. You can also use this technology for your OpenX (formerly known as OpenAds or phpAdsNew) ad server to allow geo targeting.

I do not issue any guarantee that this will work for you!

 

1 Preliminary Note

I'm assuming that you have a running Ubuntu 9.10 system with a working Apache2, e.g. as shown in this tutorial: The Perfect Server - Ubuntu Karmic Koala (Ubuntu 9.10) [ISPConfig 2].

Because we must run all the steps from this tutorial with root privileges, we can either prepend all commands in this tutorial with the string sudo, or we become root right now by typing

sudo su

 

2 Installing mod_geoip

To install mod_geoip, we simply run:

aptitude install libapache2-mod-geoip

Then we open /etc/apache2/mods-available/geoip.conf 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>

Next we restart Apache:

/etc/init.d/apache2 restart

That's it already!

 

3 A Short Test

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

<html>
<body>
<?php
$country_name = apache_note("GEOIP_COUNTRY_NAME");
print "Country: " . $country_name;
?>
</body>
</html>

Call that file in a browser, and it should display your country (make sure that you're calling the file from a public IP address, not a local one).

 

4 Use Cases

You can use mod_geoip to redirect or block/allow users based on their country. You can find some useful examples for this here: http://www.maxmind.com/app/mod_geoip

If you want to use mod_geoip with OpenX/OpenAds/phpAdsNew, this PDF file has instructions for it: http://www.maxmind.com/openads_geoip.pdf

 

5 Links


Please do not use the comment function to ask for help! If you need help, please use our forum.
Comments will be published after administrator approval.
Submitted by Guillermo Mansilla (not registered) on Wed, 2010-02-24 07:32.

When you say

 "Call that file in a browser, and it should display your country (make sure that you're calling the file from a public IP address, not a local one)."

 Does it mean I wont be able to get Location from visitors using a wireless router with ip address like 192.168.x.x ???

 It is rare because When I visit the tutorial http://www.netdip.com/installing-the-maxmind-geolite-city-binary-database-and-the-mod-geoip-module-for-apache2-on-ubuntu-linux-2s/ 

 it shows my location, but when I follow that tutorial and try to visit my own server (I am behind a wireless router) I get no data.

Submitted by DUCKFACE (registered user) on Thu, 2010-01-28 21:25.
mod_geoip not working with suphp