· Publicado por David Bolufer en: Blog CentOS Opinión
Etiquetas: comandos, geoip, how to yum list GeoIP*Deberías ver algo así:
Finished Available Packages GeoIP.x86_64 1.4.7-0.1.20090931cvs.el5 epel GeoIP-data.x86_64 20090201-1.el5.centos extras GeoIP-devel.x86_64 1.4.7-0.1.20090931cvs.el5 epelProcedemos a instalar todos los paquete, de ellos, GeoIP-data es el archivo que geolocaliza direcciones IP.
yum install GeoIP* ... ... ... Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : GeoIP 1/3 Installing : GeoIP-devel 2/3 Installing : GeoIP-data 3/3 Installed: GeoIP.x86_64 0:1.4.7-0.1.20090931cvs.el5 GeoIP-data.x86_64 0:20090201-1.el5.centos GeoIP-devel.x86_64 0:1.4.7-0.1.20090931cvs.el5Una vez instalados los módulos, procedemos a instalar el módulo para Apache 2.X, para ello necesitaremos tener instalado el comando apxs, parte del paquete httpd-devel, si no lo tenemos instalado basta con instalarlo desde yum.
cd /tmp wget http://geolite.maxmind.com/download/geoip/api/mod_geoip2/mod_geoip2_1.2.5.tar.gz tar -xvzf mod_geoip2_1.2.5.tar.gz apxs -i -a -L/usr/lib -I/usr/include -lGeoIP -c mod_geoip.cEl último comando nos compila el módulo para nuestra versión de Apache, comprobar donde lo ha copiado pues nos hará falta en el siguiente paso para activar el módulo en Apache, en nuestro caso lo deposita en /usr/lib64/httpd/modules/mod_geoip.so. Editamos la configuración de Apache para añadir el módulo mod_geoip y activar la geolocalización.
LoadModule geoip_module /usr/lib64/httpd/modules/mod_geoip.so ... ... <IfModule mod_geoip.c> GeoIPEnable On #Ruta hacia la base de datos con las IP's geolocalizadas GeoIPDBFile /var/lib/GeoIP/GeoIP.dat </IfModule>Listo, tenemos instalado el soporte de GEO IP, este es un ejemplo para poder obtener en PHP.
<?php
$country_code = apache_note("GEOIP_COUNTRY_CODE");
$country_code3 = apache_note("GEOIP_COUNTRY_CODE3");
$country_name = apache_note("GEOIP_COUNTRY_NAME");
$geoip_city_name = apache_note("GEOIP_CITY_NAME");
$geoip_city_postal_code = apache_note("GEOIP_CITY_POSTAL_CODE");
$geoip_city_latitude = apache_note("GEOIP_CITY_LATITUDE");
$geoip_city_long_latitude = apache_note("GEOIP_CITY_LONG_LATITUDE");
$geoip_city_dma_code = apache_note("GEOIP_CITY_DMA_CODE");
$geoip_city_postal_code = apache_note("GEOIP_CITY_POSTAL_CODE");
$geoip_city_area_code = apache_note("GEOIP_CITY_AREA_CODE");
echo "
IP: {$_SERVER['REMOTE_ADDR']} </br>
GEOIP_COUNTRY_CODE: <strong>$country_code</strong> </br>
GEOIP_COUNTRY_CODE3: <strong>$country_code3</strong> </br>
GEOIP_COUNTRY_NAME: <strong>$country_name</strong> </br>
GEOIP_CITY_NAME: <strong>$geoip_city_name</strong> </br>
GEOIP_CITY_POSTAL_CODE: <strong>$geoip_city_postal_code</strong> </br>
GEOIP_CITY_LATITUDE: <strong>$geoip_city_latitude</strong> </br>
GEOIP_CITY_LONG_LATITUDE: <strong>$geoip_city_long_latitude</strong> </br>
GEOIP_CITY_DMA_CODE: <strong>$geoip_city_dma_code</strong> </br>
GEOIP_CITY_POSTAL_CODE: <strong>$geoip_city_postal_code</strong> </br>
GEOIP_CITY_AREA_CODE: <strong>$geoip_city_area_code</strong> </br>
";
Compartir:













Twitter
Gorka #
17 de Noviembre de 2011 a las 16:38