Как установить Odoo 18 на Ubuntu 26.04

Odoo — это набор бизнес-приложений с открытым исходным кодом. Он предлагает целый ряд модулей, которые можно установить в рамках одного приложения, что и делает Odoo столь популярным в наши дни. Последняя версия Odoo делает систему ERP более адаптированной к современным потребностям бизнеса, проще в использовании и лучше подготовленной к решению операционных и нормативных задач. Новые функции в Odoo 18 — это не просто незначительные улучшения, а существенные изменения во многих областях: улучшенный интерфейс пользователя (UI) и пользовательский опыт (UX), более гибкие веб-сайты для электронной коммерции, более современные системы управления запасами и цепочкой поставок в области отслеживания и упаковки, расширенные возможности бухгалтерского учета и обеспечения соответствия нормативным требованиям, а также начало учета вопросов устойчивого развития (ESG). В этой статье мы покажем вам, как установить Odoo 18 на сервере Ubuntu 26.04.

Необходимые условия

  • VPS на Ubuntu 26.04 с объемом оперативной памяти не менее 2 ГБ
  • Root-доступ по SSH или права обычного пользователя системы с привилегиями sudo

Шаг 1. Обновление системы

Прежде всего, чтобы система оставалась обновленной, нам нужно войти на наш VPS с Ubuntu 26.04 через SSH:

ssh master@IP_Address -p Port_number

Замените master на пользователя с правами sudo или root, если необходимо. Кроме того, замените IP_Address и Port_Number на соответствующий IP-адрес вашего сервера и номер порта SSH. Далее, давайте убедимся, что мы находимся в Ubuntu 26.04. Вы можете проверить это с помощью следующей команды:

lsb_release -a

Вы должны получить следующий вывод:

No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu Resolute Raccoon 
Release:    26.04
Codename:    resolute

Затем выполните следующую команду, чтобы убедиться, что все установленные на сервере пакеты обновлены до последних доступных версий:

sudo apt update

Вот и все, информация о системных пакетах теперь должна быть обновлена.

Шаг 2. Добавление системного пользователя

На этом шаге мы установим Odoo 18 под учетной записью системного пользователя. Итак, на этом шаге мы создадим новую системную учетную запись. Этот пользователь будет называться odoo18, но вы можете использовать любое другое имя.

sudo /usr/sbin/adduser \
   --system \
   --shell /bin/bash \
   --gecos 'Odoo user' \
   --group \
   --home /opt/odoo18 \
odoo18

Готово, добавлен новый системный пользователь с именем odoo18, его домашний каталог — /opt/odoo18.

Шаг 3. Установка зависимостей

Для Odoo 18 требуется как минимум Python 3.10. А Ubuntu Resolute Raccoon поставляется с Python 3.13. Таким образом, мы можем установить его из стандартного репозитория Ubuntu, выполнив приведенную ниже команду.

sudo apt install build-essential wget git python3-pip python3-dev python3-venv python3-wheel libfreetype6-dev libxml2-dev libzip-dev libsasl2-dev python3-setuptools libjpeg-dev zlib1g-dev libpq-dev libxslt1-dev libldap2-dev libtiff5-dev libopenjp2-7-dev

Шаг 4. Установка PostgreSQL

PostgreSQL — единственный движок базы данных, который Odoo поддерживает для хранения данных. Odoo 18 требует как минимум PostgreSQL 12, а в репозитории Ubuntu есть PostgreSQL 18. Выполним приведенную ниже команду, чтобы установить сервер PostgreSQL на наш сервер Ubuntu 26.04.

sudo apt install postgresql

После этого мы можем добавить нового пользователя PostgreSQL для нашего Odoo 18, запустив эту команду:

sudo su - postgres -c "createuser -s odoo18"

Шаг 5. Установка Wkhtmltopdf

Пакет wkhtmltopdf доступен в репозитории Ubuntu, но это не исправленная версия. Исправленная версия wkhtmltopdf для Qt обеспечивает лучшую совместимость и больше возможностей, чем стандартная версия, которую обычно можно получить из репозиториев по умолчанию. Если вам требуется надежное создание PDF-файлов с расширенной поддержкой CSS и JavaScript, нам нужно установить именно эту версию.

cd /tmp
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

После установки вы можете проверить версию, выполнив эту команду

wkhtmltopdf --version

Вы увидите вывод примерно такого вида:

wkhtmltopdf 0.12.6.1 (with patched qt)

Шаг 6. Установка Odoo

