首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mod_geoIP安装帮助?

mod_geoIP安装帮助?
EN

Stack Overflow用户
提问于 2011-11-28 16:38:23
回答 1查看 1.3K关注 0票数 5

我正在根据这些mod_geoIP为cpanel安装使用说明 (不太详细,因此这个问题)

现在,我已经按照指示安装了模块。我还下载了GeoLite国家的csv文件。我有遗漏什么吗?

我认为下一步是为允许的国家创建.htaccess文件中的条目,如下所示:

代码语言:javascript
复制
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

看上去我漏掉了什么吗?还有什么方法来测试这个吗?

EN

回答 1

Stack Overflow用户

发布于 2012-05-19 06:41:05

我知道你的问题有点老,但无论如何也需要一个答案。

我认为您所做的唯一错误就是必须使用二进制DB文件,而不是CSV文件。

如果使用基于Debian的发行版,请执行以下操作:

  1. 安装Apache2和mod_geoip:sudo apt-get install apache2 libapache2-mod-geoip
  2. 下载其中一个:
    • GeoLiteCountry (仅限于国家一级的详细信息):sudo wget -O /etc/apache2/GeoIP.dat.gz http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
    • GeoLiteCity (国家、州和市一级的详细信息):sudo wget -O /etc/apache2/GeoIP.dat.gz http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

  1. Gunzip it:sudo gunzip /etc/apache2/GeoIP.dat.gz
  2. 编辑适当的主机文件:sudo nano /etc/apache2/sites-available/default (或任意您想要的)
  3. 在该文件中插入以下内容: GeoIPEnable On GeoIPDBFile /etc/apache2/GeoIP.dat
  4. sudo service apache2 restartsudo invoke-rc.d apache2 restart
  5. 然后在Apache2或您喜欢的编程语言中使用ENV变量。

如果存在geoip-bin包,您可能可以使用它而不是在步骤2中下载它。我还没有使用它,所以我不确定该文件的路径是什么。

上面的步骤给出了这些ENV变量:

代码语言:javascript
复制
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       78218
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8299092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档