我正在根据这些mod_geoIP为cpanel安装使用说明 (不太详细,因此这个问题)
现在,我已经按照指示安装了模块。我还下载了GeoLite国家的csv文件。我有遗漏什么吗?
我认为下一步是为允许的国家创建.htaccess文件中的条目,如下所示:
GeoIPEnable On
GeoIPDBFile /path/to/GeoIPCountryWhois.csv
SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE CA AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE MX AllowCountry
Deny from all
Allow from env=AllowCountry看上去我漏掉了什么吗?还有什么方法来测试这个吗?
发布于 2012-05-19 06:41:05
我知道你的问题有点老,但无论如何也需要一个答案。
我认为您所做的唯一错误就是必须使用二进制DB文件,而不是CSV文件。
如果使用基于Debian的发行版,请执行以下操作:
sudo apt-get install apache2 libapache2-mod-geoipsudo wget -O /etc/apache2/GeoIP.dat.gz http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gzsudo wget -O /etc/apache2/GeoIP.dat.gz http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
sudo gunzip /etc/apache2/GeoIP.dat.gzsudo nano /etc/apache2/sites-available/default (或任意您想要的)GeoIPEnable On
GeoIPDBFile /etc/apache2/GeoIP.datsudo service apache2 restart或sudo invoke-rc.d apache2 restart如果存在geoip-bin包,您可能可以使用它而不是在步骤2中下载它。我还没有使用它,所以我不确定该文件的路径是什么。
上面的步骤给出了这些ENV变量:
GEOIP_ADDR 99.99.99.99
GEOIP_CONTINENT_CODE NA
GEOIP_COUNTRY_CODE US
GEOIP_COUNTRY_NAME United States
GEOIP_REGION TX
GEOIP_REGION_NAME Texas
GEOIP_CITY San Antonio
GEOIP_DMA_CODE 641
GEOIP_AREA_CODE 210
GEOIP_LATITUDE 29.488899
GEOIP_LONGITUDE -98.398697
GEOIP_POSTAL_CODE 78218https://stackoverflow.com/questions/8299092
复制相似问题