Перейти к содержанию

Обзор развертывания Odoo на сервере

Предварительные требования

Для корректной работы приложения требуются следующие условия:

  • Операционная система: Debian или Ubuntu (включая версию 24.04).

  • Права доступа: права суперпользователя (root) для установки системных пакетов и управления Docker.

  • Доменное имя: наличие настроенного DNS для работы через SSL.

  • Порты:

  • 80 — для получения сертификатов Certbot.

  • 443 — для защищенного доступа к приложению.

  • 8069 — внутренний порт приложения Odoo.

FDQN итоговой панели на домене hostkey.in

Для доступа к интерфейсу используется следующий шаблон доменного имени:

Параметр Значение
Префикс odoo
Домен hostkey.in
Полный шаблон odoo{Server_ID}.hostkey.in

Структура файлов и каталогов

Основные данные и конфигурации располагаются в следующих директориях:

  • /root/nginx — рабочая директория для управления контейнером Nginx.

  • /data/nginx/user_conf.d — пользовательские конфигурационные файлы Nginx.

  • /data/nginx/nginx-certbot.env — файл переменных окружения для Certbot.

Процесс установки приложения

Установка выполняется путем настройки системных репозиториев и установки пакетов через менеджер пакетов apt.

  1. Настройка репозитория:

  2. Загружается GPG-ключ Odoo (https://nightly.odoo.com/odoo.key).

  3. Добавляется официальный репозиторий Odoo версии 18.0 в систему.

  4. Установка системных компонентов:

  5. Устанавливается пакет python3-pip.

  6. Устанавливается основной пакет приложения odoo.

  7. Устанавливается библиотека libssl3 (для обеспечения совместимости).

  8. Настройка функционала печати и экспорта:

  9. Устанавливаются зависимости для корректного рендеринга PDF через wkhtmltopdf.

  10. Включаются дополнительные библиотеки: libqt5core5a, libqt5gui5, libqt5network5, libqt5printsupport5, libqt5svg5, libqt5webkit5, libqt5widgets5 и xvfb.

  11. Устанавливается пакет wkhtmltopdf из официальных репозиториев.

  12. Дополнительные зависимости (для старых версий ОС):

  13. Для систем на базе Ubuntu/Debian устанавливаются Python-библиотеки xlwt и num2words для корректного экспорта в XLS и отображения текстовых сумм.

Права доступа и безопасность

  • Брандмауэр: Должны быть открыты порты 80 и 443.

  • Конфигурация Nginx: После получения SSL-сертификатов, прослушивание порта 80 перенаправляется на порт 443 (HTTPS). Настроена передача заголовков Host и X-Forwarded-Proto для корректной работы приложения за обратным прокси.

  • Безопасность: Использование внешнего тома nginx_secrets для защиты SSL-сертификатов.

Контейнеры Docker и их запуск

Для обеспечения работы веб-сервера и автоматического получения SSL-сертификатов используется контейнер:

Параметр Значение
Имя образа jonasal/nginx-certbot:latest
Режим перезапуска unless-stopped
Сеть host
Тома (volumes) nginx_secrets:/etc/letsencrypt
/data/nginx/user_conf.d:/etc/nginx/user_conf.d
Переменные окружения CERTBOT_EMAIL=hkadm@hostkey.com

Инструкция по обновлению приложения

Для обновления основного приложения необходимо выполнить обновление системных пакетов:

apt update && apt upgrade odoo
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×