На компьютере с Ubuntu 26.04 мы можем установить Odoo, используя стандартный репозиторий Ubuntu, но при этом будет установлена версия Odoo 18. В этой статье мы установим Odoo 18 в виртуальной среде Python. На предыдущем шаге мы уже создали системного пользователя, давайте переключимся на этого системного пользователя odoo18, а затем установим Odoo под этим именем пользователя.

sudo su - odoo18

Домашний каталог odoo18 находится в /opt/odoo18. После перехода к пользователю odoo18 мы окажемся в этом каталоге. Далее приступим к загрузке Odoo 18 с github.

git clone https://www.github.com/odoo/odoo --depth 1 --branch 18.0 odoo18

Мы клонировали Odoo 18 в каталог /opt/odoo18/odoo18. Теперь давайте создадим виртуальную среду Python. С помощью виртуальной среды Python мы можем установить несколько версий Odoo на одном компьютере.

Выполним следующую команду, чтобы создать новую виртуальную среду Python.

python3 -m venv odoo18-venv

Мы установили виртуальную среду; теперь пришло время активировать ее, выполнив эту команду.

source odoo18-venv/bin/activate

После выполнения командной строке оболочки будет выглядеть следующим образом:

(odoo18-venv) odoo18@ubuntu26:~$

Далее давайте установим Odoo

(odoo18-venv) odoo18@ubuntu26:~$ pip3 install wheel
(odoo18-venv) odoo18@ubuntu26:~$ pip3 install -r odoo18/requirements.txt

Установка Odoo займет некоторое время.

(odoo18-venv) odoo18@ubuntu26:~$ deactivate

Мы можем создать новый каталог для хранения наших пользовательских дополнений Odoo.

mkdir /opt/odoo18/odoo18/custom-addons

Теперь выйдите из пользователя odoo18 и создайте файл конфигурации Odoo.

exit
sudo nano /etc/odoo18.conf

Вставьте в файл следующее содержимое.

[options]
admin_passwd = m0d1fyth15
db_host = False
db_port = False
db_user = odoo18
db_password = False
addons_path = /opt/odoo18/odoo18/addons,/opt/odoo18/odoo18/custom-addons
http_port = 8069

Обязательно замените значение m0d1fyth15 выше на более надежный пароль. Это ваш главный пароль Odoo; он понадобится вам для создания или удаления баз данных.

Шаг 7. Создание файла модуля systemd для Odoo

На этом шаге мы создадим файл модуля systemd для запуска/остановки/перезапуска Odoo.

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

Вставьте следующее содержимое в файл модуля systemd выше.

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

Скопировать в буфер обменаВот и все. Теперь мы можем перезагрузить systemd и запустить Odoo.

sudo systemctl daemon-reload
sudo systemctl start odoo18

Скопировать в буфер обменаПроверьте, запускается ли Odoo, выполнив следующую команду:

sudo systemctl status odoo18

Скопировать в буфер обменаОткройте веб-браузер и перейдите по адресу http://YOUR_SERVER_IP_ADDRESS:8069, чтобы увидеть страницу Odoo.

После создания новой базы данных вы перейдете в бэкэнд.

Шаг 8. Настройка обратного прокси

По сравнению с Apache, Odoo работает лучше при совместном использовании с Nginx в качестве обратного прокси. В этом руководстве мы установим и настроим Nginx. Запустите следующую команду для его установки

sudo apt -y install nginx

После установки Nginx запустится автоматически. Он также настроен на автоматический запуск при перезагрузке.

Теперь давайте создадим блок сервера Nginx для доменного имени, которое вы будете использовать для доступа к Odoo. Например, мы будем использовать yourdomain.com

sudo nano /etc/nginx/sites-enabled/yourdomain.com

Вставьте следующее в этот файл

upstream odoo18 {
    server 127.0.0.1:8069;
}
upstream odoochat {
    server 127.0.0.1:8072;
}
server {
    listen 80;
    server_name yourdomain.com;
    access_log /var/log/nginx/odoo.access.log;
    error_log /var/log/nginx/odoo.error.log;
    proxy_buffers 16 64k;
    proxy_buffer_size 128k;
location / {
    proxy_pass http://odoo18;
    proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
}
location /websocket {
    proxy_redirect off;
    proxy_pass http://odoochat;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    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;
}
location ~* /web/static/ {
    proxy_cache_valid 200 60m;
    proxy_buffering on;
    expires 864000;
    proxy_pass http://odoo18;
    }
}

Сохраните файл и перезапустите веб-сервер, чтобы изменения вступили в силу

sudo systemctl restart nginx

Заключение

Поздравляем! Вы следовали инструкциям этой статьи и успешно установили Odoo 18 на свой сервер Ubuntu 26.04.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Похожие статьи

Комментарии (2)

Автар по умолчанию