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

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

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

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

  • Операционная система: Ubuntu (в связи с использованием пакетного менеджера apt).

  • Привилегии: Требуется доступ root или sudo для установки пакетов и управления сервисами Docker.

  • Конфигурация домена: Необходим действующий доменное имя в зоне hostkey.in.

  • Необходимые пакеты:

    • ca-certificates

    • curl

    • git

FQDN финальной панели в домене hostkey.in

Приложение доступно по полному доменному имени (FQDN) по следующему шаблону: <prefix><Server ID>.hostkey.in

Где <prefix> установлен как zammad.

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

Для конфигурации, исходного кода и SSL-сертификатов используются несколько ключевых директорий:

Путь Описание
/root/zammad-docker-compose Исходные файлы приложения и оркестрация Docker Compose.
/etc/nginx/sites-available/zammad Конфигурационный файл сервера Nginx.
/etc/nginx/sites-enabled/zammad Символическая ссылка на активный сайт Nginx.
/etc/apt/keyrings/docker.asc GPG-ключ безопасности Docker.
/etc/letsencrypt/live/<domain>/ SSL-сертификаты, управляемые Certbot.

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

Приложение развертывается с использованием контейнеризированного подхода через Docker Compose v2. Развертывание включает следующие этапы:

  1. Установка Docker Engine и плагина Docker Compose.

  2. Клонирование репозитория zammad-docker-compose в директорию /root/zammad-docker-compose.

  3. Настройка переменных окружения в файле .env для поддержки HTTPS и доверенных прокси (trusted proxies).

  4. Оркестрация сервисов с помощью команды docker compose up -d.

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

Безопасность обеспечивается за счет сочетания обратного проксирования (reverse proxying) через Nginx и SSL-шифрования:

  • Межсетевой экран/Прокси: Nginx выступает в роли reverse proxy, перенаправляя трафик с внешнего порта на внутренний контейнер приложения.

  • SSL/TLS: Certbot используется для получения и управления SSL-сертификатами Let's Encrypt. Включено автоматическое перенаправление (redirection) с HTTP на HTTPS.

  • Доверенные прокси (Trusted Proxies): Приложение настроено на доверие 127.0.0.1/32 для заголовков проксирования.

Docker-контейнеры и их развертывание

Развертывание опирается на Docker Compose для управления стеком Zammad. Для инициализации контейнеров используется следующая команда:

cd /root/zammad-docker-compose && docker compose up -d

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

Nginx настроен как reverse proxy для обработки входящего веб-трафика и терминации (termination) SSL-соединений.

Компонент Детали конфигурации
Веб-сервер Nginx
SSL-провайдер Certbot (Let's Encrypt)
Протокол проксирования HTTP/1.1 с поддержкой WebSocket (Upgrade header)
Внутренний целевой прокси http://127.0.0.1:8080

Расположение конфигурационных файлов и данных

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

  • Конфигурация Nginx: /etc/nginx/sites-available/zammad

  • Переменные окружения Docker: /root/zammad-docker-compose/.env

Доступные порты для подключения

Порт Направление Использование
443 Внешний Защищенный веб-доступ по HTTPS (через Nginx)
80 Внешний Перенаправление HTTP на HTTPS
8080 Внутренний Сервис приложения Zammad (внутренний трафик контейнера)

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

Управление сервисами осуществляется через Docker Compose в директории приложения.

  • Запуск/Перезапуск сервисов:

    cd /root/zammad-docker-compose && docker compose up -d
    

  • Остановка/Пересоздание контейнеров:

    cd /root/zammad-docker-compose && docker compose down && docker compose up -d
    

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