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

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

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

Для успешного развертывания приложения необходимо наличие сервера с операционной системой Debian или Ubuntu (включая версию 24.04). Требуется наличие прав суперпользователя (root) или доступа через sudo для выполнения команд установки пакетов и настройки репозиториев.

Система должна иметь доступ к интернету для загрузки ключей подписи, пакетов из репозиториев и компонентов для генерации PDF-документов.

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

Установка производится через официальные репозитории разработчика для версии 18.0 (ночная сборка). Процесс включает следующие этапы:

  • Добавление ключа подписи репозитория в систему.
  • Настройка источника пакетов в файле /etc/apt/sources.list.d/odoo.list.
  • Установка основного пакета odoo через менеджер пакетов apt.
  • Установка дополнительных библиотек Python для работы с Excel и текстовым форматированием (для версий Ubuntu, отличных от 24.04): xlwt и num2words.
  • Установка библиотеки libssl3 для обеспечения совместимости.
  • Установка утилиты wkhtmltopdf версии 0.12.5 для генерации PDF-документов.
  • Установка зависимостей графического интерфейса для работы wkhtmltopdf: libqt5core5a, libqt5gui5, libqt5network5, libqt5printsupport5, libqt5svg5, libqt5webkit5, libqt5widgets5, xvfb.

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

Для обеспечения работы веб-сервера и получения SSL-сертификатов используется контейнеризация через docker compose.

Конфигурация контейнеров хранится в файле /root/nginx/compose.yml.

Используемый образ контейнера: jonasal/nginx-certbot:latest.

Параметры запуска контейнера: - Режим перезапуска: unless-stopped. - Режим сети: host. - Переменная окружения для электронной почты: CERTBOT_EMAIL=hkadm@hostkey.com. - Файл переменных окружения: /data/nginx/nginx-certbot.env.

Монтируемые тома: - nginx_secrets (внешний том) монтируется в /etc/letsencrypt для хранения сертификатов. - Локальная директория /data/nginx/user_conf.d монтируется в /etc/nginx/user_conf.d для пользовательских конфигураций.

Запуск контейнеров выполняется командой:

docker compose up -d
в директории /root/nginx.

Прокси серверы

В качестве прокси-сервера используется контейнер nginx-certbot, который обрабатывает входящий трафик и управляет SSL-сертификатами через Certbot.

Конфигурация прокси сервера включает: - Использование внешнего тома nginx_secrets для хранения секретов Let's Encrypt. - Подключение пользовательских конфигураций Nginx из директории /data/nginx/user_conf.d. - Автоматическое получение и обновление сертификатов для доменов, указанных в конфигурации.

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

Директория для конфигурации Nginx создается с правами доступа: - Путь: /root/nginx. - Владелец: root. - Группа: root. - Режим доступа: 0644.

Файл конфигурации compose.yml также создается с правами владельца root и группы root с режимом 0644.

Ключ GPG репозитория Odoo сохраняется в /usr/share/keyrings/odoo-archive-keyring.gpg с правами доступа 0400.

Базы данных

Приложение Odoo устанавливается через пакетный менеджер, который по умолчанию настраивает подключение к базе данных PostgreSQL. Конфигурация базы данных хранится в стандартных местах, определенных пакетом odoo в системе.

Запуск, остановка и обновление

Управление сервисом Odoo, установленным через пакетный менеджер, осуществляется стандартными командами системы управления службами (например, systemctl).

Для управления контейнером прокси-сервера используются команды docker compose: - Запуск: docker compose up -d в директории /root/nginx. - Остановка: docker compose down в директории /root/nginx. - Обновление образа и перезапуск: docker compose pull и docker compose up -d.

Обновление самого приложения Odoo производится через обновление пакетов системы:

apt update
apt upgrade odoo

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