Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
litespeed_wiki:cache:common:geoip-support [2020/01/16 16:22] Jackson Zhang |
litespeed_wiki:cache:common:geoip-support [2020/01/29 21:29] Lisa Clarke Corrected Brand Capitalization |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== GeoLocation support (GEOIP) for LiteSpeed Web Server ====== | + | ====== GeoLocation Support (GeoIP) for LiteSpeed Web Server ====== |
- | LSCache supports GEOIP, including MaxMind GeoIP2 database, MaxMind GeoIP Legacy Database and IP2Location DB. MaxMind discontinued Legacy databases On January 2, 2019 hence we recommend not to use it anymore. | + | LSCache supports GeoIP databases, including MaxMind GeoIP2, MaxMind GeoIP Legacy, and IP2Location. MaxMind discontinued their Legacy databases On January 2, 2019, hence we recommend you no longer use it. |
For LSWS v5.2.x and earlier, only the MaxMind Legacy Database .dat is supported. As of LSWS v5.3RC2, LSWS supports the [[https://www.maxmind.com/en/geoip2-databases|MaxMind GeoIP2 format database]], ''.mmdb''. The database path configuration is in the same location as the legacy DB (**Configuration > Server > General > General settings > IP to GeoLocation DB**), then set the database path to either ''.dat'' or ''.mmdb''. | For LSWS v5.2.x and earlier, only the MaxMind Legacy Database .dat is supported. As of LSWS v5.3RC2, LSWS supports the [[https://www.maxmind.com/en/geoip2-databases|MaxMind GeoIP2 format database]], ''.mmdb''. The database path configuration is in the same location as the legacy DB (**Configuration > Server > General > General settings > IP to GeoLocation DB**), then set the database path to either ''.dat'' or ''.mmdb''. | ||
Line 10: | Line 10: | ||
To setup and enable GeoIP on LSWS, you will need to choose one database, download and install the database to a directory, setup the database path in LSWS Admin, enable GeoIP through the Apache configuration or LSWS native, then finally run some tests. | To setup and enable GeoIP on LSWS, you will need to choose one database, download and install the database to a directory, setup the database path in LSWS Admin, enable GeoIP through the Apache configuration or LSWS native, then finally run some tests. | ||
- | ===== Download and Configure GEOIP Database Path ===== | + | ===== Map MaxMind GeoIP2 Variables to IP2Location ===== |
+ | If you have switched from the MaxMind GeoIP2 service to an IP2location database on your shared hosting server, many of your PHP scripts may still make use of the ''GEOIP_*'' environment variables ''$SERVER['GEOIP_COUTRY_CODE']'' and ''$SERVER['GEOIP_ADDR']''. Because of the nature of shared hosting servers, it is impossible to remove these environment variables or get all customers to rename them in their scripts. | ||
+ | |||
+ | Luckily, LiteSpeed Web Server handles this scenario for you. | ||
+ | |||
+ | Starting from LSWS 5.4.4 build 2, ''GEOIP_COUNTRY_CODE'' is automatically mapped to ''IP2LOCATION_COUNTRY_SHORT'' and ''GEOIP_ADDR'' is automatically mapped to ''IP2LOCATION_ADDR''. | ||
+ | ===== Download and Configure GeoIP Database Path ===== | ||
You will need to choose only one database to be used for your GeoIP: MaxMind GeoIP2, MaxMind Legacy Database, or IP2location database. Then, set up the right database path in the appropriate section in the LSWS Web Admin Console. | You will need to choose only one database to be used for your GeoIP: MaxMind GeoIP2, MaxMind Legacy Database, or IP2location database. Then, set up the right database path in the appropriate section in the LSWS Web Admin Console. | ||
Line 19: | Line 25: | ||
Let's assume that you will store the DB in ''/usr/share/GeoIP/''. | Let's assume that you will store the DB in ''/usr/share/GeoIP/''. | ||
- | Download the free database from ''https://dev.maxmind.com/geoip/geoip2/geolite2/'': | + | Starting December 30, 2019, you cannot ''wget'' the GeoLite2 database anymore. Instead, you will need to register for a MaxMind account and obtain a license key in order to [[https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases/|download GeoLite2 databases]]. |
- | wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz | + | |
- | tar -zxvf GeoLite2-Country.tar.gz | + | After download, you can unzip it: |
+ | tar -zxvf GeoLite2-Country_20200114.tar.gz | ||
Then, move the file ''GeoLite2-Country.mmdb'' to | Then, move the file ''GeoLite2-Country.mmdb'' to | ||
Line 46: | Line 53: | ||
</code> | </code> | ||
- | ==== Advanced Configuration:GEOIP2 Environment Variables ==== | + | ==== Advanced Configuration:GeoIP2 Environment Variables ==== |
The full power of GeoIP2 requires the use of environment variables in the LiteSpeed configuration. The format used is designed to be as similar as possible to the Apache ''mod_maxminddb'' environment described [[https://github.com/maxmind/mod_maxminddb|here]] ,specifically for the ''MaxMindDBEnv'' variable. Each environment variable is specified in the environment text box as one line: | The full power of GeoIP2 requires the use of environment variables in the LiteSpeed configuration. The format used is designed to be as similar as possible to the Apache ''mod_maxminddb'' environment described [[https://github.com/maxmind/mod_maxminddb|here]] ,specifically for the ''MaxMindDBEnv'' variable. Each environment variable is specified in the environment text box as one line: |