Odoo, ранее называвшийся OpenERP, — это набор бизнес-приложений с открытым исходным кодом. Он широко известен как ведущее программное обеспечение для планирования ресурсов предприятия (ERP) с открытым исходным кодом. Odoo предлагает широкий спектр модулей, которые можно объединить в одно приложение, что значительно способствует его широкому распространению. Последняя версия Odoo, Odoo 18, содержит дополнительные функции, которые повышают удобство использования. Обновлённый интерфейс включает сочетания клавиш, упрощающие выбор записей и позволяющие легко выбирать несколько записей одновременно. В этой статье вы найдёте инструкции по установке Odoo 18 на Debian 12.
Предварительные требования
- VPS на базе Debian 12 с оперативной памятью не менее 2 ГБ.
- ROOT-доступ по SSH или пользователь с привилегиями sudo.
Соглашения
# — указанные команды должны выполняться с правами суперпользователя либо напрямую от имени пользователя 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 вам будет предложено ввести главный пароль. Главный пароль указан в файле конфигурации 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, пожалуйста, поделитесь ею со своими друзьями или оставьте комментарий ниже.