ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как установить Odoo 18 на Debian 12

Odoo, ранее называвшийся OpenERP, — это набор бизнес-приложений с открытым исходным кодом. Он широко известен как ведущее программное обеспечение для планирования ресурсов предприятия (ERP) с открытым исходным кодом. Odoo предлагает широкий спектр модулей, которые можно объединить в одно приложение, что значительно способствует его широкому распространению. Последняя версия Odoo, Odoo 18, содержит дополнительные функции, которые повышают удобство использования. Обновлённый интерфейс включает сочетания клавиш, упрощающие выбор записей и позволяющие легко выбирать несколько записей одновременно. В этой статье вы найдёте инструкции по установке Odoo 18 на Debian 12.

 

Предварительные требования

 

Соглашения

# — указанные команды должны выполняться с правами суперпользователя либо напрямую от имени пользователя root, либо с помощью команды sudo
$ — указанные команды должны выполняться от имени обычного пользователя

 

Шаг 1. Войдите в VPS и обновите систему

Прежде всего нам нужно войти в наш VPS Debian 12 через SSH с помощью вашего любимого терминала:

ssh root@IP-адрес -номер порта p

 

Замените «root» на имя пользователя с правами sudo. Замените «IP-адрес» и «Номер_порта» на IP-адрес вашего сервера и номер SSH-порта. Далее давайте убедимся, что мы работаем в Debian 12. Это можно сделать следующим образом:

# lsb_release -a

 

Команда должна вернуть результат, подобный этому:

No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm

 

Прежде чем начать, убедитесь, что все пакеты Debian, установленные на сервере, обновлены. Это можно сделать, выполнив следующие команды:

# apt update -y

 

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

На момент написания этой статьи в Debian 12 установлен Python 3.11. Поскольку для Odoo 18 требуется как минимум Python 3.11, нам не нужно устанавливать новый Python. Давайте сначала установим его зависимости, прежде чем переходить к следующему шагу.

apt install build-essential wget git python3.11-dev python3.11-venv \
    libfreetype-dev libxml2-dev libzip-dev libsasl2-dev \
    node-less libjpeg-dev zlib1g-dev libpq-dev \
    libxslt1-dev libldap2-dev libtiff5-dev libopenjp2-7-dev libcap-dev

 

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

Существует несколько способов установки Odoo. Самый простой и удобный способ — установить его из репозитория. Но мы будем устанавливать Odoo 18 с помощью виртуальной среды Python. Поскольку он будет работать под обычным системным пользователем, мы создадим нового системного пользователя. Давайте выполним приведенную ниже команду, чтобы добавить нового системного пользователя.

# useradd -m -d /opt/odoo18 -Urs /bin/bash odoo18

 

Хорошо! Добавлен новый системный пользователь с именем «odoo18». Его домашний каталог — /opt/odoo18, и именно этот каталог мы будем использовать для установки.

 

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

Пожалуйста, обратите внимание, что Odoo поддерживает только PostgreSQL. На этом этапе мы установим сервер PostgreSQL из репозитория Debian 12 по умолчанию.

# apt install postgresql

 

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

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

 

Наш Odoo 18 будет запускать сервис с использованием нового пользователя PostgreSQL. Перейдём к следующему шагу.

 

Шаг 5. Установите wkhtmltopdf

Wkhtmltopdf — это инструмент командной строки с открытым исходным кодом для преобразования HTML-данных в формат PDF с помощью Qt Webkit. Debian 12 также предоставляет этот пакет в своём репозитории, но мы будем использовать версию с исправлениями для QT. Однако пакет .DEB для Debian 12 до сих пор недоступен на официальной странице загрузки.

# wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb
# apt install ./libssl1.1_1.1.1f-1ubuntu2_amd64.deb
# wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.bullseye_amd64.deb
# apt install ./wkhtmltox_0.12.6.1-2.bullseye_amd64.deb

 

Если вы видите сообщение об ошибке, вы можете выполнить эту команду:

# apt install -f

 

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

На этом этапе мы должны переключиться на системного пользователя, которого создали ранее. Давайте переключимся на системного пользователя «odoo18», чтобы загрузить файлы Odoo с GitHub и создать новую среду Python.

# su - odoo18

 

Далее давайте загрузим Odoo с GitHub.

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

 

Создайте виртуальную среду Python.

Этот способ установки Odoo позволяет установить несколько версий Odoo на одном сервере с помощью виртуальной среды Python. Давайте создадим новую виртуальную среду Python для Odoo 18.

$ python3.11 -m venv odoo18-venv

 

На этом этапе у нас есть новая виртуальная среда Python в каталоге /opt/odoo18/odoo18-venv. Нам нужно активировать её перед установкой Odoo.

$ source odoo18-venv/bin/activate

 

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

(odoo18-venv) odoo18@debian12:~$

 

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

(odoo18-venv) odoo18@debian12:~$ pip install wheel setuptools pip --upgrade
(odoo18-venv) odoo18@debian12:~$ pip install -r odoo18/requirements.txt

 

Дождитесь завершения установки; она будет выполнена в каталоге /opt/odoo18/odoo18. Теперь мы можем создать новый каталог для хранения наших пользовательских дополнений Odoo.

$ mkdir /opt/odoo18/odoo18/custom-addons

 

Готово! Давайте выйдем из аккаунта «odoo18» и создадим файл конфигурации Odoo.

$ exit

 

Приведённая выше команда должна вернуть вас к предыдущему пользователю, в данном случае к root.

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

 

Замените m0d1fyth15 на более надёжный пароль. Это будет ваш главный пароль Odoo. Сохраните файл, затем выйдите из редактора nano.

 

Шаг 7. Создайте модульный файл Odoo Systemd

Чтобы управлять только что установленной Odoo 18, нам нужно создать файл службы systemd. Давайте выполним приведённую ниже команду, чтобы завершить этот этап.

# systemctl edit odoo18 --force --full

 

Приведённая выше команда откроет текстовый редактор. Вставьте следующее содержимое в файл модуля 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.

# systemctl daemon-reload
# systemctl enable --now odoo18

 

Проверьте, запускается ли Odoo, выполнив эту команду:

# systemctl status odoo18

 

Теперь вы можете перейти по адресу http://IP-АДРЕС_ВАШЕГО_СЕРВЕРА:8069 и увидите страницу Odoo по умолчанию

Как установить Odoo 18 на Debian 12

 

При работе с базой данных Odoo вам будет предложено ввести главный пароль. Главный пароль указан в файле конфигурации Odoo и является значением admin_passwd. Убедитесь, что вы используете надежный пароль для главного пароля Odoo.

 

Шаг 8. Установите и настройте обратный прокси

Чтобы получить доступ к вашему сайту Odoo по адресу http://yourdomain.com вместо http://YOUR_SERVER_IP_ADDRESS:8069, необходимо установить веб-сервер и настроить его как обратный прокси-сервер. Обратный прокси-сервер предлагает множество преимуществ, таких как балансировка нагрузки, кэширование, сжатие и обслуживание статического контента. Давайте установим веб-сервер.

# apt install nginx

 

На сервере Debian 12 Nginx должен быть запущен после установки. Давайте создадим новый блок сервера Nginx.

# nano /etc/nginx/conf.d/odoo.conf

 

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

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/odoo18.access.log;
   error_log /var/log/nginx/odoo18.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 /longpolling {
   proxy_pass http://odoochat;
   }


location ~* /web/static/ {
   proxy_cache_valid 200 60m;
   proxy_buffering on;
   expires 864000;
   proxy_pass http://odoo18;
   }
}

 

Замените yourdomain.com на своё доменное имя или имя поддомена, указывающее на IP-адрес вашего сервера. Затем сохраните файл и выйдите из редактора.

Чтобы применить изменения, мы можем перезапустить Nginx.

# systemctl restart nginx

 

Вот и всё. Теперь вы должны иметь доступ к Odoo 18 по адресу http://yourdomain.ru.

 

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

Если вам понравилась эта статья об установке Odoo 18 на Debian 12, пожалуйста, поделитесь ею со своими друзьями или оставьте комментарий ниже.

Exit mobile version