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

Предпосылки

  • Сервер с Ubuntu 24.04 в качестве ОС
  • Права пользователя: пользователь root или обычный пользователь с привилегиями sudo.

Конвенции

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

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

Свежая установка Ubuntu 24.04 требует обновления пакетов до последних доступных версий.

1
sudo apt-get update -y && sudo apt-get upgrade -y

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

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

1
sudo apt install python3 python3-pip python3-venv

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

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

1
sudo useradd -m -d /opt/odoo18 -Urs /bin/bash odoo18

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

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

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

1
sudo apt install postgresql

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

1
sudo -u postgres psql -c "createuser -s odoo18"

Odoo 18 будет работать с новым пользователем PostgreSQL. Давайте перейдем к следующему шагу.

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

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

1
sudo apt install wkhtmltopdf

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

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

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

1
sudo -i -u odoo18

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

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

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

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

1
$ python3.12 -m venv odoo18-venv

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

1
$ source odoo18-venv/bin/activate

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

1
(odoo18-venv) odoo18@host:~$

Для этого нужно установить Odoo 18.

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

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

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

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

1
$ exit

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

1
sudo nano /etc/odoo18.conf

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

1
2
3
4
5
6
7
[options]
admin_passwd = rsyEZVSl7ykiTM
db_host = 127.0.0.1
db_port = 5432
db_user = odoo18
db_password = False
addons_path = /opt/odoo18/odoo18/addons, /opt/odoo18/odoo18/custom-addons

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

Дайте файлу соответствующие разрешения:

1
2
sudo chown odoo:odoo /etc/odoo18.conf
sudo chmod 640 /etc/odoo18.conf

Шаг 7. Настройте службу systemd для запуска Odoo

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

1
sudo nano /etc/systemd/system/odoo.service

И добавьте следующее содержимое в odoo.service.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
[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

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

1
2
sudo systemctl daemon-reload
sudo systemctl enable odoo.service

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

1
sudo systemctl status odoo.service

Теперь вы можете перейти на http://YOUR_SERVER_IP_ADDRESS:8069, и вы увидите страницу Odoo по умолчанию

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

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

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

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

1
sudo apt install nginx

Создайте обратный конфигурацию прокси-сервера для odoo.

1
sudo nano /etc/nginx/sites-available/odoo.conf

Заполните файл следующей конфигурацией.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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-адрес вашего сервера. Затем сохраните файл и выйдите из редактора.

Включите конфигурацию обратной прокси-сервера odoo Nginx.

1
sudo ln -s /etc/nginx/sites-available/odoo.conf /etc/nginx/sites-enabled/odoo.conf

Проверка конфигурации и перезагрузите службу Nginx.

1
2
sudo nginx -t
sudo systemctl restart nginx.service

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

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

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

1
sudo apt install apache2

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

1
sudo nano /etc/apache2/sites-available/odoo.conf

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
<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>

Включите конфигурацию обратной прокси-сервера odoo Apache2.

1
sudo ln -s /etc/apache2/sites-available/odoo.conf /etc/apache2/sites-enabled/odoo.conf

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

1
sudo systemctl restart apache2.service

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

Шаг 9. Используем Let’s Encrypt SSL

Для серверов в общественном достоянии вы можете использовать бесплатный Let’s Encrypt SSL.

1
sudo apt install certbot python3-certbot-nginx -y

Запрос на Let’s Encrypt SSL.

1
sudo certbot --nginx -d $DOMAIN --agree-tos

Если вы не хотите предоставлять адрес электронной почты.

1
sudo certbot --nginx -d $DOMAIN --agree-tos --register-unsafely-without-email

Он автоматически настраивает /etc/nginx/sites-available/odoo.conf для включения SSL.

Завершение

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

Если вам понравился этот пост об установке Odoo 18 на Ubuntu 24.04, пожалуйста, поделитесь им со своими друзьями в социальных сетях, которым может быть интересна эта статья или оставьте комментарий ниже.