Hola Wecindario, si necesitas usar la geolocalización en tu servidor Plesk, y eres admin/root de la máquina sigue esta pequeña guia de cómo hacerlo

Cómo ya sabrás, la geolocalización asigna la ip del visitante a la geolocalización , mostrando la ciudad o país.

Hosting Web

Y gracias a esto puedes, por ejemplo, programar para que lo muestre en un idioma o otro según la IP de acceso

Aquí veremos cómo configurarla en tu  Plesk y cómo usarla, vamos allá:

Configurar la geolocalización de la IP en tu Plesk

La configuración se hace  mediante el módulo ngx_http_geoip2_module de nginx y las bases de datos MaxMind, que descargaremos.

1. Descargar MaxMind ( Geolocation Databases)

MaxMind tiene dos bases de datos de geolocalización: GeoLite2 (gratuito) y GeoIP2 (de pago y es más precisa que la BD gratuita)

Vamos a descargar  GeoLite2 ( y luego más adelante si quieres  puedes actualizar a GeoIP2 )

Primero nos creamos una cuenta gratuita en GeoLite2 gratuita , y luego para descargar la BD lo podemos hacer de varias formas:

  • Descargamos la BD en local para luego subir a Plesk

  • Conseguimos los permalinks. Usando los comandos curl y get. Y generaremos una clave de licencia para la cuenta de GeoLite2

  • Usargeoipupdate.(esta es la recomendable) y entonces para hacer esto  primero vemos la version que tenemos de geoipupdate, usando geoipupdate -v.

  1. Cómo ya hemos dicho antes, nos registramos en Geolite2 en la cuenta gratuita.

  2. Accedemos a esa cuenta y generamos una llave que luego guardaremos de forma segura en el ordenador

  3. Editamos o /etc/GeoIP.conf

    Hosting Web

  4. Ponemos  el ID de la cuenta, la clave de licencia y los IDs las bases de datos que vamos a descargar. Separaremos las distintas ediciones con espacios. Y guardamos

  5. Y luego usaremos o sudo geoipupdate o sudo geoipupdate -v

2. Habilitando ngx_http_geoip2_module in Plesk

En la versión Plesk 18.0.46 ngix ya esta compilado y el modulo suele veior desactivado.

Para com probar si esta o no compilado ejecutamos: nginx -V. Y veremos  mod_geoip2 en la salida.

Y para activar el modulo  ngx_http_geoip2_module, accedemos ssh al servidor y ponemos:plesk bin nginx -e geoip2.

Y cuando esté activo lo veremos en el listado al ejecutar  plesk bin nginx -s.

3. Configurando las variables

Para usar datos de la geolocalización y hacer c osas en función de dichos datos, necesitamos asignar la IP del visitante de la web a la ciudad o país y guardarlas esas variables en los archivos de configuración de nginx.

Para ello:

  1. Ponemos las directivas en el archivo /etc/nginx/conf.d/geoip2.conf:

    geoip2 <ruta-actual-base-de-datos>/GeoLite2-Country.mmdb {
        auto_reload 5m;
        $geoip2_metadata_country_build metadata build_epoch;
        $geoip2_data_country_code country iso_code;
        $geoip2_data_country_name country names en;
    }
    
    geoip2 <path-to-the-database>/GeoLite2-City.mmdb {
        $geoip2_data_city_name city names en;
    }
    

    Sustituimos <ruta-actual-base-de-datos>, por nuestra ruta por ejemplo /usr/share/GeoIP/GeoLite2-Country.mmdb

    Y si el sistema es Debian y Ubuntu, la ruta suele ser/var/lib/GeoIP.

  2. Ejecutamos service nginx reload para aplicar estos cambios

Y ya podemos usar ngx_http_geoip2_module con casos como estos.

Ejemplos de variables :

Nombre de la variable Significado de la variable
$geoip2_metadata_country_build Hora de la creación de la base de datos GeoLite2-Country
$geoip2_data_country_code Código ISO de dos letras del país
$geoip2_data_country_name Nombre del país
$geoip2_data_city_name Nombre de la ciudad

Bloquear el acceso a una web a visitantes de un país determinado

Con esto ya podemos bloquear el acceso a un determinado páis. Y si intentan acceder desde ese pais verá un error 403

Y para ello debemos hacer estos pasos :

  1. Vamos a Sitios web y dominios > dominio > «Hosting y DNS» > Configuración de Apache y nginx.

  2. Y ponemos esto en  «Directivas nginx adicionales» y.

    if ($geoip2_data_country_code = "XX") {
            return 403;
    }
    

    Y XX será el  ISO de 2 letras del país que queremos bloquear

Y esto es todo Wecindario, ¿has tenido la necesidad alguna vez de tener que bloquear el acceso desde alguna IP? ¿Cómo lo has hecho? Soy todo oídos, escríbeme

¡Hasta la próxima Wecindario!

Tu Hosting a un Precio Excelente con Hoswedaje

Si estas pensando en crear tu página web pero no tienes decido el hosting, te ofrecemos nuestros servicios. Puedes consultar más información acerca de estos Hosting a continuación:

geolocalización  Si estas interesado en un Hosting para WordPress, consulta este enlace.

ip publica  Si tienes un Ecommerce, este es tu Hosting ideal para PrestaShop.

geolocalización  Hosting Joomla, consulta los distintos planes.

ip publica  Si tienes un Hosting Drupal, este es tu alojamiento.

geolocalización  Consulta el Hosting perfecto para Magento

Si necesitas realizar cualquier consulta, o quieres asesoramiento personalizado, contacta con nosotros.