From time to time I need to install a way to accurately determine where users are located based on their header information. Thankfully there is a wonderful free database from MaxMind that gives you this ability when you install it with Apache2. Here are the steps to get it all setup on your Ubuntu (or other Linux) server.
Let’s get started! There are two different databases. One for country and one for local.
From the terminal:
Now we’ve got a folder /tmp/ with two dat files – GeoIP.dat and GeoLiteCity.dat. Copy those over to this shared folder:
cp ** /usr/local/share/GeoIP/
Next we need to install the Apache2 Module for using these databases.
sudo apt-get install libapache2-mod-geoip
And then we need to configure apache2 to actually use this module and those databases.
In the httpd.conf add the following to the end of the file:
# Activate the GeoIP module
# Specifies the location of the City database and specifies that # caching should not be performed
GeoIPDBFile /usr/local/share/GeoIP/GeoLiteCity.dat Standard
# Specifies the location of the Country database and that # caching should not be performed
GeoIPDBFile /usr/local/share/GeoIP/GeoIP.dat Standard
Finally restart Apache2 and you’re good to go!
Quesitions or problems? Leave a comment down below!