Cómo instalar mod_geoip para apache en rhel y centos

Cómo instalar mod_geoip para apache en rhel y centos

Mod_geoip es un módulo Apache que se puede usar para obtener la ubicación geográfica del IP dirección del visitante al apache Servidor web. Este módulo le permite determinar el visitante país, organización, y ubicación. Es especialmente útil para Geo AD por servicio, Contenido objetivo, Lucha contra spam, Detección de fraude, Redireccionamiento/bloqueo visitantes basados ​​en su país y mucho más.

El módulo GeoIP permite a los administradores del sistema redirigir o bloquear el tráfico web de acuerdo con la ubicación geográfica del cliente. La ubicación geográfica se aprende a través de la dirección IP del cliente.

Mod_geoip tiene dos versiones diferentes, una es Gratis Y otro es Pagado y usa maxmind Geoip / Geocidad bases de datos.

  1. Versión gratuita: En la versión gratuita, el Ciudad Geo y Bases de datos de países están disponibles con 99.5% exactitud.
  2. Versión de pago: En la versión pagada, obtendrá ambas bases de datos con 99.8% precisión con algunos detalles más avanzados sobre IP DIRECCIÓN.

Si le gusta ver las más diferencias entre el Gratis y Pagado versión, por favor visite Maxmind.comunicarse.

Este artículo explica cómo configurar e instalar el Mod_geoip módulo para apache en Rhel y Cento utilizando el Epel Repositorio con Yum Package Manager Utility.

Asumimos que ya tienes en funcionamiento Rhel y Cento sistema con un trabajo LÁMPARA (Linux, apache, Mysql, y Php) configuración. Si no es así, lea nuestros artículos donde hemos mostrado la instalación de ambos sistemas operativos con LÁMPARA.

Instalación de Rhel/Centos
  1. Instalación de RHEL 7 y CentOS 7 Mínimo.
  2. Instalación de RHEL 8 y CentOS 8 Mínimo.
Configuración de la lámpara en Rhel/Centos
  1. Cómo instalar la lámpara (Linux, Apache, MySQL, PHP) en Rhel y Centos 7
  2. Cómo instalar Apache, MySQL/MariadB y PHP en Rhel y Centos 8

Habilitar el repositorio de Epel en Rhel y Centos

Por defecto mod_geoip no está disponible bajo Rhel / centos Repositorio oficial, por lo que necesitamos instalar y habilitar terceros Epel repositorio.

# yum instalación Epel-Release # yum instalación https: // dl.federaproject.org/pub/epel/epel-liber-latest-8.noarch.RPM [en RHEL 8] 

Instalar mod_geoip en rhel y centos

Una vez que tienes Epel repositorio habilitado en su sistema, simplemente puede instalar mod_geoip ejecutando el siguiente comando con sus paquetes de dependencia.

# yum instalación mod_geoip geoip geoip-devel geoip-data zlib-devel 

Descargue la última base de datos de Geo City and Country

Es una buena idea descargar lo último Ciudad Geo y Base de datos Para mantenerse actualizado.

# CD/usr/share/geoip/ # mv geoip.dat geoip.dat_org # wget http: // geolite.maxmind.com/download/geoip/database/geolite2-country.alquitrán.gz # wget http: // geolite.maxmind.com/download/geoip/database/geolite2-city.alquitrán.GZ # Gunzip Geolite2-Country.alquitrán.GZ # Gunzip Geolite2-City.alquitrán.GZ 

Habilitar mod_geoip en Apache

Una vez que se haya instalado el módulo, abra y edite el archivo de configuración principal del módulo, con un editor de texto de línea de comandos como VI, y active el servidor del módulo en todo el servidor, como se ilustra en el siguiente extracto.

# vi/etc/httpd/conf.d/geoip.confusión 

Establecer la línea geoipenable desde Apagado a En. Además, asegúrese de agregar la ruta absoluta al archivo de base de datos GeoIP.

 Geoipenable en geoipdbfile/usr/share/geoip/geoip.Dat MemoryCache  

Reiniciar el apache servicio para reflejar cambios.

# SystemCTL reiniciar httpd o # servicio httpd reiniciar

Sin embargo, no se recomienda encender el módulo GeoIP en todo el servidor. Debe habilitar el módulo GeoIP solo en o Bloques donde realmente realizaría la redirección o bloqueo de tráfico.

Prueba del módulo mod_geoip

