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

Предпосылки

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

Конвенции

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

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

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

1
sudo dnf update -y && sudo dnf upgrade -y

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

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

1
sudo dnf install python3.12 python3.12-pip

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

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

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

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

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

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

1
sudo dnf install @postgresql:16 -y

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

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

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

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

Wkhtmltopdf - это инструмент CLI с открытым исходным кодом, используемый Odoo для рендеринга HTML в PDF и другие форматы изображений через мощный движок рендеринга Webkit. Это необходимо для генерации документов, таких как счета-фактуры, отчеты и другие печатные документы.

1
2
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox-0.12.6.1-2.almalinux9.x86_64.rpm
sudo dnf install -y ./wkhtmltox-0.12.6.1-2.almalinux9.x86_64.rpm

Шаг 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
17
18
[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.12 /opt/odoo18/odoo18/odoo-bin \
  --config=/etc/odoo18.conf \
  --addons-path=/opt/odoo18/odoo18/addons/ \
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 dnf 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 dnf install httpd

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

1
sudo nano /etc/httpd/conf.d/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>

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

1
sudo systemctl restart httpd.service

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

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

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

1
sudo dnf 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 на системах Rocky Linux. Мы начали с подготовки сервера с необходимыми зависимостями, а затем приступили к установке и настройке Odoo ERP. Благодаря обширному модулю Odoo, гибким и мощным настройкам он делает его подходящим бизнес-решением для автоматизации процессов.

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