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.
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á:
Índice de contenidos
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
yget
. Y generaremos una clave de licencia para la cuenta de GeoLite2 -
Usar
geoipupdate
.(esta es la recomendable) y entonces para hacer esto primero vemos la version que tenemos de geoipupdate, usandogeoipupdate -v
.
-
Cómo ya hemos dicho antes, nos registramos en Geolite2 en la cuenta gratuita.
-
Accedemos a esa cuenta y generamos una llave que luego guardaremos de forma segura en el ordenador
-
Editamos o
/etc/GeoIP.conf
-
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
-
Y luego usaremos o
sudo geoipupdate
osudo 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:
-
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
. -
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 :
-
Vamos a Sitios web y dominios > dominio > «Hosting y DNS» > Configuración de Apache y nginx.
-
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:
Si estas interesado en un Hosting para WordPress, consulta este enlace.
Si tienes un Ecommerce, este es tu Hosting ideal para PrestaShop.
Hosting Joomla, consulta los distintos planes.
Si tienes un Hosting Drupal, este es tu alojamiento.
Consulta el Hosting perfecto para Magento
Si necesitas realizar cualquier consulta, o quieres asesoramiento personalizado, contacta con nosotros.