2011-11-28 30 views
5

Tôi đang cài đặt mod_geoIP cho cpanel dựa trên những instructions này (không phải rất chi tiết, do đó câu hỏi này)mod_geoIP cài đặt trợ giúp?

Tại thời điểm này, tôi đã cài đặt mô-đun theo hướng dẫn. Tôi cũng đã tải xuống tệp csv cho Quốc gia GeoLite. Tôi có thiếu gì không?

tôi giả sử bước tiếp theo là để tạo ra các mục trong tập tin .htaccess của tôi cho các nước cho phép như vậy:

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 

Liệu nó trông giống như tôi là thiếu gì không? Ngoài ra còn có một cách để kiểm tra điều này?

+0

này không hoạt động? –

+0

Bạn có thấy GEOIP_COUNTRY_CODE đang được đặt không? Ví dụ: sử dụng $ _ENV ["GEOIP_COUNTRY_CODE"] là một số tệp php. – Gerben

Trả lời

1

Tôi biết rằng câu hỏi của bạn hơi cũ nhưng vẫn có thể sử dụng câu trả lời.

Tôi nghĩ rằng điều duy nhất bạn đã làm sai là bạn phải sử dụng tệp nhị phân DB không phải tệp CSV.

Nếu bạn đang sử dụng một bản phân phối Debian-based, làm điều này:

  1. Cài đặt Apache2 và mod_geoip: sudo apt-get install apache2 libapache2-mod-geoip
  2. Tải một trong những:
  3. gunzip nó: sudo gunzip /etc/apache2/GeoIP.dat.gz
  4. Chỉnh sửa file host thích hợp: sudo nano /etc/apache2/sites-available/default (hoặc bất cứ bạn muốn)
  5. Chèn đoạn mã sau vào tập tin đó:
    GeoIPEnable On
    GeoIPDBFile /etc/apache2/GeoIP.dat
  6. sudo service apache2 restart hoặc sudo invoke-rc.d apache2 restart
  7. Sau đó sử dụng Các biến ENV trong Apache2 hoặc ngôn ngữ lập trình yêu thích của bạn.

Nếu gói geoip-bin tồn tại, bạn có thể sử dụng nó thay vì tải xuống ở bước 2. Tôi chưa sử dụng, vì vậy tôi không chắc chắn về đường dẫn của tệp đó.

Các bước trên cho tôi những biến 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  78218 
Các vấn đề liên quan