Skip to Content
Odoo Меню
  • Увійти
  • Спробуйте це безкоштовно
  • Додатки
    Фінанси
    • Бухоблік
    • Виставлення рахунку
    • Витрати
    • Електронні таблиці (BI)
    • Документи
    • Підпис
    Продажі
    • CRM
    • Продажі
    • POS Магазин
    • POS Ресторан
    • Підписки
    • Оренда
    Веб-сайти
    • Конструктор веб-сайту
    • Електронна комерція
    • Блог
    • Форум
    • Живий чат
    • Електронне навчання
    Ланцюг поставок
    • Склад
    • Виробництво
    • PLM
    • Купівлі
    • Технічне обслуговування
    • Якість
    Кадри
    • Співробітники
    • Рекрутинг
    • Відпустки
    • Оцінювання
    • Рекомендації
    • Автотранспорт
    Маркетинг
    • Маркетинг соцмереж
    • Email-маркетинг
    • SMS-маркетинг
    • Події
    • Автом. маркетингу
    • Опитування
    Послуги
    • Проект
    • Табелі
    • Виїзне обслуговування
    • Служба підтримки
    • Планування
    • Призначення
    Продуктивність
    • Обговорення
    • Схвалення
    • IoT
    • IP-телефонія
    • База знань
    • WhatsApp
    Сторонні модулі Odoo Studio Платформа Odoo Cloud
  • Сфери
    Роздрібна торгівля
    • Книжковий магазин
    • Магазин одягу
    • Магазин меблів
    • Продуктовий магазин
    • Магазин будівельних матеріалів
    • Магазин іграшок
    Food & Hospitality
    • Бар та паб
    • Ресторан
    • Фастфуд
    • Guest House
    • Дистриб'ютор напоїв
    • Hotel
    Нерухомість
    • Real Estate Agency
    • Архітектурна фірма
    • Будівництво
    • Управління нерухомістю
    • Садівництво
    • Асоціація власників нерухомості
    Консалтинг
    • Бухгалтерська компанія
    • Партнер Odoo
    • Агенція маркетингу
    • Юридична фірма
    • Придбання Талантів
    • Аудит та сертифікація
    Виробництво
    • Textile
    • Metal
    • Меблі
    • Їжа
    • Brewery
    • Корпоративні подарунки
    Здоров'я & Фітнес
    • Спортивний клуб
    • Оптика
    • Фітнес-центр
    • Практики здоров'я
    • Аптека
    • Салон краси
    Trades
    • Ремонтник
    • IT-обладнання та Підтримка
    • Системи сонячної енергії
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Інші
    • Nonprofit Organization
    • Екологічна агенція
    • Оренда білбордів
    • Фотографія
    • Лізинг велосипедів
    • Реселлер програмного забезпечення
    Browse all Industries
  • Спільнота
    Навчання
    • Навчальний посібник
    • Документація
    • Сертифікації
    • Тренування
    • Блог
    • Подкаст
    Сприяйте Освіті
    • Програма навчання
    • Бізнес гра Scale Up!
    • Відвідайте Odoo
    Отримайте програмне забезпечення
    • Завантаження
    • Порівняйте версії
    • Релізи
    Співпрацюйте
    • Github
    • Форум
    • Події
    • Переклади
    • Стати партнером
    • Services for Partners
    • Зареєструйте вашу бухгалтерську фірму
    Отримайте послуги
    • Знайдіть партнера
    • Знайдіть бухгалтера
    • Зустріньтеся з консультантом
    • Послуги з впровадження
    • Референси клієнтів
    • Підтримка
    • Оновлення
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Отримати демо
  • Ціни
  • Допомога

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

  • CRM
  • e-Commerce
  • Бухоблік
  • Склад
  • PoS
  • Проект
  • MRP
All apps
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
All Posts Люди Значки
Мітки (View all)
odoo accounting v14 pos v15
Про цей форум
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
All Posts Люди Значки
Мітки (View all)
odoo accounting v14 pos v15
Про цей форум
Допомога

Help! Multi Website geoip redirect not working.

Підписатися

Отримуйте сповіщення про активність щодо цієї публікації

Це запитання позначене
geolocationwebsitesmultiwebsitev14
2 Відповіді
5711 Переглядів
Аватар
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
Аватар
Відмінити
Sion sweet
Автор

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

Аватар
rk-aix
Найкраща відповідь

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
Аватар
Відмінити
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
Автор

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
Автор

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
Автор

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

Аватар
Ashish Hirpara
Найкраща відповідь

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
Аватар
Відмінити
Sion sweet
Автор

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!

Реєстрація
Related Posts Відповіді Переглядів Дія
(odoo CE v14 ) Odoo Server Error by creating a website in a Multi-website DB
multiwebsite v14
Аватар
0
бер. 21
83
Select Multiple Categories in Website Odoo 14
websites v14 eCommerce
Аватар
Аватар
Аватар
2
лип. 23
4691
Unknown CORS Error in js file
geolocation CORS Odoo13.0 v14
Аватар
Аватар
1
лют. 25
10226
[14.0] Multiple Website in Single Database
nginx website_builder website multiwebsite v14
Аватар
Аватар
Аватар
2
серп. 23
6466
How to remove the 'Powered by Odoo - The #1 Open Source eCommerce' footer from the website? Вирішено
websites
Аватар
Аватар
Аватар
Аватар
3
лист. 25
1995
Спільнота
  • Навчальний посібник
  • Документація
  • Форум
Open Source
  • Завантаження
  • Github
  • Runbot
  • Переклади
Послуги
  • Хостинг Odoo.sh
  • Підтримка
  • Оновлення
  • Кастомні доробки
  • Навчання
  • Знайдіть бухгалтера
  • Знайдіть партнера
  • Стати партнером
Про нас
  • Наша компанія
  • Торгові активи
  • Зв'яжіться з нами
  • Вакансії
  • Події
  • Подкаст
  • Блог
  • Клієнти
  • Юридичні документи • Конфіденційність
  • Безпека
الْعَرَبيّة 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 - це набір програм для роботи з відкритим кодом, які охоплюють всі ваші потреби компанії: CRM, електронна комерція, бухгалтерський облік, склад, точка продажу, управління проектами тощо.

Унікальна пропозиція Odoo - це одночасно дуже проста у використанні та повністю інтегрована.

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