Как установить Odoo 18 на AlmaLinux 10?

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

Необходимые условия

  • AlmaLinux 10 VPS с не менее чем 2 ГБ оперативной памяти
  • SSH root-доступ или пользователь с привилегиями sudo.

Условные обозначения

– given commands should be executed with root privileges either directly as a root user or by use of sudo command
– given commands should be executed as a regular user

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

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

sudo dnf install bzip2-devel freetype gcc git openldap-devel libxslt-devel python3 python3-devel libjpeg-devel redhat-rpm-config xorg-x11-fonts-75dpi xorg-x11-fonts-Type1 -y

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

Не рекомендуется устанавливать экземпляр Odoo под пользователем root. В этой статье мы установим экземпляр Odoo 18 под новым системным пользователем odoo18. Поэтому нам нужно создать новую системную учетную запись.

sudo useradd -md /opt/odoo18 -Urs /bin/bash odoo18

Команда выше добавляет нового системного пользователя odoo18 с /opt/odoo18 в качестве домашней директории. Odoo 18 будет установлена в эту директорию.

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

Odoo поддерживает только PostgreSQL в качестве движка Базы данных. Установим его прямо из репозитория.

sudo dnf install postgresql-server postgresql-devel postgresql-server-devel -y

В Almalinux нам нужно инициализировать базу данных, выполнив эту команду перед запуском службы PostgreSQL:

sudo postgresql-setup --initdb --unit postgresql

Без инициализации базы данных мы не сможем запустить Сервер PostgreSQL.

Теперь мы можем запустить его и включить при загрузке.

sudo systemctl enable --now postgresql

Теперь, когда установка PostgreSQL завершена, мы можем добавить нового пользователя PostgreSQL для нашего Odoo 18, выполнив эту команду:

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

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

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

Пакет wkhtmltopdf для AlmaLinux 10 еще не выпущен. Однако мы можем использовать пакет для AlmaLinux 9. Вы можете перейти на страницу и проверить ссылку на скачивание.

Получив ссылку на скачивание, загружаем пакет.

wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox-0.12.6.1-2.almalinux9.x86_64.rpm -O wkhtmltox.rpm

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

sudo rpm -Uvh wkhtmltox.rpm

Вот и все, теперь он должен быть установлен. Мы можем проверить версию.

wkhtmltopdf --version

На экране появится вот такой вывод:

wkhtmltopdf 0.12.6.1 (with patched qt)

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

На предыдущем шаге мы создали нового пользователя системы под именем odoo18. Мы будем использовать этого пользователя для установки Odoo 18. Давайте переключимся на этого пользователя и установим Odoo.

su - odoo18

Теперь пришло время скачать Odoo 18 с github.

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

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

python3 -m venv odoo18-venv

Виртуальная среда установлена, теперь пришло время активировать ее, выполнив эту команду.

source odoo18-venv/bin/activate

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

(odoo18-venv) [odoo18@rh ~]$

Далее мы можем установить Odoo

pip3 install wheel
pip3 install -r odoo18/requirements.txt

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

deactivate
mkdir /opt/odoo18/odoo18/custom-addons
exit

Шаг 6. Создание файла конфигурации Odoo

Теперь создадим файл конфигурации Odoo 18.

sudo 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
http_port = 8069

Вы можете заменить пароль m0d1fyth15 на более надежный. Сохраните его и выйдите.

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

Для управления сервисом Odoo 18 на этом шаге мы создадим файл systemd unit.

sudo nano /etc/systemd/system/odoo18.service

Вставьте следующее в файл блока 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 должна перезагружаться каждый раз, когда мы изменяем файл systemd.

sudo systemctl daemon-reload
sudo systemctl enable --now odoo18

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

sudo systemctl status odoo18

Команда, приведенная выше, выдаст следующее сообщение:

● odoo18.service - Odoo18
     Loaded: loaded (/etc/systemd/system/odoo18.service; enabled; preset: disabled)
     Active: active (running) since Mon 2025-04-01 21:58:30 CDT; 21min ago
 Invocation: 69fc34cc6fae434fb2bd3eeb1f7db594
   Main PID: 2755 (python3)
      Tasks: 4 (limit: 23175)
     Memory: 90M (peak: 92.1M)
        CPU: 4.348s
     CGroup: /system.slice/odoo18.service
             └─2755 /opt/odoo18/odoo18-venv/bin/python3 /opt/odoo18/odoo18/odoo-bin -c /etc/odoo18.conf

Откройте веб-браузер и перейдите по адресу http://YOUR_SERVER_IP_ADDRESS:8069, и вы увидите страницу Odoo.

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

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

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

Все просто, выполните эту команду:

sudo dnf install nginx

При установке nginx не запускается автоматически. Выполним приведенную ниже команду, чтобы включить nginx и запустить его при загрузке.

sudo systemctl enable --now nginx

Теперь Nginx должен быть запущен. Перейдем к следующему шагу и создадим блок сервера nginx.

sudo 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.

sudo systemctl restart nginx

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

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

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

sudo dnf install httpd

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

sudo nano /etc/httpd/conf.d/odoo.conf

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

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

Замените yourdomain.com на ваше доменное имя, сохраните файл и перезапустите Apache.

sudo systemctl restart httpd

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

Поздравляем! Вы следовали этой статье и успешно установили Odoo 18 на ваш сервер AlmaLinux 10. Теперь вы можете добавить новую базу данных и начать настраивать свой сайт Odoo.

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

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

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

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