Como Instalar mod_geoip en Apache2 para Debian o Ubuntu

No Comments
geolocalización

Instalando mod_geoip en Apache2 para Debian o Ubuntu

Que la recopilación de información sobre tu tráfico es vital, es algo que debería estar ya fuera de toda duda. Un rasgo estratégico sobre tu tráfico es su origen: y resulta crítico en seguridad, e-commerce y/o monetización.

Entre otras cosas, podrás bloquear o redirigir tráfico de determinados paises o incluso continentes enteros. No entraremos en consideraciones SEO y/o de internacionalización de sitios en esta ocasión, esto podría ser objeto de un próximo artículo, por el momento nos limitaremos a dotarnos del mecanismo técnico necesario para obtener la información de geolocalización y así hacer posible la toma de cualquier decisión en base a ella.

En nuestro ejemplo, como casi siempre, nos encontraremos trabajando en Debian Linux, pero el tutorial es perfectamente válido para Ubuntu y la mayoría de sistemas LAMP.

Necesitarás estar logeado como root, ejecutar los comandos del tutorial precedidos por sudo o elevar tu sesión a root con sudo su
Comencemos.

Paso 1 – Instalación del módulo mod_geoip

Usaremos apt-get para instalar el nuevo módulo en Apache.

apt-get install libapache2-mod-geoip

Paso 2 – Completamos la configuración de mod_geoip

Usaremos nano o vi como editor de texto.
Abriremos el archivo de configuración de mod_geoip situado en /etc/apache2/mods-available/geoip.conf. Para ello deberemos descomentar la linea donde se indica la ruta al archivo de la base de datos de IPs.

vi /etc/apache2/mods-available/geoip.conf

De tal modo que al descomentar la linea #3 el archivo presente este aspecto:

<IfModule mod_geoip.c>
  GeoIPEnable On
  GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
</IfModule>

Paso 3 – Para finalizar reiniciamos Apache

/etc/init.d/apache2 restart

¡Y hemos acabado la instalación de mod_geoip!

Ahora vamos a probarlo.

Paso 4 – Probando la geolocalización con mod_geoip desde PHP

Para comprobar rápidamente que todo ha ido bien crearemos un fichero PHP de prueba en un sitio web activo en nuestro servidor:

nano /var/www/testing_geoip.php

La ruta /var/www/ ha de ser la adecuada para el virtual host elegido.
En el archivo copiaremos el siguiente código PHP:

<html>
<head>
<title>mod_geoip testing</title>
</head>
<body>
<?php
echo "
Código del Continente: ".$_SERVER["GEOIP_CONTINENT_CODE"];
echo "
Código del País: ".$_SERVER["GEOIP_COUNTRY_CODE"];
echo "
Nombre del País: ".$_SERVER["GEOIP_COUNTRY_NAME"];
?>
</body>
</html>

Ejecutaremos el script desde cualquier navegador:

http://www.soylibre.com/testing_geoip.php

Hacer click en el link de ejemplo de arriba para ver el resultado, o visita la sección: ¿Dónde estoy?

Al visitar la URL debería mostraros vuestro código de continente, código de país y nombre de país. Deberéis hacerlo desde una IP válida en internet, claro, porque si lo hacéis desde una IP local, la “geolocalización” de la misma es por ende, local. 😉

Y eso es todo, por ahora, guerrilleros.

Como siempre, espero vuestros comentarios, saber si os ha sido de ayuda esta explicación, o cualquier duda que os pueda haber surgido al leerlo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *