Как установить Odoo 17 на Ubuntu 24.04

Odoo, ранее известная как OpenERP, представляет собой набор бизнес-приложений с открытым исходным кодом. Это широко используемое программное обеспечение с открытым исходным кодом для планирования ресурсов предприятия (ERP). Odoo предоставляет множество модулей, которые могут быть установлены в рамках одного приложения, что способствует его нынешней популярности. В последней версии Odoo 17 появились дополнительные функции, повышающие удобство использования. В интерфейс последней версии интегрированы сочетания клавиш, что упрощает задачу выбора записей и позволяет без труда делать множественный выбор. В этой статье мы покажем, как установить Odoo 17 на серверы Ubuntu 24.04

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

На момент написания этой статьи Odoo 17 не поддерживает Python 3.12. При попытке установить Odoo с помощью Python 3.12 вы увидите ошибку. Поэтому, чтобы продолжить установку, мы будем использовать 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

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

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

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

Вот и все! Новый системный пользователь под именем „odoo17“ добавлен, а его домашним каталогом является /opt/odoo17.

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

Для хранения данных Odoo поддерживает только PostgreSQL Давайте выполним приведенную ниже команду, чтобы установить сервер PostgreSQL на нашу систему Ubuntu 24.04.

apt install postgresql

После установки PostgreSQL создайте пользователя PostgreSQL с тем же именем, что и новый системный пользователь. Выполните следующую команду для создания пользователя PostgreSQL:

su - postgres -c "createuser -s odoo17"

Все готово, теперь у нас есть системный пользователь и пользователь PostgreSQL с тем же именем „odoo17“. Мы можем перейти к следующему шагу.

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

Wkhtmltopdf, инструмент командной строки, доступен как решение с открытым исходным кодом для преобразования HTML-данных в формат PDF с помощью Qt webkit. Однако, поскольку пакет .DEB для Ubuntu 24.04 все еще недоступен, мы можем установить его из стандартного репозитория Ubuntu.

apt install wkhtmltopdf

Обратите внимание, что wkhtmltopdf из репозитория Ubuntu 24.04 собран не на основе форкнутой версии Qt, поэтому некоторые опции не поддерживаются. Вы можете проверить и загрузить пакет .DEB для Ubuntu 24.04 по адресу https://wkhtmltopdf.org/downloads.html. Также вы можете скачать и установить пакет для Ubuntu 22.04.

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

В предыдущем шаге мы добавили нового системного пользователя для установки и запуска Odoo. Давайте переключимся на системного пользователя „odoo17“, чтобы загрузить файлы Odoo с GitHub и создать новое окружение Python.

su - odoo17

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

git clone https://www.github.com/odoo/odoo --depth 1 --branch 17.0 odoo17

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

Используя виртуальную среду Python, этот метод установки Odoo позволяет вам установить несколько версий Odoo на ваш сервер. Теперь, когда Odoo 17 загружен в папку /opt/odoo/odoo17, пришло время создать виртуальную среду Python.

python3.11 -m venv odoo17-venv

На данный момент у нас есть новая виртуальная среда Python в каталоге /opt/odoo17/odoo17-venv, которую необходимо активировать перед установкой Odoo.

source odoo17-venv/bin/activate

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

(odoo17-venv) odoo17@ubuntu24:~$

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

(odoo17-venv) odoo17@ubuntu24:~$ pip3 install wheel setuptools pip --upgrade
(odoo17-venv) odoo17@ubuntu24:~$ pip3 install -r odoo17/requirements.txt

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

mkdir /opt/odoo17/odoo17/custom-addons

Готово, давайте выйдем от пользователя „odoo17“ и создадим конфигурационный файл Odoo.

exit

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

nano /etc/odoo17.conf

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

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

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

Шаг 6. Создание файла Odoo Systemd Unit

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

nano /etc/systemd/system/odoo17.service

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

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

Сохраните файл и выйдите из системы. И не забудьте перезагрузить службу systemd, а затем запустить Odoo.

systemctl daemon-reload
systemctl enable --now odoo17

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

systemctl status odoo17

Откройте ваш любимый веб-браузер и перейдите по адресу http://YOUR_SERVER_IP_ADDRESS:8069. Вы увидите страницу Odoo по умолчанию.

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

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

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

Установка и настройка Nginx

Чтобы использовать Nginx, мы можем установить его, выполнив следующую команду:

apt install nginx

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

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

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

upstream odoo17 {
   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/odoo17.access.log;
   error_log /var/log/nginx/odoo17.error.log;
   proxy_buffers 16 64k;
   proxy_buffer_size 128k;
location / {
   proxy_pass http://odoo17;
   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://odoo17;
   }
}

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

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

systemctl restart nginx

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

Установка и настройка Apache

Если вы предпочитаете Apache, а не Nginx, или у вас уже установлен Apache, вы можете выполнить этот шаг.

apt install apache2

После установки Apache мы можем создать новый виртуальный хост.

nano /etc/apache2/sites-enabled/odoo.conf

Вставьте следующее в файл odoo.conf.

<VirtualHost *:80>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
ErrorLog ${APACHE_LOG_DIR}/yourdomain-error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyRequests Off
<Proxy *>
Order deny,allow
Require all granted
</Proxy>
ProxyPass / http://127.0.0.1:8069/
ProxyPassReverse / http://127.0.0.1:8069/
<Location />
Order allow,deny
Require all granted
</Location>
</VirtualHost>

Убедитесь, что вы заменили yourdomain.com на ваше реальное доменное имя, затем перезапустите Apache.

systemctl restart apache2

Поздравляем! Вы следовали этой статье и успешно установили Odoo 17 на свой сервер Ubuntu 24.04. На данный момент вы можете установить различные плагины, такие как счета-фактуры, бухгалтерский учет, инвентаризация и многие другие в зависимости от потребностей вашего бизнеса.

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

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

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

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