Para probar el mod_geoip El módulo funciona correctamente con Apache, necesitamos crear un Php archivo llamado testgeoip.php bajo apache directorio raíz (mi.gramo. /var/www/html).

# vi/var/www/html/testgeoip.php 

Inserte la siguiente pieza de código PHP.

  ¿Cuál es mi dirección IP? Determinar o recuperar mi dirección IP   Su país: $ country ($ country_code) "; ?>   

Ahora, intente llamar al archivo con un navegador web (mi.gramo. http: // localhost/testgeoip.php). Obtendrás tu dirección IP y País detalles.

Actualización de la base de datos GeoIP

La base de datos de GeoIP se actualiza a principios de cada mes. Por lo tanto, es muy importante mantener actualizado la base de datos GeoIP. Para descargar la última versión de la base de datos, use el siguiente comando.

# CD/usr/share/geoip/ # mv geoip.dat geoip.dat_org # wget http: // geolite.maxmind.com/download/geoip/database/geolite2-country.alquitrán.gz # wget http: // geolite.maxmind.com/download/geoip/database/geolite2-city.alquitrán.GZ # Gunzip Geolite2-Country.alquitrán.GZ # Gunzip Geolite2-City.alquitrán.GZ 

Actualización automática de la base de datos GeoIP

Hemos escrito un pequeño script de shell que descargará automáticamente la última versión de la base de datos GeoIP todos los meses. Simplemente coloque cualquiera de los siguientes guiones en /etc/cron.mensual.

Guión 1
# Actualización automática de la base de datos GEOIP #!/bin/sh cd/usr/share/geoip mv geoip.dat geoip.dat_org wget -q http: // geolite.maxmind.com/download/geoip/database/geolite2-country.alquitrán.GZ GZIP -D -F Geolite2 -Country.alquitrán.GZ
Guión 2
#!/bin/sh geoip_mirror = "http: // geolite.maxmind.com/download/geoip/database "geoipdir =/usr/share/geoip tmpdir = databases =" geolitecity geolitecountry/geoip asnum/geoipasnum geoipv6 "if [-d" $ geoipdir "]; luego cd $ipdir if [-n -n "$ Bases de datos"]]; entonces tmpdir = $ (mktemp -d geoipupdate.Xxxxxxxxxxx) echo "Actualización de bases de datos GEOIP ..." para DB en bases de datos $; do fname = $ (basename $ db) wget - -no -verbose -t 3 -t 60 "$ geoip_mirror/$ db.dat.gz "-o" $ tmpdir/$ fname.dat.GZ "Gunzip -fdc" $ tmpdir/$ fname.dat.gz ">" $ tmpdir/$ fname.dat "mv" $ tmpdir/$ fname.dat "" $ geoipdir/$ fname.dat "chmod 0644" $ geoipdir/$ fname.dat "hecho [-d" $ tmpdir "] && rm -rf $ tmpdir fi fi

Redirigir a los usuarios basados ​​en el país

El siguiente código de ejemplo redirigirá a los usuarios en función del código de país que establecemos COMO (Asia). De esta manera, puede redirigir a los usuarios en función de su código de condado.

Geoipenable en geoipdbfile/usr/share/geoip/geoip.dat # redirigir un país rewriteEngine en RewriteCond %env: geoip_country_code ^COMO$ Rewriterule ^(.ps https: // www.tecmenta.comunicarse$ 1 [R, L]

Bloquear a los usuarios basados ​​en el país

Este ejemplo bloqueará a los usuarios en función del código de país que GeoIP establece. El siguiente ejemplo bloqueará a los usuarios de COMO (Asia) y A NOSOTROS (Estados Unidos) países.

Geoipenable en geoipdbfile/usr/share/geoip/geoip.dat setenvif geoip_country_code COMO Blockcountry setenvif geoip_country_code A NOSOTROS Blockcountry #... colocar más países aquí negar desde env = blockcountry

Permitir a los usuarios basados ​​en el país

Este ejemplo a continuación solo permitirá a los usuarios de los países mencionados a continuación.

Geoipenable en geoipdbfile/usr/share/geoip/geoip.dat setenvif geoip_country_code COMO PENTOCOUNTRY setenvif geoip_country_code A NOSOTROS Permisos # #... coloque más países aquí niegue de todos los permisos de env = PENTOCOUNTRY

Para más información sobre mod_geoip y su uso se puede encontrar en http: // www.maxmind.com/app/mod_geoip. Si tiene algún problema al configurar un módulo mod_geoip, háganoslo saber por comentarios y no olvide compartirlo con sus amigos.