Odoo 19: Полное руководство по установке для Ubuntu 24.04 (Community & Enterprise)

Введение

Развертывание ERP-системы часто кажется сложной задачей, но правильная архитектура превращает этот процесс в четкий алгоритм. В этом руководстве мы разберем, как поднять Odoo 19 на свежей Ubuntu 24.04, используя метод установки из исходного кода в изолированном виртуальном окружении.

Главная фишка этого метода – универсальность. Мы сразу закладываем структуру папок и прав, которая позволяет работать на бесплатной Community-версии, но дает возможность мгновенно перейти на Enterprise-версию простым добавлением модулей в папку addons. Никаких правок – только чистая работа с Python venv и автоматический SSL через Caddy.

Технический стэк, на котором проверена данная инструкция:

  • ОС: Ubuntu 24.04 LTS
  • Среда: Python 3.12 (Virtual Environment)
  • Веб-сервер: Caddy (автоматический HTTPS и проксирование)
  • База данных: PostgreSQL 16.11
  • Виртуальная машина: 2 vCPU, 4 ГБ ОЗУ, 40 ГБ NVMe

Info

В целом – данная инструкция может работать с любыми версиями вспомогательного ПО. Критичным здесь является только дистрибутив ОС Ubuntu 24.04 LTS.

Шаг 1: Подготовка системы

Обновление системы:

sudo apt update && sudo apt upgrade -y

Установка необходимых пакетов:

sudo apt install -y git python3-pip python3-dev python3-venv \ libxml2-dev libxslt1-dev zlib1g-dev libsasl2-dev \ libldap2-dev build-essential libssl-dev libffi-dev \ libmysqlclient-dev libjpeg-dev libpq-dev libjpeg8-dev \ liblcms2-dev libwebp-dev libharfbuzz-dev libfribidi-dev \ libxcb1-dev nodejs npm

Шаг 2: База данных (PostgreSQL)

Установка БД PostgreSQL и создание пользователя

sudo apt install -y postgresql # Создаем пользователя БД sudo -u postgres createuser -s odoo19

Шаг 3: Системный пользователь и исходный код

Создадим пользователя odoo19 и загрузим ветку 19.0.

sudo useradd -m -d /opt/odoo19 -U -r -s /bin/bash odoo19 sudo su - odoo19

sudo git clone https://www.github.com/odoo/odoo --depth 1 --branch 19.0 /opt/odoo19/odoo

Шаг 4: Виртуальное окружение (обязательно для 24.04)

Находясь в сессии пользователя odoo19:

python3 -m venv odoo-venv source odoo-venv/bin/activate pip install --upgrade pip pip install wheel phonenumbers pip install -r /opt/odoo19/odoo/requirements.txt

Выйдите из сессии пользователя Odoo19:

exit

Шаг 5: PDF-генератор (wkhtmltopdf)

Для Ubuntu 24.04 лучше использовать пакет от версии Jammy (22.04) или скачать актуальный бинарный файл, так как в штатных репозиториях пакет может отсутствовать или быть без поддержки QT.

wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2. jammy_amd64.deb sudo apt install ./wkhtmltox_0.12.6.1-2.jammy_amd64.deb -y

Шаг 6: Конфигурация

Создайте файл и укажите надежный admin_passwd. Запомните его, он вам понадобится во время первого входа и инициализации БД:

sudo nano /etc/odoo19.conf

Внесите в него конфигурацию:

[options] admin_passwd = ВАШ_СУПЕР_ПАРОЛЬ db_host = False db_port = False db_user = odoo19 db_password = False addons_path = /opt/odoo19/odoo/addons logfile = /var/log/odoo/odoo19.log proxy_mode = True

Установите права:

# Создаем директорию для логов и пустой файл sudo mkdir /var/log/odoo # Передаем права пользователю odoo19 sudo chown odoo19:odoo19 /var/log/odoo sudo chown odoo19:odoo19 /etc/odoo19.conf # Ограничиваем доступ к конфигу (только для владельца и группы) sudo chmod 640 /etc/odoo19.conf

Шаг 7: Автозапуск (Systemd)

Создайте файл:

sudo nano /etc/systemd/system/odoo19.service

и вставьте в него конфигурацию:

[Unit] Description=Odoo 19 After=network.target postgresql.service [Service] Type=simple User=odoo19 Group=odoo19 ExecStart=/opt/odoo19/odoo-venv/bin/python3 /opt/odoo19/odoo/odoo-bin -c /etc/odoo19.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target

Запустите службу:

sudo systemctl daemon-reload sudo systemctl enable --now odoo19

Шаг 8: Настройка Reverse прокси – Caddy

Установка официального репозитория Caddy для Ubuntu:

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list sudo apt update sudo apt install caddy -y

Настройка Odoo для работы через прокси:

Нужно добавить строку proxy_mode = True в файл конфигурации Odoo, если ее там нет:

sudo nano /etc/odoo19.conf

Перезапуск Odoo:

sudo systemctl restart odoo19

Настройка Caddyfile

Откройте конфигурацию Caddy:

sudo nano /etc/caddy/Caddyfile

И вставьте в него фрагмент кода:

# Замените :80 на ВАШ_ДОМЕН для автоматического SSL :80 { request_body { max_size 300MB } # Longpolling reverse_proxy /longpolling/* localhost:8072 # Основной трафик reverse_proxy localhost:8069 { header_up X-Forwarded-Host {host} header_up X-Forwarded-Proto {scheme} header_up X-Real-IP {remote_host} } }

Проверка конфигурации Caddy и перезапуск сервера:

sudo caddy validate --config /etc/caddy/Caddyfile

sudo systemctl restart caddy

Шаг 9: Первый вход

Откройте в браузере:

  • По IP: http://IP_ВАШЕГО_СЕРВЕРА
  • По домену: https://ВАШ_ДОМЕН (Если он уже был настроен в Caddyfile)

Заполните форму создания базы данных:

  • Master Password: это ваш пароль с шага №6, где создавался конфигурационный файл Odoo
  • Database Name: например mycompany
  • Email: Ваш email, к которому у вас есть доступ – этот email будет логином в систему
  • Password: это будет ваш пароль для входа в систему
  • Language: выберите нужный
  • Country: выберите нужную страну
  • Demo Data: если нужна чистая база, то не стоит отмечать чекбокс

Нажмите Create database и дождитесь ее создания (1-2 минуты).

Для работы с доменным именем

Чтобы получить автоматический SSL-сертификат от Let's Encrypt:

Шаг 1: Укажите A-запись в DNS: ВАШ_ДОМЕН → IP сервера

Шаг 2: Замените в Caddyfile строку :80 на ВАШ_ДОМЕН

Перезапусти Caddy:

docker compose restart caddy

Caddy автоматически получит SSL-сертификат

Шаг 3: Откройте Oddo по адресу https://ВАШ_ДОМЕН

VAT

  • Other

    Other

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    %
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • Other
  • canada
  • poland
  • european-union
  • france
  • germany
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria