Установка и настройка Zammad на Ubuntu 16.04 с Nginx и Let's Encrypt
Важно: перед началом убедитесь, что у вас есть доступ root и публичное доменное имя, указывающее на сервер.
Что такое Zammad
Zammad — это web‑приложение для службы поддержки и тикетов, написанное на Ruby. Одной строкой: это веб‑система тикетов с поддержкой нескольких каналов коммуникации (электронная почта, чат, Telegram, Facebook и др.). Термин: тикет — запись обращения клиента с историей действий и метаданными.
Что мы сделаем
- Настроим локали на Ubuntu 16.04
- Установим Zammad из репозитория
- Установим и настроим SSL через Let’s Encrypt
- Настроим Nginx на работу с HTTPS и Zammad
- Пройдем первоначальную веб‑настройку Zammad
- Дадим дополнительные советы, чек‑листы и команды управления
Требования
- Ubuntu 16.04 (Xenial Xerus)
- Оперативная память: 2 ГБ или больше
- Права root или sudo
- Публичный DNS‑имя (A/AAAA запись), указывающее на сервер
Шаг 1 — Настройка локалей
Перед установкой PostgreSQL и других компонентов рекомендуется использовать UTF‑8 локаль.
Установите пакет локалей:
apt install localesСгенерируйте локаль en_US.UTF-8 и сделайте её системной по умолчанию:
locale-gen en_US.UTF-8
echo 'LANG=en_US.UTF-8' > /etc/default/locale
Проверьте текущую локаль:
localeОжидаемый результат: системная локаль использует UTF-8.

Шаг 2 — Установка Zammad из репозитория
Мы устанавливаем Zammad из официального репозитория пакетов (проще, чем компиляция из исходников).
Добавьте GPG‑ключ и репозиторий:
wget -qO - https://deb.packager.io/key | sudo apt-key add -
echo "deb https://deb.packager.io/gh/zammad/zammad xenial stable" | sudo tee /etc/apt/sources.list.d/zammad.listОбновите кеш пакетов и установите Zammad:
sudo apt update
sudo apt install zammadПримечание: установщик автоматически добавит зависимости, включая Nginx и PostgreSQL.
После установки вы увидите итоговую информацию в выводе apt.

Шаг 3 — Установка и получение SSL‑сертификата Let’s Encrypt
Мы будем использовать certbot (инструмент Let’s Encrypt) для получения бесплатного сертификата и затем настроим Nginx.
Установите клиент letsencrypt (название пакета в репозитории Ubuntu 16.04 — letsencrypt/certbot):
apt install letsencryptПерейдите в каталог конфигурации Nginx и откройте виртуальный хост по умолчанию:
cd /etc/nginx/sites-available/
vim defaultВнутри секции server добавьте разрешение для ACME запросов:
location ~ /.well-known {
allow all;
}Сохраните файл и перезапустите Nginx:
systemctl restart nginxГенерируем сертификат для вашего домена (замените zammad.hakase-labs.co на своё доменное имя):
letsencrypt certonly --standalone -d zammad.hakase-labs.coВо время процедуры укажите адрес электронной почты для уведомлений о продлении и примите условия обслуживания.


После успешного получения сертификата файлы будут лежать в /etc/letsencrypt/live/<ваш-домен>/. Пример сообщения об успешном создании сертификата:

Шаг 4 — Настройка Nginx для Zammad
Zammad поставляет конфигурацию Nginx в /etc/nginx/sites-available. Отредактируем или создадим конфигурацию zammad.conf и добавим SSL‑параметры.
Откройте файл:
cd /etc/nginx/sites-available/
vim zammad.confУдалите содержимое или замените его на приведённый ниже фрагмент (проверьте и поменяйте server_name и пути к сертификатам на ваши домены и пути):
#
# this is the nginx config for zammad
#
upstream zammad {
server localhost:3000;
}
upstream zammad-websocket {
server localhost:6042;
}
# Added - Automatically redirect HTTP to HTTPS Nginx
server {
listen 80;
server_name zammad.irsyadf.me;
return 301 https://$host$request_uri;
}
# Added - HTTPS configuration for Zammad
server {
listen 443 http2 ssl;
ssl_certificate /etc/letsencrypt/live/zammad.irsyadf.me/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/zammad.irsyadf.me/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
# replace 'localhost' with your fqdn/domain name if you want to use zammad from remote
server_name zammad.irsyadf.me;
root /opt/zammad/public;
access_log /var/log/nginx/zammad.access.log;
error_log /var/log/nginx/zammad.error.log;
client_max_body_size 50M;
location ~ ^/(assets/|robots.txt|humans.txt|favicon.ico) {
expires max;
}
location /ws {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header CLIENT_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 86400;
proxy_pass http://zammad-websocket;
}
location / {
proxy_set_header Host $http_host;
proxy_set_header CLIENT_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 180;
proxy_pass http://zammad;
gzip on;
gzip_types text/plain text/xml text/css image/svg+xml application/javascript application/x-javascript application/json application/xml;
gzip_proxied any;
}
}Сохраните и проверьте конфигурацию Nginx, затем перезапустите сервис:
nginx -t
systemctl restart nginxЕсли тест (-t) выдаёт ошибку, внимательно проверьте синтаксис и пути к сертификатам.
Шаг 5 — Первичная веб‑настройка Zammad
Откройте веб‑браузер и перейдите по вашему доменному имени, например:
Вы будете перенаправлены на HTTPS. Следуйте мастеру установки:
- Нажмите “Setup new System” (Запустить новый инстанс)

- Создайте учётную запись администратора: email и пароль.

- Укажите название организации и другие базовые параметры.

- Конфигурация электронной почты и каналов может быть пропущена на первом этапе — её удобнее настраивать позже в Settings.

- Пропустите подключение каналов, если хотите настроить их вручную позже.

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

Zammad установлен, Nginx и PostgreSQL настроены, HTTPS включён.
Шаг 6 — Дополнительные советы и управление сервисами
Zammad состоит из трёх ключевых компонентов: веб‑приложение, воркеры и вебсокеты. Все они управляются systemd‑юнитами.
Общие команды:
systemctl start zammad
systemctl status zammad
systemctl restart zammadПроверка отдельных сервисов:
systemctl status zammad-web
systemctl status zammad-worker
systemctl status zammad-websocketЕсли нужно перезапустить только воркеры или вебсокеты, используйте соответствующие unit‑файлы.
Частые ошибки и способы их устранения
- Ошибка получения сертификата: порт 80 занят. Решение: временно остановите сервис, использующий порт 80, или используйте параметр –webroot с корректным корнем.
- Nginx не стартует после правки конфигурации: выполнить nginx -t и исправить синтаксис, проверить пути к сертификатам.
- Проблемы с подключением WebSocket: убедитесь, что секция /ws в конфигурации Nginx проксирует к правильному upstream (порт 6042) и что zammad-websocket запущен.
Рекомендации по безопасности и соответствию (GDPR)
- Настройте регулярное резервное копирование базы данных и каталога /opt/zammad (медиа, вложения).
- Используйте сильные пароли для учётной записи администратора и второй фактор аутентификации, если доступен.
- Ограничьте доступ к административной панели через брандмауэр или VPN для внутренних интерфейсов.
- Если вы обрабатываете персональные данные граждан ЕС, документируйте основания обработки данных и настройки хранения; храните логи и бэкапы в пределах требований вашей политики конфиденциальности.
Шпаргалка команд (Cheat sheet)
- Установка пакета: sudo apt install zammad
- Проверка Nginx: nginx -t
- Перезапуск Nginx: systemctl restart nginx
- Получение сертификата: letsencrypt certonly –standalone -d <ваш-домен>
- Статус сервисов Zammad: systemctl status zammad*
Критерии приёмки
- По HTTP происходит редирект на HTTPS.
- HTTPS сертификат действителен и соответствует домену.
- Веб‑панель Zammad доступна и позволяет создать администратора.
- Сервисы zammad-web, zammad-worker и zammad-websocket находятся в состоянии active (running).
Чек‑лист ролей перед вводом в эксплуатацию
Администратор инфраструктуры:
- DNS A/AAAA указывает на сервер
- Порты 80 и 443 открыты/разрешены для Let’s Encrypt
- Создан бэкап плана для БД PostgreSQL
Администратор Zammad:
- Создан администратор в веб‑мастере
- Настроена исходящая почта (SMTP)
- Настроены каналы (email, чат, интеграции)
Операционная команда:
- Мониторинг сервисов настроен (systemd/Prometheus/другое)
- План восстановления протестирован
Факт‑бокс — ключевые числа
- Минимальная рекомендованная оперативная память: 2 ГБ
- Порты: 80 (HTTP), 443 (HTTPS), 3000 (внутренний Rails), 6042 (WebSocket)
- Каталог установки веб‑приложения: /opt/zammad
- Местонахождение сертификатов Let’s Encrypt: /etc/letsencrypt/live/<ваш-домен>/
Когда стоит выбрать альтернативу
- Если вам нужна корпоративная поддержка и SLA, рассмотрите коммерческие варианты поддержки Zammad или платные SaaS‑решения.
- Если инфраструктура требует контейнеризации и автоматического масштабирования, развёртывание в Docker/Kubernetes может быть предпочтительнее установки на хост.
Короткая методология установки
- Подготовить сервер: обновить пакеты, настроить локали, открыть порты.
- Добавить репозиторий Zammad и установить пакет.
- Получить SSL‑сертификат и настроить Nginx.
- Запустить веб‑мастер и выполнить базовую конфигурацию.
- Настроить мониторинг и бэкапы.
Краткий глоссарий
- Zammad: система управления тикетами и обращениям клиентов.
- WebSocket: двусторонний канал связи в реальном времени для уведомлений.
- Let’s Encrypt: бесплатный центр сертификации для автоматических SSL‑сертификатов.
Итог
Zammad можно быстро развернуть на Ubuntu 16.04 с помощью пакета из репозитория. Ключевые шаги: настроить локали, установить пакет, получить сертификат Let’s Encrypt, настроить Nginx и пройти веб‑мастер. После установки убедитесь в наличии бэкапов, мониторинга и политики безопасности.
Короткое примечание: документация Zammad содержит детальные инструкции по настройке почты и каналов — при необходимости обращайтесь к официальному руководству.
Справочные материалы
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента