Skip to Content
Odoo Menu
  • Prijavi
  • Try it free
  • Aplikacije
    Finance
    • Knjigovodstvo
    • Obračun
    • Stroški
    • Spreadsheet (BI)
    • Dokumenti
    • Podpisovanje
    Prodaja
    • CRM
    • Prodaja
    • POS Shop
    • POS Restaurant
    • Naročnine
    • Najem
    Spletne strani
    • Website Builder
    • Spletna trgovina
    • Blog
    • Forum
    • Pogovor v živo
    • eUčenje
    Dobavna veriga
    • Zaloga
    • Proizvodnja
    • PLM
    • Nabava
    • Vzdrževanje
    • Kakovost
    Kadri
    • Kadri
    • Kadrovanje
    • Odsotnost
    • Ocenjevanja
    • Priporočila
    • Vozni park
    Marketing
    • Družbeno Trženje
    • Email Marketing
    • SMS Marketing
    • Dogodki
    • Avtomatizacija trženja
    • Ankete
    Storitve
    • Projekt
    • Časovnice
    • Storitve na terenu
    • Služba za pomoč
    • Načrtovanje
    • Termini
    Produktivnost
    • Razprave
    • Odobritve
    • IoT
    • Voip
    • Znanje
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industrije
    Trgovina na drobno
    • Book Store
    • Trgovina z oblačili
    • Trgovina s pohištvom
    • Grocery Store
    • Trgovina s strojno opremo računalnikov
    • Trgovina z igračami
    Food & Hospitality
    • Bar and Pub
    • Restavracija
    • Hitra hrana
    • Guest House
    • Beverage Distributor
    • Hotel
    Nepremičnine
    • Real Estate Agency
    • Arhitekturno podjetje
    • Gradbeništvo
    • Estate Management
    • Vrtnarjenje
    • Združenje lastnikov nepremičnin
    Svetovanje
    • Računovodsko podjetje
    • Odoo Partner
    • Marketinška agencija
    • Law firm
    • Pridobivanje talentov
    • Audit & Certification
    Proizvodnja
    • Tekstil
    • Metal
    • Pohištvo
    • Hrana
    • Brewery
    • Poslovna darila
    Health & Fitness
    • Športni klub
    • Trgovina z očali
    • Fitnes center
    • Wellness Practitioners
    • Lekarna
    • Frizerski salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Sistemi sončne energije
    • Izdelovalec čevljev
    • Čistilne storitve
    • HVAC Services
    Ostali
    • Neprofitna organizacija
    • Agencija za okolje
    • Najem oglasnih panojev
    • Fotografija
    • Najem koles
    • Prodajalec programske opreme
    Browse all Industries
  • Skupnost
    Learn
    • Tutorials
    • Dokumentacija
    • Certifikati
    • Šolanje
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Prenesi
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Dogodki
    • Prevodi
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Sklici kupca
    • Podpora
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Določanje cen
  • Pomoč

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Knjigovodstvo
  • Zaloga
  • PoS
  • Projekt
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Ključne besede (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Ključne besede (View all)
odoo accounting v14 pos v15
About this forum
Pomoč

Help! Multi Website geoip redirect not working.

Naroči se

Get notified when there's activity on this post

This question has been flagged
geolocationwebsitesmultiwebsitev14
2 Odgovori
5702 Prikazi
Avatar
Sion sweet

Hi Guys,

I hope someone can help.

I have been pulling my hair out trying to get geoip multi website redirect to work in Odoo14

 

I have installed geoip2 as per the odoo instructions.

I have then downloaded the database from maxmind, unzipped it  and FTP’d GeoLite2-City.mmdb to /usr/share/GeoIP

Restarted the server.

 

I then added the code to a test page, but the brackets remain empty.  I have tested this from a non local machine too, with the same results.

When I check the odoo log, I can see that odoo is logging visitors Ips.  I have also tested this with a non-local machine, and the IP in the log is correct. So I think this means that the IP is being forwarded through the reverse proxi properly?

 

If anyone can see what im missing here, or has any pointers that would be really appreciated.

Many thanks,

Sion.

 

My Odoo conf file:

addons_path = /usr/lib/python3/dist-packages/odoo/addons

admin_passwd = my password

csv_internal_sep = ,

data_dir = /var/lib/odoo/.local/share/Odoo

db_host = False

db_maxconn = 64

db_name = False

db_password = False

db_port = False

db_sslmode = prefer

db_template = template0

db_user = odoo

dbfilter =

demo = {}

email_from = False

geoip_database = /usr/share/GeoIP/GeoLite2-City.mmdb

http_enable = True

http_interface =

http_port = 8069

import_partial =

limit_memory_hard = 2684354560

limit_memory_soft = 2147483648

limit_request = 8192

limit_time_cpu = 120

limit_time_real = 1200

limit_time_real_cron = -1

list_db = True

log_db = False

log_db_level = warning

log_handler = :INFO

log_level = info

logfile = /var/log/odoo/odoo-server.log

longpolling_port = 8072

max_cron_threads = 1

osv_memory_age_limit = False

osv_memory_count_limit = False

pg_path =

pidfile =

proxy_mode = True

reportgz = False

screencasts =

screenshots = /tmp/odoo_tests

server_wide_modules = base,web

smtp_password = False

smtp_port = 25

smtp_server = localhost

smtp_ssl = False

smtp_user = False

syslog = False

test_enable = False

test_file =

test_tags = None

transient_age_limit = 1.0

translate_modules = ['all']

unaccent = False

upgrade_path =

without_demo = False

workers = 5

 

 

My Nginx file:

#odoo server

 

upstream odoo {

server 127.0.0.1:8069;

}

 

upstream odoochat {

server 127.0.0.1:8072;

}

 

 

server {

server_name shop.mysite.com;

include snippets/letsencrypt.conf;

 

listen 443 ssl; # managed by Certbot

ssl_certificate /etc/letsencrypt/live/mysite.com/fullchain.pem; # managed by Certbot

ssl_certificate_key /etc/letsencrypt/live/mysite.com/privkey.pem; # managed by Certbot

include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot

ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

proxy_read_timeout 720s;

proxy_connect_timeout 720s;

proxy_send_timeout 720s;

 

# Add Headers for odoo proxy mode

proxy_set_header X-Forwarded-Host $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto $scheme;

proxy_set_header X-Real-IP $remote_addr;

# log

access_log /var/log/nginx/odoo.access.log;

error_log /var/log/nginx/odoo.error.log;

 

# Redirect longpoll requests to odoo longpolling port

location /longpolling {

proxy_pass http://odoochat;

}

 

# Redirect requests to odoo backend server

location / {

proxy_redirect off;

proxy_pass http://odoo;

}

 

# common gzip

gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript;

gzip on;

}

 

server {

listen 80;

server_name shop.mysite.com www.shop.mysite.com;

rewrite ^(.*) https://$host$1 permanent;

}

 

server {

listen 443 ssl;

server_name www.shop.mysite.com;

return 301 $scheme://shop.mysite.com$request_uri;

}

 

server {

server_name usa.mysite.com;

include snippets/letsencrypt.conf;

 

listen 443 ssl; # managed by Certbot

ssl_certificate /etc/letsencrypt/live/usa.mysite.com/fullchain.pem; # managed by Certbot

ssl_certificate_key /etc/letsencrypt/live/usa.mysite.com/privkey.pem; # managed by Certbot

include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot

ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

proxy_read_timeout 720s;

proxy_connect_timeout 720s;

proxy_send_timeout 720s;

 

# Add Headers for odoo proxy mode

proxy_set_header X-Forwarded-Host $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto $scheme;

proxy_set_header X-Real-IP $remote_addr;

# log

access_log /var/log/nginx/odoo.access.log;

error_log /var/log/nginx/odoo.error.log;

 

# Redirect longpoll requests to odoo longpolling port

location /longpolling {

proxy_pass http://odoochat;

}

 

# Redirect requests to odoo backend server

location / {

proxy_redirect off;

proxy_pass http://odoo;

}

 

# common gzip

gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript;

gzip on;

}

 

1
Avatar
Opusti
Sion sweet
Avtor

If any one has any other ideas here that would be an amazing help. Really need to get this working.

Avatar
rk-aix
Best Answer

Hi Sion,

i also don't know what Ashish means by geoip2_website module either...

But if the brackets still remain empty, you perhaps ran into the same problems as me. I mentioned it on github:

...I had a similar problem on Ubuntu 20.04 nginx/1.23.2 and Odoo 14 & 15, I assume you have Odoo 15 running in the virtual environment.
If you only install geoip2 in the "normal" environment (e.g. via "pip3 install geoip2"), it won't work properly.
After I installed geoip2 under VENV everything runs smoothly ;-)

Maybe this will work for you too...
rk-aix

0
Avatar
Opusti
rk-aix

Sion - Did you also try in shell ?

mmdblookup --file /usr/share/GeoIP/GeoLite2-City.mmdb --ip 123.456.78.9 city names de

rk-aix

Sion sweet
Avtor

Thansk rk-aix.
Running Odoo 14.
It’s installed on a vps tubing Ubuntu 20.04

It’s just installed from the package installer using:

# wget -O - https://nightly.odoo.com/odoo.key | apt-key add -
# echo "deb http://nightly.odoo.com/14.0/nightly/deb/ ./" >> /etc/apt/sources.list.d/odoo.list
# apt-get update && apt-get install odoo

I’m assuming this setup isn’t what you mean by virtual environment?

rk-aix

Sion - if you decided to install Odoo via package installation you don't have to look for venv...
I use to install Odoo in virtual environment because of the lot of advantages. You are able to run various versions of Odoo in one machine simultaneously.

But never the less, you should check the geoip-installation with mmdblookup via shell. If you get a result, you can assume that Geoip is working correctly.

rk-aix

More info about Odoo 14 in Venv you will find here:
# https://linuxize.com/post/how-to-install-odoo-14-on-ubuntu-20-04/

Sion sweet
Avtor

Hi Rx-aix,
I tried the mmdblookup in shell, and it returned the expected results - so looks like geoip is working, but the problem is with odoo.

