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

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


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

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

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

В этом руководстве я покажу вам, как установить и настроить систему продажи билетов Zammad, используя веб-сервер Nginx и PostgreSQL для системы баз данных. Мы будем использовать сервер CentOS 7 и использовать SSL Letsencrypt для защиты клиент-серверных соединений. ;var slotId=div-gpt-ad-howtoforge_com-medrectangle-3-0;var ffid=1;var alS=1021%1000;var container=document.getElementById(slotId);container.style.width=100%;var ins=document.createElement(ins);ins.id=slotId+-asloaded;ins.className=adsbygoogle ezasloaded;ins.dataset.adClient=pid;ins.dataset.adChannel=cid;if(ffid==2){ins. набор данных.fullWidthResponsive=true;}

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

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

Предпосылки

  • Система CentOS 7
  • Не менее 2 ГБ ОЗУ.
  • Привилегии root

Шаг 1. Установите систему продажи билетов Zammad.

Перед установкой системы продажи билетов Zammad на CentOS 7 нам необходимо установить репозиторий EPEL (дополнительные пакеты для Enterprise Linux) для установки нашего веб-сервера Nginx.

Добавьте репозиторий EPEL, установив пакет epel с помощью следующей команды yum.

sudo yum -y install epel-release

В систему добавлен репозиторий EPEL.

Затем импортируйте ключ Zammad с помощью команды rpm import.

sudo rpm --import https://rpm.packager.io/key

Добавьте репозиторий Zammad, создав новый файл .repo в каталоге yum.repos.d с помощью редактора vim.

vim /etc/yum.repos.d/zammad.repo

Вставьте туда следующую информацию.

[zammad]
name=Repository for zammad/zammad application.
baseurl=https://rpm.packager.io/gh/zammad/zammad/centos7/stable
enabled=1

Вот и все. Сохранить и выйти.

Теперь установите Zammad, используя следующую команду yum.

sudo yum -y install zammad

Примечание. Когда мы устанавливаем Zammad, он автоматически устанавливает другие необходимые пакеты, включая веб-сервер Nginx и базу данных PostgreSQL.

И после завершения установки вы увидите результат, подобный показанному ниже.

Zammad и другие пакеты - веб-сервер Nginx и база данных PostgreSQL - были установлены.

Шаг 2. Установите и настройте Letsencrypt SSL

В этом руководстве мы хотим настроить Zammad под Nginx HTTPS и с использованием бесплатного SSL от Letsencrypt. И мы сделаем это на этом шаге и воспользуемся инструментом certbot (агент Letsencrypt), который можно установить из репозитория.

Установите инструмент пакета certbot из репозитория, используя yum.

yum -y install certbot

Далее нам нужно сгенерировать новые SSL-сертификаты с помощью инструмента certbot. Убедитесь, что у вас есть собственный домен для создания файлов сертификатов. Мы будем использовать доменное имя zammad.hakase-labs.com.

Перейдите в каталог конфигурации Nginx и откройте файл nginx.conf в редакторе vim.

cd /etc/nginx/
vim nginx.conf

Вставьте следующую конфигурацию в блок server {}.

        location ~ /.well-known {
                allow all;
        }

Сохранить и выйти. Затем проверьте конфигурацию и перезапустите веб-сервер.

nginx -t
systemctl restart nginx

Перед созданием файлов SSL-сертификата убедитесь, что ваш системный порт для HTTP и HTTPS не заблокирован брандмауэром. Вы можете открыть порты HTTP и HTTPS в CentOS с помощью команды firewall-cmd, как показано ниже.

firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Теперь создайте файлы сертификатов SSL, используя следующую команду certbot.

certbot certonly --standalone -d zammad.hakase-labs.co

Вас спросят об адресе электронной почты для обновления уведомлений. Введите адрес электронной почты и нажмите Enter, чтобы продолжить. Для условий обслуживания Letsencrypt (TOS) введите A, чтобы согласиться. Точно так же, когда вас попросят поделиться электронной почтой с EFF Foundation, просто введите N вместо «нет».

Когда команда certbot будет завершена, вы увидите результат, как показано ниже.

Созданы новые файлы сертификатов SSL для нашей установки Zammad. Все сертификаты находятся в каталоге /etc/letsencryp/live/.

Шаг 3. Настройте веб-сервер Nginx.

На этом этапе мы настроим файл виртуального хоста для Zammad. Он автоматически создается в каталоге /etc/nginx/conf.d/ во время установки zammad.

Перейдите в /etc/nginx/conf.d/ и отредактируйте файл zammad.conf.

cd /etc/nginx/conf.d/
vim zammad.conf

Измените всю конфигурацию, как показано ниже.

#
# this is the Nginx config for zammad
#

upstream zammad {
    server localhost:3000;
}

upstream zammad-websocket {
    server localhost:6042;
}

server {
    listen 80;
    server_name zammad.hakase-labs.co;
    return 301 https://$host$request_uri;
}

server {
    listen 443 http2 ssl;

    ssl_certificate /etc/letsencrypt/live/zammad.hakase-labs.co/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/zammad.hakase-labs.co/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 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

Файл виртуального хоста zammad теперь использует SSL. Проверьте с помощью команды netstat и убедитесь, что у вас есть порт 443 для HTTPS с состоянием LISTEN.

netstat -plntu

Шаг 4 — Конфигурация Zammad

Zammad был установлен на CentOS 7 с Nginx в качестве веб-сервера и PostgreSQL в качестве сервера базы данных и работает по HTTPS-соединению. На этом этапе мы выполним базовую настройку системы продажи билетов Zammad.

Откройте веб-браузер и введите адрес zammad zammad.hakase-labs.co. Вы будете перенаправлены на HTTPS-соединение. Нажмите кнопку «Настроить новую систему», чтобы продолжить.

Теперь заполните всю конфигурацию администратора. Имя пользователя, адрес электронной почты и пароль, а затем нажмите «Создать».

В поле «Название организации» введите название своей компании и нажмите «Далее».

Чтобы получить уведомление по электронной почте, нажмите «Продолжить».

Мы можем выполнить настройку уведомлений по электронной почте со страницы настроек.

Для настройки канала нажмите Пропустить.

И теперь вы видите панель администратора Zammad с красивым пользовательским интерфейсом.

Zammad был установлен с включенным HTTPS, и настройка завершена.

Шаг 5 – Включите службы Zammad

Zammad поставляется с тремя компонентами: сервером веб-приложений, рабочим процессом Zammad и сервером веб-сокетов. Мы можем управлять всеми службами с помощью команды systemcl ниже.

systemctl start zammad
systemctl status zammad
systemctl restart zammad

Если вы хотите настроить службы одну за другой, вы можете использовать определенные компоненты, как показано ниже.

systemctl status zammad-web
systemctl status zammad-worker
systemctl status zammad-websocket

Установка Zammad Ticketing System на CentOS 7 завершена.

Ссылка

  • https://docs.zammad.org/