Apache2 · 2 min read · Jan 02, 2026

Instalando mod_geoip para Apache2 en CentOS 6.3

Instalando mod_geoip para Apache2 en CentOS 6.3

Versión 1.0
Autor: Falko Timme
Sígueme en Twitter

Esta guía explica cómo configurar mod_geoip con Apache2 en un sistema CentOS 6.3. mod_geoip busca la dirección IP del usuario final. Esto te permite redirigir o bloquear usuarios según su país. También puedes usar esta tecnología para tu servidor de anuncios OpenX (anteriormente conocido como OpenAds o phpAdsNew) para permitir la segmentación geográfica.

¡No emito ninguna garantía de que esto funcione para ti!

1 Nota Preliminar

Asumo que tienes un sistema CentOS 6.3 en funcionamiento con Apache2 + PHP, por ejemplo, como se muestra en este tutorial: Instalando Apache2 con soporte para PHP5 y MySQL en CentOS 6.3 (LAMP).

2 Instalando mod_geoip

Debido a que mod_geoip no está disponible en los repositorios oficiales de CentOS, necesitamos habilitar el repositorio EPEL:

rpm --import https://fedoraproject.org/static/0608B895.txt  
 wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm  
 rpm -ivh epel-release-6-7.noarch.rpm
yum install yum-priorities

Edita /etc/yum.repos.d/epel.repo…

vi /etc/yum.repos.d/epel.repo

… y agrega la línea priority=10 a la sección [epel]:

| [epel] name=Paquetes Extra para Enterprise Linux 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [...] |

Para instalar mod_geoip, simplemente ejecutamos:

yum install mod_geoip

Luego encontrarás la base de datos GeoIP (GeoIP.dat) en el directorio /usr/share/GeoIP. Como la asignación geográfica de las direcciones IP puede cambiar con el tiempo, es una buena idea descargar la GeoIP.dat más reciente ahora:

cd /usr/share/GeoIP/  
 mv GeoIP.dat GeoIP.dat_orig  
 wget -N -q http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz  
 gunzip GeoIP.dat.gz

A continuación, reiniciamos Apache:

/etc/init.d/httpd restart

¡Eso es todo!

3 Una Prueba Corta

Para ver si mod_geoip está funcionando correctamente, podemos crear un pequeño archivo PHP en uno de nuestros espacios web (por ejemplo, /var/www/html):

vi /var/www/html/geoiptest.php

| |

Llama a ese archivo en un navegador, y debería mostrar el array SERVER incluyendo valores para GEOIP_COUNTRY_CODE, GEOIP_CONTINENT_CODE y GEOIP_COUNTRY_NAME (asegúrate de que estás llamando al archivo desde una dirección IP pública, no una local).

Array  
 (  
     [GEOIP_CONTINENT_CODE] => EU  
     [GEOIP_COUNTRY_CODE] => DE  
     [GEOIP_COUNTRY_NAME] => Alemania  
     [HTTP_HOST] => 84.143.142.69  
     [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1  
     [HTTP_ACCEPT] => text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5  
     [HTTP_ACCEPT_LANGUAGE] => en-us,en;q=0.5  
     [HTTP_ACCEPT_ENCODING] => gzip,deflate  
     [HTTP_ACCEPT_CHARSET] => ISO-8859-1,utf-8;q=0.7,*;q=0.7  
     [HTTP_KEEP_ALIVE] => 300  
     [HTTP_CONNECTION] => keep-alive  
     [PATH] => /sbin:/usr/sbin:/bin:/usr/bin  
     [SERVER_SIGNATURE] => 
Apache/2.2.15 (CentOS) Servidor en www.example.org Puerto 80
    [SERVER_SOFTWARE] => Apache/2.2.15 (CentOS)     [SERVER_NAME] => 84.143.142.69     [SERVER_ADDR] => 192.168.0.100     [SERVER_PORT] => 80     [REMOTE_ADDR] => 84.143.142.69     [DOCUMENT_ROOT] => /var/www/html     [SERVER_ADMIN] => root@localhost     [SCRIPT_FILENAME] => /var/www/html/geoiptest.php     [REMOTE_PORT] => 57421     [GATEWAY_INTERFACE] => CGI/1.1     [SERVER_PROTOCOL] => HTTP/1.1     [REQUEST_METHOD] => GET     [QUERY_STRING] =>     [REQUEST_URI] => /geoiptest.php     [SCRIPT_NAME] => /geoiptest.php     [PHP_SELF] => /geoiptest.php     [REQUEST_TIME] => 1344547179 )

Si deseas usar Apache2 + mod_geoip para tu servidor de anuncios OpenX, asegúrate de seleccionar MaxMind mod_apache GeoIP en Configuración > Configuración Principal > Configuración de Geotargeting:

4 Casos de Uso

Puedes usar mod_geoip para redirigir o bloquear/permitir usuarios según su país. Puedes encontrar algunos ejemplos útiles para esto aquí: http://www.maxmind.com/app/mod_geoip

5 Enlaces

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.