Блог Fixcom

Установка Zammad на Ubuntu Server

В данной статье мы подробно продемонстрируем как установить Zammad на Ubuntu Server 18.04 LTS, перейти на HTTPS протокол и выполнить базовую настройку.

Глоссарий

Zammad - бесплатная система для учета заявок с приятным, удобным и живым интерфейсом. В базовом функционале возможно интегрировать разные каналы коммуникации, такие как телефон, facebook, telegram, чат и электронная почта. Большое преимущество, это интеграция с Whatsapp. Правда реализация сложная, постараемся в скором будущем сделать инструкцию. Администрировать Zammad одно удовольствие. Все легко и понятно. Крутая альтернатива беспощадной и страшной OTRS.

Elasticsearch - поисковый движок, который позволяет смотреть базовые отчеты в Zammad и в целом положительное влияет на производительность системы при большом потоке заявок. Без него аналитика не работает. Установка обязательна, но можно отключить на слабом железе.

Технические характеристики сервера, рекомендуемые авторами проекта для одновременного использования до 40 человек:
  • 2-х ядерный процессор
  • 4 GB оперативной памяти (+4GB если планируете использовать Elasticsearch).
  • Сколько требуется памяти на жестком диске, разработчики не говорят.

В качестве демо-стенда выступает виртуальная машина со следующими характеристиками:
  • 2-х ядерный процессор
  • 1 GB оперативной памяти
  • 20 GB на жестком диске
  • Ubuntu Server 18.04 LTS

Существует пять способов установки, но мы люди простые и пойдем по самому простому пути - установка из DEB-пакета.

Внимание!

Установить Zammad на Ubuntu Server 20.04 можно. Однако возможны проблемы в работе Zammad, так как установочный пакет находится в разработке. Но если вы любите сложности, то далее в процессе установки измените команду:
https://dl.packager.io/srv/zammad/zammad/stable/installer/ubuntu/18.04.repo
на
https://dl.packager.io/srv/zammad/zammad/develop/installer/ubuntu/20.04.repo

Подключаемся к серверу по протоколу SSH и переключимся в сеанс суперпользователя
sudo su

Обязательны шаг перед установкой Zammad, инсталляция Elasticsearch. Выполните команду:
apt-get install apt-transport-https sudo wget

Обновим список источников.
echo "deb <https://artifacts.elastic.co/packages/7.x/apt> stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
Добавим ключи к репозиториям. 
wget -qO - <https://artifacts.elastic.co/GPG-KEY-elasticsearch> | sudo apt-key add -

Обновим пакеты и установим Elasticsearch
apt-get update
apt-get install openjdk-8-jre elasticsearch
Соглашаемся с изменениями, вводим Y и enter.
Начнется скачивание около 400 мегабайт.

Для нормальной работы вложений (XLS, PDF и т.д) устанавливаем дополнительный плагин.
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment

Снова соглашаемся, нажимая на этот раз маленькую y без кавычек и enter.

Перезагружаем службу elasticsearch
systemctl restart elasticsearch

Включаем службу elasticsearch
systemctl enable elasticsearch

Если установлено 4gb+ оперативной памяти, изменяем конфигурацию elasticsearch для лучшей производительности.
nano /etc/elasticsearch/elasticsearch.yml
Пролистываем в самый низ документа и вставляем следующие текст:
http.max_content_length: 400mb
indices.query.bool.max_clause_count: 2000
После сохраняем изменения сочетанием клавиш ctrl+o.

Если сервер содержит менее 4 GB оперативной памяти, рекомендуем внести следующие изменения в конфигурацию elasticsearch
nano /etc/elasticsearch/jvm.options
В документе изменяем параметры Xms. Указываем 50% от доступной памяти. Т.е если, сервер имеет на борту 1GB, рекомендуется задать следующие параметры
-Xms512m
-Xmx512m
В нашем случае, это помогло развернуть elasticsearch. После внесения изменений, нажимаем на сочетание кнопок ctrl+o и enter.

