Установка Odoo 19 на Ubuntu
В этом руководстве описано, как установить и настроить Odoo 19 на сервере Ubuntu 24.04 LTS. Odoo 19 вносит множество функциональных и технических улучшений для упрощения бизнес-процессов.
Odoo 19 готов к обязательной электронной счёт-фактуре во Франции: с 1 сентября 2026 года компании, зарегистрированные для НДС, должны получать (и в зависимости от размера — выставлять) электронные счета в структурированном формате (Factur-X, UBL, CII) и при необходимости подписанные PDF с доказательной силой. Odoo позволяет генерировать соответствующие PDF-счета и интегрироваться с утверждёнными платформами.
Заказать сервер
Для размещения вашего экземпляра Odoo HostMyServers предлагает несколько подходящих вариантов:
- VPS Performance — идеально для небольших компаний
- NVMe VPS — отличное соотношение цены и качества
- Эко выделенные серверы — для развёртываний с высокой нагрузкой
- Выделенные серверы Performance — максимальная производительность
Предварительные требования
- SSH-доступ от root или пользователя с sudo
- Система Ubuntu 24.04 LTS 64 бит
- Процессор x64
- Минимум 2 ГБ ОЗУ (4 ГБ рекомендуется для Odoo + PostgreSQL)
- Около 10 ГБ свободного места на диске (рекомендуется SSD)
- Доступен порт 8069 (веб-интерфейс Odoo)
Требуемая конфигурация
| Компонент | Минимум | Рекомендуется |
|---|---|---|
| ОЗУ | 2 ГБ | 4–8 ГБ |
| CPU | 2 ядра | 4 ядра |
| Хранилище | 10 ГБ SSD | 20 ГБ SSD |
| Сеть | 100 Мбит/с | 1 Гбит/с |
Odoo прослушивает порт 8069 (HTTP). Не забудьте открыть этот порт в брандмауэре.
Подключение к серверу
Убедитесь, что вы подключены к серверу Ubuntu перед началом. В зависимости от окружения:
Подключение с именем пользователя и IP (порт по умолчанию)
Если сервер использует стандартный SSH-порт (22):
ssh пользователь@ip_адрес_сервера
- пользователь: имя входа на сервер
- ip_адрес_сервера: IP-адрес, назначенный вашему серверу
Подключение с нестандартным портом
Если серве р использует порт SSH, отличный от 22:
ssh -p номер_порта пользователь@ip_адрес_сервера
Подключение с PEM-ключом
Если требуется аутентификация по PEM-ключу:
ssh -i /путь/к/вашему/ключу.pem пользователь@ip_адрес_сервера
Выберите метод, соответствующий вашей настройке. После подключения можно приступать к установке.
Обновление системы
Обновите сервер Ubuntu перед установкой Odoo 19:
sudo apt-get update
sudo apt-get upgrade -y
Безопасность сервера
Усильте безопасность сервера перед продолжением.
OpenSSH Server
Для удалённого управления:
sudo apt-get install -y openssh-server
Fail2Ban
Fail2Ban защищает от подбора пароля, временно блокируя соответствующие IP:
sudo apt-get install -y fail2ban
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
Проверьте, что Fail2Ban активен:
sudo systemctl status fail2ban
Установка пакетов и библиотек
Odoo 19 требует нескольких системных пакетов. Уст ановите их следующими командами.
Pip и зависимости Python
sudo apt-get install -y python3-pip
sudo apt-get install -y python3-dev libxml2-dev libxslt1-dev zlib1g-dev libsasl2-dev libldap2-dev build-essential libssl-dev libffi-dev libpq-dev libjpeg-dev libjpeg8-dev liblcms2-dev libblas-dev libatlas-base-dev
Node.js и NPM
Node.js используется для некоторых фронтенд-задач Odoo:
sudo apt-get install -y npm
Если команда node от сутствует, создайте символическую ссылку:
sudo ln -sf /usr/bin/nodejs /usr/bin/node
Less и плагины CSS
Odoo использует Less как препроцессор CSS:
sudo npm install -g less less-plugin-clean-css
sudo apt-get install -y node-less
Установка и настройка PostgreSQL
Odoo 19 использует PostgreSQL для базы данных.
Установить PostgreSQL
sudo apt-get install -y postgresql
Создать пользователя БД Odoo
Переключитесь на пользователя PostgreSQL и создайте отдельного пользователя:
sudo su - postgres
createuser --createdb --username postgres --no-createrole --superuser --pwprompt odoo19
exit
- createdb: позволяет пользователю создавать базы данных
- odoo19: имя пользователя PostgreSQL для Odoo
Выберите надёжный пароль для пользователя odoo19 и сохраните его для файла конфигурации.
Создание системного пользователя Odoo
Создайте отдельного системного пользователя для запуска Odoo:
sudo adduser --system --home=/opt/odoo19 --group odoo19
- --system: создаёт системного пользователя (низкий UID)
- --home=/opt/odoo19: каталог установки Odoo
- --group odoo19: группа с тем же именем
Получение Odoo 19 (Community) с GitHub
Установить Git
sudo apt-get install -y git
Клонировать репозиторий Odoo 19
Войдите под пользователем odoo19 и клонируйте репозиторий в домашний каталог:
sudo su - odoo19 -s /bin/bash
cd /opt/odoo19
git clone https://github.com/odoo/odoo.git --depth 1 --branch 19.0 --single-branch .
exit
--branch 19.0 загружает стабильную ветку Odoo 19. Для разработки используйте master.
Установка пакетов Python и зависимостей
Виртуальное окружение Python
sudo apt-get install -y python3-venv
sudo python3 -m venv /opt/odoo19/venv
Активировать окружение и установить зависимости
sudo -s
cd /opt/odoo19
source venv/bin/activate
pip install -r requirements.txt
wkhtmltopdf (генерация PDF)
Odoo использует wkhtmltopdf для PDF-отчётов. Скачайте и установите подходящий пакет:
# Зависимость OpenSSL для некоторых версий wkhtmltopdf
sudo wget -q http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb -O /tmp/libssl1.1.deb
sudo dpkg -i /tmp/libssl1.1.deb 2>/dev/null || true
# Шрифты для PDF
sudo apt-get install -y xfonts-75dpi
# Загрузка wkhtmltopdf (версия Bionic, совместимая с Ubuntu 24)
cd /tmp
sudo wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.jammy_amd64.deb
sudo dpkg -i wkhtmltox_0.12.6.1-3.jammy_amd64.deb || sudo apt-get install -f -y
Если пакет Jammy недоступен, можно использовать версию Bionic:
sudo wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb
sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb
sudo apt-get install -f -y
Деактивировать виртуальное окружение
deactivate
exit
Файл конфигурации Odoo
Скопировать файл конфигурации по умолчанию
sudo cp /opt/odoo19/debian/odoo.conf /etc/odoo19.conf
Редактировать конфигурацию
sudo nano /etc/odoo19.conf
Пример конфигурации:
[options]
; Пароль для операций с БД (создание, резервная копия и т. д.)
admin_passwd = ВАШ_ПАРОЛЬ_АДМИНА
db_host = localhost
db_port = 5432
db_user = odoo19
db_password = ВАШ_ПАРОЛЬ_POSTGRESQL
addons_path = /opt/odoo19/addons
logfile = /var/log/odoo/odoo19.log
| Параметр | Описание |
|---|---|
admin_passwd | Пароль интерфейса управления БД (создание, резервная копия и т. д.) |
db_host | Хост PostgreSQL (часто localhost) |
db_user | Пользователь PostgreSQL, созданный для Odoo |
db_password | Пароль пользователя PostgreSQL |
addons_path | Путь к аддонам Odoo |
logfile | Файл лога |
Права и каталог логов
sudo mkdir -p /var/log/odoo
sudo chown odoo19:root /var/log/odoo
sudo chown odoo19: /etc/odoo19.conf
sudo chmod 640 /etc/odoo19.conf
Сервис systemd
Чтобы управлять Odoo 19 как сервисом (запуск, остановка, автозапуск).
Создать файл сервиса
sudo nano /etc/systemd/system/odoo19.service
Содержимое:
[Unit]
Description=Odoo 19
Documentation=https://www.odoo.com
[Service]
Type=simple
User=odoo19
ExecStart=/opt/odoo19/venv/bin/python3 /opt/odoo19/odoo-bin -c /etc/odoo19.conf
[Install]
WantedBy=multi-user.target
Если в venv используется конкретная версия (например python3.12), укажите путь: /opt/odoo19/venv/bin/python3.12
Включить и запустить сервис
sudo systemctl daemon-reload
sudo systemctl enable odoo19.service
sudo systemctl start odoo19.service
Проверить статус
sudo systemctl status odoo19.service
Просмотр логов
sudo tail -f /var/log/odoo/odoo19.log
Доступ к Odoo
Откройте браузер и перейдите по адресу:
http://ip_или_домен_сервера:8069
При первом входе Odoo предложит создать новую базу данных: имя БД, email, пароль и язык.
Порт по умолчанию — 8069. Если вы изменили порт в /etc/odoo19.conf (параметр http_port), укажите его в URL.
Настройка брандмауэра
Откройте порт 8069, если используете UFW:
sudo ufw allow 8069/tcp
sudo ufw reload
Полезные команды
| Команда | Описание |
|---|---|
sudo systemctl start odoo19 | Запустить Odoo |
sudo systemctl stop odoo19 | Остановить Odoo |
sudo systemctl restart odoo19 | Перезапустить Odoo |
sudo systemctl status odoo19 | Статус сервиса |
sudo tail -f /var/log/odoo/odoo19.log | Следить за логами в реальном времени |
Структура файлов
| Путь | Описание |
|---|---|
/opt/odoo19/ | Установка Odoo (исходный код, venv) |
/opt/odoo19/addons/ | Официальные аддоны |
/etc/odoo19.conf | Файл конфигурации |
/var/log/odoo/odoo19.log | Файл лога |
В случае проблем
Сервис не запускается
- Проверьте логи:
sudo journalctl -u odoo19.service -n 100 - Проверьте конфиг:
sudo -u odoo19 /opt/odoo19/venv/bin/python3 /opt/odoo19/odoo-bin -c /etc/odoo19.conf --stop-after-init - Убедитесь, что PostgreSQL запущен:
sudo systemctl status postgresql
Ошибка подключения к БД
- Проверьте
db_host,db_user,db_passwordиdb_portв/etc/odoo19.conf - Проверьте подключение:
sudo -u postgres psql -c "\du"(список пользователей) - Убедитесь, что пользователь
odoo19существует в PostgreSQL
Нет доступа к веб-интерфейсу
- Проверьте, что порт 8069 открыт:
sudo ss -tlnp | grep 8069 - Проверьте брандмауэр:
sudo ufw status - Просмотрите логи Odoo на наличие ошибок при запуске
Проблемы с производительностью
- Увеличьте ресурсы сервера (ОЗУ, CPU)
- Настройте обратный прокси (Nginx/Apache) с кэшем и SSL
- Используйте воркеры задач, настроив параметры в
odoo19.conf