Geo IP

注解

本文档仅适用于本地安装数据库。

安装

警告

请注意,安装取决于计算机的操作系统和发行版。我们假设正在使用Linux操作系统。

  1. 安装`geoip2 <https://pypi.org/project/geoip2/>`__ Python库
    pip install geoip2
    
  2. 下载`GeoLite2 City数据库 <https://dev.maxmind.com/geoip/geoip2/geolite2/>`_。你将下载到名为``GeoLite2-City.mmdb``的文件

  3. 将文件移动到文件夹``/usr/share/GeoIP/``
    mv ~/Downloads/GeoLite2-City.mmdb /usr/share/GeoIP/
    
  4. 重启服务器

注解

如果您不能/不想在``/usr/share/GeoIP/``中定位geoip数据库,可以使用Odoo命令行界面的“-geoip db”选项。该选项采用GeoIP数据库文件的绝对路径,并将其用作GeoIP数据。例如:

./odoo-bin --geoip-db= ~/Downloads/GeoLite2-City.mmdb

警告

GeoIP 也可以使用Python库。但是,该版本自1月份起停止使用 1. 参见 GeoLite遗留数据库现已停止使用

How to test GeoIP geolocation in your Odoo website

  1. 转到你的网站。打开要测试“GeoIP”的网页。

  2. 选择 自定义 ‣ HTML/CSS/JS编辑器

  3. 在页面添加以下XML:

<h1 class="text-center" t-esc="request.session.get('geoip')"/>

最后应该有一个字典,指示IP地址的位置。

../../_images/on-premise_geo-ip-installation01.png

注解

如果大括号为空``{}``,则可能是由于以下任何原因:

  • 浏览IP地址为本地主机(127.0.0.1)或一个局域网(192.168.*.*)

  • 如果使用反向代理,请确保正确配置。请参阅:选项:代理模式 <odoo-bin --proxy-mode>

  • 未安装``geoip2``或未找到GeoIP数据库文件

  • GeoIP数据库无法解析给定的IP地址