2021-03-24 12:09:53 -07:00
==========================================
Geo IP Installation (On-Premises Database)
==========================================
2020-03-13 10:53:06 +01:00
Installation
============
2021-04-01 10:45:24 +02:00
.. warning ::
Please note that the installation depends on your computer's operating system and distribution.
We will assume that a Linux operating system is being used.
2020-03-13 10:53:06 +01:00
#. Install `geoip2 <https://pypi.org/project/geoip2/> `__ Python library
.. code-block :: bash
pip install geoip2
2021-03-24 12:09:53 -07:00
#. Download the `GeoLite2 City database <https://dev.maxmind.com/geoip/geoip2/geolite2/> `_ . You
should end up with a file called `` GeoLite2-City.mmdb ``
2020-03-13 10:53:06 +01:00
#. Move the file to the folder `` /usr/share/GeoIP/ ``
.. code-block:: bash
mv ~/Downloads/GeoLite2-City.mmdb /usr/share/GeoIP/
#. Restart the server
2021-04-01 10:45:24 +02:00
.. note ::
If you can't/don't want to locate the geoip database in `` /usr/share/GeoIP/ `` , you can use the
`` --geoip-db `` option of the Odoo command line interface. This option takes the absolute path to
the GeoIP database file and uses it as the GeoIP database. For example:
2020-03-13 10:53:06 +01:00
2021-04-01 10:45:24 +02:00
.. code-block :: bash
2020-03-13 10:53:06 +01:00
2021-04-01 10:45:24 +02:00
./odoo-bin --geoip-db= ~/Downloads/GeoLite2-City.mmdb
2020-03-13 10:53:06 +01:00
2021-04-01 10:45:24 +02:00
.. seealso ::
- `CLI documentation <https://www.odoo.com/documentation/13.0/reference/cmdline.html> `_ .
2020-03-13 10:53:06 +01:00
2021-04-01 10:45:24 +02:00
.. warning ::
`` GeoIP `` Python library can also be used. However this version is discontinued since January
2019. See `GeoLite Legacy databases are now discontinued
<https://support.maxmind.com/geolite-legacy-discontinuation-notice/>`_
2020-03-13 10:53:06 +01:00
2021-03-24 12:09:53 -07:00
How To Test GeoIP Geolocation In Your Odoo Website
==================================================
1. Go to your website. Open the web page that you want to test `` GeoIP `` .
2020-03-13 10:53:06 +01:00
2. Choose :menuselection: `Customize --> HTML/CSS/JS Editor` .
3. Add the following piece of XML in the page :
.. code-block :: xml
<h1 class= "text-center" t-esc= "request.session.get('geoip')" />
2021-03-24 12:09:53 -07:00
You should end up with a dictionary indicating the location of the IP address.
2020-03-13 10:53:06 +01:00
.. image :: media/on-premise_geo-ip-installation01.png
:align: center
2021-04-01 10:45:24 +02:00
.. note ::
If the curly braces are empty `` {} `` , it can be for any of the following reasons :
2020-03-13 10:53:06 +01:00
- The browsing IP address is the localhost (`` 127.0.0.1 `` ) or a local area network one (`` 192.168.*.* `` )
- If a reversed proxy is used, make sure to configure it correctly. See `--proxy-mode <https://www.odoo.com/documentation/13.0/reference/cmdline.html#cmdoption-odoo-bin-proxy-mode> `__
- `` geoip2 `` is not installed or the GeoIP database file wasn't found
- The GeoIP database was unable to resolve the given IP address