rk-aix

Sion - Sorry for you...

I tried it for you in bare Odoo14/15/16 just with web-module installed, nothing else - but it works on my site(s).
I can only imagine that maybe/somewhere your nginx is misconfigured or too old?
Try it in the shell: # nginx -V and tell me what your result is?
rk-aix

Sion sweet
Avtor

Hi Rk-aix,
i get : nginx version: nginx/1.18.0 (Ubuntu)

rk-aix

Hi Sion,

I think we're getting closer...
Your Nginx version is really quite old. I remember that I also had this version installed some time ago. Back then you had to compile Nginx with GeoIp. Which doesn't mean that Odoo might not be able to handle it, it was simply due to the wrong/differently interpreted headers etc.
Check out https://launchpad.net/~ondrej
He has the best packages for Nginx in my opinion.
There's no harm in trying ;-)
I'll hear from you then...

Regards rk-aix

Avatar
Ashish Hirpara
Best Answer

It looks like you are using the geoip2_website module from Odoo, which is designed to redirect visitors to different websites based on their location. To use it, you'll need to do the following:

  1. Install the module in your Odoo instance by going to Settings -> Apps -> Update Apps, searching for "geoip2_website" in the search bar, and clicking the Install button.

  2. Download the GeoLite2 database from MaxMind and place the GeoLite2-City.mmdb file in the /usr/share/GeoIP directory on your server.

  3. In your Odoo instance, go to Settings -> Configuration -> Websites and create a new website for each location you want to redirect to. In the GeoIP field, enter the two-letter country code for the location (e.g. "US" for the United States).

  4. Add the following code to your website template to redirect visitors based on their location:

This code will check the visitor's location using the GeoLite2 database, and if a website is found for their location, it will redirect them to that website.

Note that you may need to adjust the path to the GeoLite2-City.mmdb file in your Odoo configuration file (located in /etc/odoo/odoo.conf on most systems) if it is different from the default path of /usr/share/GeoIP/GeoLite2-City.mmdb. You can do this by adding the following line to your configuration file:

geoip_database = /path/to/GeoLite2-City.mmdb

I hope this helps! Let me know if

0
Avatar
Opusti
Sion sweet
Avtor

Hi Ashish. Thanks for the reply
If I go to apps, update apps list, and search
geoip2_website I get no results.

Should I have downloaded this module first? Or should it just be there?
Thanks.

Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Prijavi
Related Posts Odgovori Prikazi Aktivnost
(odoo CE v14 ) Odoo Server Error by creating a website in a Multi-website DB
multiwebsite v14
Avatar
0
mar. 21
83
Select Multiple Categories in Website Odoo 14
websites v14 eCommerce
Avatar
Avatar
Avatar
2
jul. 23
4681
Unknown CORS Error in js file
geolocation CORS Odoo13.0 v14
Avatar
Avatar
1
feb. 25
10219
[14.0] Multiple Website in Single Database
nginx website_builder website multiwebsite v14
Avatar
Avatar
Avatar
2
avg. 23
6463
How to remove the 'Powered by Odoo - The #1 Open Source eCommerce' footer from the website? Solved
websites
Avatar
Avatar
Avatar
Avatar
3
nov. 25
1990
Community
  • Tutorials
  • Dokumentacija
  • Forum
Open Source
  • Prenesi
  • Github
  • Runbot
  • Prevodi
Services
  • Odoo.sh Hosting
  • Podpora
  • Nadgradnja
  • Custom Developments
  • Izobraževanje
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Sredstva blagovne znamke
  • Kontakt
  • Zaposlitve
  • Dogodki
  • Podcast
  • Blog
  • Stranke
  • Pravno • Zasebnost
  • Varnost
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now