На данном этапе работы по установке и конфигурации elasticsearch выполнены, теперь требуется перейти к установке Zammad. Для начала требуется проверить кодировку Ubuntu. В терминале выполните команду
locale

Должно быть LANG=en_US.UTF-8

Если у вас другие данные, выполняем следующие команды, для решения проблемы с кодировкой.
apt-get install apt-transport-https locales sudo wget
Генерируем требуемую локаль.
locale-gen en_US.UTF-8
Экспортом меняем стандартную кодировку
echo "LANG=en_US.UTF-8" > /etc/default/locale
Снова выполните проверку кодировки с помощью команды locale.

Добавим ключи Zammad к репозиториям.
wget -qO- <https://dl.packager.io/srv/zammad/zammad/key> | sudo apt-key add -

Добавляем репозиторий Zammad в Ubuntu
sudo wget -O /etc/apt/sources.list.d/zammad.list \\
https://dl.packager.io/srv/zammad/zammad/stable/installer/ubuntu/18.04.repo

Обновим пакеты
sudo apt-get update

Запустим установку zammad
sudo apt-get install zammad

Во время установки требуется принять изменения. Введите большую "Y" без кавычек и жмите enter. Процесс установки займет не более 10 минут. После откройте в браузере http://localhost и вы увидите...

Если сервер с белым IP-адресом, измените настройки nginx. Добавьте доменное имя или публичный IP-адрес в конфигурации веб-сервера. Редактируем файл zammad.conf
nano /etc/nginx/sites-enabled/zammad.conf

Вместо localhost укажите белый IP-адрес сервера или доменное имя. Сохраните изменения (ctrl+o)

Перезагрузите веб-сервер nginx.
service nginx restart
Попробуйте в браузере ввести IP-адрес или доменное имя (смотря что вы указали в zammad.conf). Вы должны увидеть...

Повышаем безопасность с помощью Let's Encrypt.

По дефолту Zammad работает через HTTP, делаем HTTPS. Получим SSL сертификаты установим Certbot на сервер. Сначала добавим репозиторий
sudo add-apt-repository ppa:certbot/certbot

Установим пакет Certbot для Nginx
sudo apt install python-certbot-nginx

Cоглашаемся, нажимая на "Y" без кавычек и enter.
Выполните проверку конфигурационного файла Nginx. Убедимся, что все хорошо.  

Выполним команду для получения SSL сертификата 
sudo certbot --nginx -d zd.fixcom.kz
Потребуется ввести email адрес для обновления сертификата и уведомлений о безопасности. После принять условия сервиса. Жмите A и Enter
... Yes 
Certbot спросит, как вы хотите настроить конфигурацию HTTPS. Если производите настройку на новом и выделенном сервере, выбирайте второй вариант.

Certbot установит сертификаты и будет автоматически обновлять их. Проверяем результат, пробуем зайти в Zammad по HTTPS. 

Осталось дело за малым, произвести базовую настройку. Заполняем необходимые поля для создания административной учетной записи. 

Укажите наименование вашей организации и загрузите логотип компании для имиджа. Проверьте "системный URL". Пропишите доменное имя сервера.

Пропустите настройку уведомлений по электронной почте. Настройку каналов коммуникации мы рассмотрим подробнее в другой статье.

...пропустить


Готово, Zammad успешно установлен. Далее мы выполним детальную настройку системы, подключим каналы коммуникации и т.д. Рекомендую ознакомиться с нашей видео инструкцией для пользователей по работе в Zammad. 


Лично пользовался OTRS последние несколько лет, клиент попросил "что-то похожее" внедрить. Начали поиск свежего решения для учета заявок на рынке и случайно попробовали Zammad. Это была любовь с первого взгляда. Сегодня мы успешно мигрировали с OTRS на Zammad со всей информацией, подключили Binotel и в процессе Whatsapp. Остались вопросы, пишите на почту maimyshev@fixcom.kz  и в телеграмм @maimyshev
Zammad
Made on
Tilda