summaryrefslogtreecommitdiff
path: root/doc/outdated/geoip.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/outdated/geoip.txt')
-rw-r--r--doc/outdated/geoip.txt148
1 files changed, 148 insertions, 0 deletions
diff --git a/doc/outdated/geoip.txt b/doc/outdated/geoip.txt
new file mode 100644
index 00000000..a3d39bc3
--- /dev/null
+++ b/doc/outdated/geoip.txt
@@ -0,0 +1,148 @@
+{{{
+#!rst
+==============================
+ip based geographic lookups...
+==============================
+
+-----------------
+Module: mod_geoip
+-----------------
+
+
+
+.. contents:: Table of Contents
+
+Requirements
+============
+
+:Packages: GeoIP C API & Library (http://www.maxmind.com/download/geoip/api/c/)
+
+Overview
+========
+
+mod_geoip is a module for fast ip/location lookups. It uses MaxMind GeoIP /
+GeoCity databases.
+If the ip was found in the database the module sets the appropriate
+environments variables to the request, thus making other modules/fcgi be
+informed.
+
+.. note::
+
+ Currently only country/city databases are supported because they have a free
+ version that i can test.
+
+Configuration Options
+========================
+
+mod_geoip uses two configuration options.
+
+1) geoip.db-filename = <path to the geoip or geocity database>
+2) geoip.memory-cache = <enable|disable> : default disabled
+
+if enabled, mod_geoip will load the database binary file to
+memory for very fast lookups. the only penalty is memory usage.
+
+.. note::
+
+ mod_geoip will determine the database type automatically so if you enter
+ GeoCity database path it will load GeoCity Env.
+
+Environment
+===========
+
+Every database sets it's own ENV:
+
+GeoIP (Country):
+----------------
+
+::
+
+ GEOIP_COUNTRY_CODE
+ GEOIP_COUNTRY_CODE3
+ GEOIP_COUNTRY_NAME
+
+GeoCity:
+--------
+
+::
+
+ GEOIP_COUNTRY_CODE
+ GEOIP_COUNTRY_CODE3
+ GEOIP_COUNTRY_NAME
+ GEOIP_CITY_NAME
+ GEOIP_CITY_POSTAL_CODE
+ GEOIP_CITY_LATITUDE
+ GEOIP_CITY_LONG_LATITUDE
+ GEOIP_CITY_DMA_CODE
+ GEOIP_CITY_AREA_CODE
+
+Examples
+========
+
+mod_geoip + php
+---------------
+
+when using fastcgi (not only php) you can access mod_geoip env and do as you
+please. this example just prints all mod_geoip envs to the client, html.
+
+Config-file ::
+
+ geoip.db-filename = "/your-geoip-db-path/GeoCityLite.dat"
+ geoip.memory-cache = "enable"
+
+index.php ::
+
+ <?php
+ $country_code = $_SERVER['GEOIP_COUNTRY_CODE'];
+ $country_code3 = $_SERVER['GEOIP_COUNTRY_CODE3'];
+ $country_name = $_SERVER['GEOIP_COUNTRY_NAME'];
+
+ $city_region = $_SERVER['GEOIP_CITY_REGION'];
+ $city_name = $_SERVER['GEOIP_CITY_NAME'];
+ $city_postal_code = $_SERVER['GEOIP_CITY_POSTAL_CODE'];
+ $city_latitude = $_SERVER['GEOIP_CITY_LATITUDE'];
+ $city_long_latitude = $_SERVER['GEOIP_CITY_LONG_LATITUDE'];
+ $city_dma_code = $_SERVER['GEOIP_CITY_DMA_CODE'];
+ $city_area_code = $_SERVER['GEOIP_CITY_AREA_CODE'];
+
+ echo "<html>\n<body>\n\t<br>\n";
+ echo 'Country Code: ' . $country_code . '<br>';
+ echo 'Country Code 3: ' . $country_code3 . '<br>';
+ echo 'Country Name: ' . $country_name . '<br>';
+ echo '<br>';
+ echo 'City Region: ' . $city_region . '<br>';
+ echo 'City Name: ' . $city_name . '<br>';
+ echo 'City Postal Code: ' . $city_postal_code . '<br>';
+ echo 'City Latitude: ' . $city_latitude . '<br>';
+ echo 'City Long Latitude: ' . $city_long_latitude . '<br>';
+ echo 'City DMA Code: ' . $city_dma_code . '<br>';
+ echo 'City Area Code: ' . $city_area_code . '<br>';
+ echo "</html>\n</body>";
+ ?>
+
+country based redirect
+----------------------
+
+Config-file ::
+
+ $HTTP["host"] =~ "www.domain.com" {
+ url.rewrite = ( "" => "/redirect.php")
+ }
+
+redirect.php ::
+
+ <?php
+ $country_code = $_SERVER['GEOIP_COUNTRY_CODE'];
+ header ('Location: http://' . $country_code . '.domain.com/');
+ ?>
+
+.. note::
+
+ Currently it is not possible to redirect based on mod_geoip directly in
+lighttpd config file. But i believe with the release of lighttpd mod_magnet
+it would be. (mod_magnet will be available in lighttpd 1.4.12+)
+
+Downloads
+=========
+mod_geoip.c (http://trac.lighttpd.net/trac/attachment/wiki/Docs/ModGeoip/mod_geoip.c)
+}}}