Как настроить систему продажи билетов Zammad в Ubuntu 16.04
На этой странице
- Что мы будем делать
- Предпосылки
- Шаг 1. Настройка языковых стандартов
- Шаг 2. Установите систему продажи билетов Zammad
- Шаг 3. Установите и настройте SSL Letsencrypt
- Шаг 4. Настройка Nginx для Zammad
- Шаг 5. Настройка Zammad
- Шаг 6. Дополнительные советы
- Справочник
Zammad — это система службы поддержки/службы поддержки с открытым исходным кодом, написанная на Ruby. Это веб-система продажи билетов с множеством функций, включая поддержку управления общением с клиентами по нескольким каналам, таким как Facebook, Telegram, чат и электронная почта. Zammad распространяется под Стандартной общественной лицензией GNU AFFERO (AGPL) и может быть установлен на нескольких платформах, таких как Linux, AIX, FreeBSD, OpenBSD и MacOSX. Он доступен на Github и может быть установлен бесплатно на вашем собственном сервере.
В этом руководстве мы покажем вам, как установить и настроить систему продажи билетов Zammad с использованием веб-сервера Nginx и PostgreSQL для системы баз данных. ОС будет Ubuntu 16.04 Xenial Xerus и будет использовать SSL Letsencrypt для защиты клиент-серверных соединений.
Что мы будем делать
- Настройка локалей в Ubuntu 16.04
- Установить систему продажи билетов Zammad
- Установка и настройка SSL Letsencrypt
- Настройка Nginx HTTPS
- Конфигурация Zammad
- Дополнительные советы
Предпосылки
- Убунту 16.04
- ОЗУ: 2 ГБ или больше.
- Привилегии root
Шаг 1. Настройте локали
Нам нужно настроить нашу локальную систему на UTF-8 для установки базы данных PostgreSQL. Установите локали в системе с помощью следующей команды apt.
apt install locales
Создайте новую локаль UTF-8 и сделайте ее локалью по умолчанию в системе.
locale-gen en_US.UTF-8
echo 'LANG=en_US.UTF-8' > /etc/default/locale
Затем проверьте настройки локали с помощью следующей команды.
locale
И вы должны получить используемую в настоящее время локаль системы как UTF-8.
Шаг 2. Установите систему продажи билетов Zammad.
Zammad можно установить двумя способами: ручная установка из исходников или установка пакетов из репозитория. В этом уроке мы установим Zammad из репозитория.
Добавьте в систему новый ключ и репозиторий Zammad.
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 с помощью команды apt, как показано ниже.
sudo apt update
sudo apt install zammad
Примечание:
Zammad автоматически установит другие необходимые пакеты, включая веб-сервер Nginx и базу данных PostgreSQL.
И когда вы закончите установку, вы увидите результат, похожий на тот, что показан на следующем снимке экрана.
Zammad вместе с другими необходимыми пакетами был установлен в системе.
Шаг 3 - Установите и настройте SSL Letsencrypt
В этом руководстве мы настроим Zammad для использования HTTPS для безопасных соединений между клиентом и сервером. Мы будем использовать бесплатный SSL от Letsencrypt, и его можно настроить с помощью инструмента letsencrypt.
Установите инструмент letsencrypt из официального репозитория с помощью команды apt.
apt install letsencrypt
Инструмент Letsencrypt был установлен. Теперь перейдите в каталог конфигурации Nginx /etc/nginx/ и отредактируйте файл виртуального хоста по умолчанию.
cd /etc/nginx/sites-available/
vim default
Вставьте конфигурацию ниже в разделе сервера {..}.
location ~ /.well-known {
allow all;
}
Вот и все. Сохраните изменения и перезапустите nginx.
systemctl restart nginx
Затем создайте новый SSL-сертификат для собственного доменного имени с помощью приведенной ниже команды letsencrypt.
letsencrypt certonly --standalone -d zammad.hakase-labs.co
Вас спросят об уведомлении об обновлении электронной почты, введите свой адрес электронной почты.
Также будет задан вопрос об условиях обслуживания Letsencrypt (TOS), выберите «Согласен» и нажмите «Ввод».
После создания SSL-сертификата вы увидите результат, аналогичный показанному ниже.
Все файлы сертификатов доступны в каталоге /etc/letsencrypt/live/, и были созданы новые файлы сертификатов SSL для Zammad.
Шаг 4. Настройте Nginx для Zammad
Веб-сервер Nginx автоматически устанавливается в процессе установки Zammad. Конфигурация виртуального хоста для Zammad доступна в каталоге /etc/nginx/sites-available.
На этом этапе нам нужно отредактировать файл zammad.conf виртуального хоста zammad, чтобы реализовать конфигурацию SSL.
Перейдите в каталог, доступный для сайтов, и отредактируйте файл zammad.conf с помощью vim.
cd /etc/nginx/sites-available/
vim zammad.conf
Удалите все строки и вставьте конфигурацию ниже.
#
# 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;
}
}
Сохраните изменения и выйдите из редактора.
Итак, виртуальный хост Zammad включен с SSL. Теперь проверьте конфигурацию и убедитесь в отсутствии ошибок. Затем перезапустите веб-сервер nginx.
nginx -t
systemctl restart nginx
Виртуальный хост Zammad теперь использует конфигурацию SSL.
Шаг 5 - Настройка Zammad
Zammad и другие пакеты, включая Nginx и PostgreSQL, установлены, а также завершена настройка виртуального хоста. Теперь нам нужно выполнить установку и настройку Zammad через веб-браузер.
Откройте веб-браузер и введите URL-адрес zammad zammad.hakase-labs.co. Вы будете автоматически перенаправлены на HTTPS-соединение.
Нажмите «Настроить новую систему».
Следующая страница предназначена для настройки администратора. Здесь введите данные, такие как пользователь-администратор, адрес электронной почты и пароль. Затем нажмите Создать
В качестве названия организации введите название своей организации Hakase-labs Inc и нажмите Далее.
Для настройки электронной почты нажмите «Продолжить». Мы можем выполнить настройку уведомлений по электронной почте со страницы настроек.
затем в окне конфигурации канала нажмите «Пропустить».
И теперь вы видите панель администратора Zammad с красивым пользовательским интерфейсом.
Zammad установлен, HTTPS включен. Он установлен с Nginx в качестве веб-сервера и PostgreSQL в качестве базы данных в Linux Ubuntu 16.04.
Шаг 6 - Дополнительные советы
Zammad состоит из трех компонентов, включая сервер веб-приложений, рабочий процесс и сервер веб-сокетов. Мы можем управлять всеми службами с помощью команды systemcl ниже.
systemctl start zammad
systemctl status zammad
systemctl restart zammad
Если вы хотите настроить отдельные службы, вы можете использовать определенные команды, как показано ниже.
systemctl status zammad-web
systemctl status zammad-worker
systemctl status zammad-websocket
Установка Zammad на Ubuntu 16.04 Xenial Xerus завершена.
Ссылка
- https://docs.zammad.org/