IP2Location IP Geolocation Apache Module

This is an IP2Location IP Geolocation Apache Module that enables the user to identify the country, region, city, latitude, longitude, ZIP code, time zone, ISP, domain name, connection type, area code, weather, MCC, MNC, mobile brand name, elevation and usage type by IP address. It contains a demo IP2Location IP-COUNTRY BIN database which consists of real data for IP address range 0.0.0.0 to 99.255.255.255.

This database contains IP address blocks as keys and countries as values. The paid version of IP2Location database covers all IP address ranges. In general, it is more complete, faster and more accurate than using reverse DNS lookups.

Developers can download sample databases to evaluate the Apache module's functionality.

Installation
Unix/Linux
  1. Create a new folder called ip2location.
  2. Download IP2Location C library from here into the ip2location folder.
  3. Decompress C library.
    unzip master.zip
  4. Get into working directory.
    cd IP2Location-C-Library-master
  5. Start compilation.
    autoreconf -i -v --force
    ./configure
    make
    make install
  6. Download and decompress Apache module into the ip2location folder.
  7. Get into working directory.
    cd ip2location-apache-master
  8. Start compilation.
    apxs2 -i -a -L ../IP2Location-C-Library-master/libIP2Location/ -I ../IP2Location-C-Library-master/libIP2Location/ -l IP2Location -c mod_ip2location.c
  9. Add following lines into /etc/apache2/apache2.conf
    <IfModule mod_ip2location.c>
    	IP2LocationEnable On
    	IP2LocationDetectProxy <On|Off>
    	IP2LocationSetmode <ALL>
    	IP2LocationDBFile <ip2location_binary_db_file_with_fully_qualified_path>
    </IfModule>
Windows
  1. Create a new folder called ip2location.
  2. Download IP2Location C library from here into the ip2location folder.
  3. Decompress C library using 7-zip or other compression tools.
  4. Get into working directory.
    cd IP2Location-C-Library-master
  5. Start compilation.
    nmake /f Makefile.win
  6. Download and decompress Apache module into the ip2location folder.
  7. Navigate to ip2location-apache-master folder.
  8. Edit Makefile.win to change the path for C library.
    IP2LOCATION_CSRC_PATH = C:/ip2location/IP2Location-C-Library-master/libIP2Location
    IP2LOCATION_CLIB_PATH = C:/ip2location/IP2Location-C-Library-master/libIP2Location
    APACHE_INSTALL_PATH = "C:/Program Files/Apache Software Foundation/Apachex.x"
  9. Start compilation.
    nmake /f Makefile.win
  10. Copy IP2Location_apache.dll generated to the Apache modules directory.
  11. Add following lines into httpd.conf
    <IfModule mod_ip2location.c>
    	IP2LocationEnable <ON|OFF>
    	IP2LocationDetectProxy <ON|OFF>
    	IP2LocationSetmode <ALL>
    	IP2LocationDBFile <ip2location_binary_db_file_with_fully_qualified_path>
    </IfModule>
Module Settings
Name Description
IP2LocationEnable ON | OFF. Enable or disable the IP2Location Apache Module.
IP2LocationDetectProxy ON | OFF. If enabled, the module will detect the proxy IP address from X-Forwarded-For server variable. If disabled, IP address is from the REMOTE_ADDR server variable.
IP2LocationSetmode ALL | ENV | NOTES. ENV will set the environment variables; NOTES will set the Apache NOTES variables; ALL will set both the ENV and NOTES variables.
IP2LocationDBFile Full qualified path to the IP2Location BIN database file.
Sample Codes
Apache .htaccess
RewriteEngine On
RewriteCond %{ENV:IP2LOCATION_COUNTRY_SHORT} ^GB$
RewriteRule ^(.*)$ http://www.google.co.uk [L]
Apache Mod Security
SecRule ENV:IP2LOCATION_COUNTRY_SHORT "NG|VN" "deny,status:500,id:5000888,msg:'Block visitor from Nigeria and Vietnam'"
Sample IP2Location Databases (BIN)
Sample Packages - BIN File IPv4 IPv6
IP2Location DB1 Download (997.73 kB) Download (1.04 MB)
IP2Location DB2 Download (31.74 MB) Download (32.50 MB)
IP2Location DB3 Download (21.24 MB) Download (21.34 MB)
IP2Location DB4 Download (51.02 MB) Download (51.13 MB)
IP2Location DB5 Download (32.00 MB) Download (32.14 MB)
IP2Location DB6 Download (61.26 MB) Download (61.41 MB)
IP2Location DB7 Download (57.00 MB) Download (57.16 MB)
IP2Location DB8 Download (67.58 MB) Download (67.75 MB)
IP2Location DB9 Download (36.83 MB) Download (37.01 MB)
IP2Location DB10 Download (73.26 MB) Download (73.42 MB)
IP2Location DB11 Download (37.56 MB) Download (37.73 MB)
IP2Location DB12 Download (73.87 MB) Download (74.09 MB)
IP2Location DB13 Download (36.18 MB) Download (36.34 MB)
IP2Location DB14 Download (75.25 MB) Download (75.47 MB)
IP2Location DB15 Download (40.77 MB) Download (40.97 MB)
IP2Location DB16 Download (79.98 MB) Download (80.22 MB)
IP2Location DB17 Download (43.72 MB) Download (43.92 MB)
IP2Location DB18 Download (87.52 MB) Download (87.77 MB)
IP2Location DB19 Download (70.50 MB) Download (70.64 MB)
IP2Location DB20 Download (89.97 MB) Download (90.36 MB)
IP2Location DB21 Download (44.30 MB) Download (44.54 MB)
IP2Location DB22 Download (94.22 MB) Download (94.36 MB)
IP2Location DB23 Download (70.98 MB) Download (71.21 MB)
IP2Location DB24 Download (95.36 MB) Download (95.65 MB)
IP2Location DB25 Download (97.81 MB) Download (97.91 MB)
IP2Location DB26 Download (104.40 MB) Download (104.89 MB)
Pop Up Box

Discover Your User Locations

Retrieve geolocation data for FREE now!