GeoIP

maxmind  geoip  DB    php  IP      .

 

GeoIP 安装,GeoIP yum,GeoIP apache配置

1. GeoIP C Library .(yum   )

yum

# yum install GeoIP GeoIP-devel

 

# wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP.tar.gz

# tar GeoIP.tar.gz

# cd Geoip-1.4.8

# ./configure –prefix=/usr/local/GeoIP

# make && make install

 

2.   

# wget http://geolite.maxmind.com/download/geoip/api/mod_geoip2/mod_geoip2_1.2.7.tar.gz

# tar xvzf mod_geoip2_1.2.7.tar.gz

# cd mod_geoip2_1.2.7

# /usr/local/apache/bin/apxs -i -a -L/usr/local/GeoIP/lib -I/usr/local/GeoIP/include -lGeoIP -c mod_geoip.c

* -l/usr/local…. ( I), -lGeoIP ( L)

 

chmod 755 /usr/local/apache/modules/mod_geoip.so

[activating module `geoip' in /usr/local/apache/conf/httpd.conf]

 

/usr/local/apache/modules  mod_geoip.so ,

httpd.conf  ”LoadModule geoip_module       modules/mod_geoip.so”

.

 

3. GeoIP DB 

# cd /usr/local/GeoIP/share/GeoIP

# rm -f ./GeoIP.dat (  DB  )

# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz

# gzip -d GeoIP.dat.gz

 

* GeoLiteCity DB  (php   )

# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

# gzip -d GeoLiteCity.dat.gz

# ln -s ./GeoLiteCity.dat ./GeoIPCity.dat (php   GeoIPCity.dat    GeoIPCity.dat )

 

4.      

 

# vi /usr/local/apache/conf/httpd.conf

<IfModule geoip_module>

GeoIPEnable On

GeoIPDBFile /usr/local/GeoIP/share/GeoIP/GeoIP.dat

 

<Location /image>

SetEnvIf GEOIP_COUNTRY_CODE CN go_out

SetEnvIf GEOIP_COUNTRY_CODE RU go_out

SetEnvIf GEOIP_COUNTRY_CODE TH go_out

 

<Limit GET POST>

Order Allow,Deny

Allow from all

Deny  from env=go_out

</Limit>

</Location>

</IfModule>

<IfModule geoip_module>

GeoIPEnable On

GeoIPDBFile /usr/local/GeoIP/share/GeoIP/GeoIP.dat

 

<Location /image>

SetEnvIf GEOIP_COUNTRY_CODE KR go_in

 

<Limit GET POST>

Order Deny,Allow

Deny from all

Allow  from env=go_in

</Limit>

</Location>

</IfModule>

GeoIP

<IfModule geoip_module>

GeoIPEnable On

GeoIPDBFile /usr/local/GeoIP/share/GeoIP/GeoIP.dat

</IfModule>

 

LogFormat ”%h %l %u %t ”%r” %>s %b ”%{Referer}i” ”%{User-Agent}i” %{Host}i %{GEOIP_COUNTRY_CODE}e”  geoiplog

CustomLog logs/access_log  geoiplog

5. php  GeoIP  

 

# wget http://pecl.php.net/get/geoip-1.0.8.tgz

# tar xvzf geoip-1.0.8.tgz

# cd geoip-1.0.8

# /usr/local/php/bin/phpize

# ./configure –with-php-config=/usr/local/php/bin/php-config –with-geoip=/usr/local/GeoIP

# make && make install

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20060613/

 

# mv /usr/local/php/lib/php/extensions/no-debug-zts-20060613/geoip.so /usr/local/php/modules

# vi /usr/local/php/lib/php.ini

 

extension=geoip.so

geoip.custom_directory=/usr/local/GeoIP/share/GeoIP

6.  

# /usr/local/apache/bin/apachectl restart

 

7. php 

php   apache_note         php

.

 

* apache_note

<?

echo apache_note(“GEOIP_COUNTRY_CODE”);

echo apache_note(“GEOIP_COUNTRY_NAME”);

————

KR

Korea, Republic of

?>

*  

<?

print_r(geoip_record_by_name(“www.naver.com“));

?>

——————–

Array (

[continent_code] => AS

[country_code] => KR

[country_code3] => KOR

[country_name] => Korea, Republic of

[region] => 11

[city] => Seoul

[postal_code] =>

[latitude] => 37.5984992981

[longitude] => 126.978302002

[dma_code] => 0

[area_code] => 0

)

[] GeoIP  | 

 

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>