Поиск по сайту:

Как настроить систему продажи билетов Zammad в Ubuntu 16.04


На этой странице

  1. Что мы будем делать
  2. Предпосылки
  3. Шаг 1. Настройка языковых стандартов
  4. Шаг 2. Установите систему продажи билетов Zammad
  5. Шаг 3. Установите и настройте SSL Letsencrypt
  6. Шаг 4. Настройка Nginx для Zammad
  7. Шаг 5. Настройка Zammad
  8. Шаг 6. Дополнительные советы
  9. Справочник

Zammad — это система службы поддержки/службы поддержки с открытым исходным кодом, написанная на Ruby. Это веб-система продажи билетов с множеством функций, включая поддержку управления общением с клиентами по нескольким каналам, таким как Facebook, Telegram, чат и электронная почта. Zammad распространяется под Стандартной общественной лицензией GNU AFFERO (AGPL) и может быть установлен на нескольких платформах, таких как Linux, AIX, FreeBSD, OpenBSD и MacOSX. Он доступен на Github и может быть установлен бесплатно на вашем собственном сервере.

В этом руководстве мы покажем вам, как установить и настроить систему продажи билетов Zammad с использованием веб-сервера Nginx и PostgreSQL для системы баз данных. ОС будет Ubuntu 16.04 Xenial Xerus и будет использовать SSL Letsencrypt для защиты клиент-серверных соединений.

Что мы будем делать

  1. Настройка локалей в Ubuntu 16.04
  2. Установить систему продажи билетов Zammad
  3. Установка и настройка SSL Letsencrypt
  4. Настройка Nginx HTTPS
  5. Конфигурация Zammad
  6. Дополнительные советы

Предпосылки

  • Убунту 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/