Hesk — установка своего Open Source Help Desk

Введение

Не так давно наткнулся на подборку Open Source решений для Help Desk, из данного списка выделил парочку интересных вариантов для себя, в данной заметке рассмотрим установку Hesk.

Сабж потыкал, мне понравился, для чего нужен Help Desk рассказывать не буду, пройдусь поверхностно что есть в Hesk:

  • База знаний вместе с Help Desk, достаточно удобно закрыть с помощью этого часто задаваемые вопросы и решения на них, возможность добавлять в них ответы на заявки
  • Добавление заявок без регистрации клиентов, достаточно почты клиента, далее он с помощью нее может следить за статусом своей заявки и получать уведомления о них
  • Шаблоны тикетов и ответов
  • Возможность создания служебных сообщений на главной, в которой можно указать что у нас авария и работаем над проблемой и т.д.
  • Добавление своих полей в форму для заявок, возможность добавить во все формы или в отдельные категории, например можно добавить кабинет в котором находится человек, номер телефона для связи или его учетная запись
  • Поддержка Русского языка
  • Возможность блокировки ip адресов и почтовых аккаунтов
  • Присвоение статусов заявкам и добавление своих статусов
  • Есть защита от спама с помощью встроенной защиты в виде картинки или с помощью reCAPTCHA
  • Возможность составить и выгрузить отчет по заявкам с заданным интервалом по датам
  • Простой внешний вид, интуитивно понятный интерфейс
  • Возможность развернуть его в Docker
Hesk - установка своего Open Source Help Desk

Подготовка

Установку будем производить на Debian 11, будем надеяться что у вас есть доменное имя и в DNS создана A запись на ваш сервер (если конечно вы не хотите пользоваться Hesk локально), для начала:

1. Скачаем сам Hesk с оф. сайта вместе с переводом на Русский язык по данным ссылкам ниже:

Сам Hesk в моем случае это последняя версия 3.4.3
https://www.hesk.com/download.php

Перевод на Русский для версии 3.4.x
https://www.hesk.com/language/download.php?tag=ru&version=3.4

2. Закидываем на наш сервер скачанные архивы любым удобным способом, в любое удобное место и переходим к установке необходимых пакетов и самого сабжа.


Установка Hesk

По ходу установки я буду использовать домен вида help.site.ru, вам нужно будет заменить на свое доменное имя или на ip адрес вашего сервера если ставите для тестов локально, так же подсвечу жирным места которые вам надо будет заменить на свое значение.

1. Обновим все пакеты до актуальных версий:

apt update && apt upgrade -y

2. Создаем директорию под файлы Hesk:

mkdir -p /var/www/help.site.ru

3. Установим Php, Mysql, Certbot, Nginx и Unzip:

apt install nginx certbot python3-certbot-nginx unzip php7.4 php7.4-mysql php7.4-fpm php7.4-imap php7.4-gd php7.4-zip php7.4-curl php7.4-cli php7.4-intl php7.4-imagick php7.4-mbstring php7.4-cgi mariadb-server -y

Настраиваем Nginx

1. Создаем конфиг Nginx:

nano /etc/nginx/sites-available/help.site.ru

2. Вставляем следующее содержимое в /etc/nginx/sites-available/help.site.ru:

server {
    listen 80;
    server_name help.site.ru;

    root /var/www/help.site.ru;
    index index.php;

    access_log /var/log/nginx/hesk.access.log;
    error_log /var/log/nginx/hesk.error.log;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

3. Включаем наш конфиг:

ln -s /etc/nginx/sites-available/help.site.ru /etc/nginx/sites-enabled/
service nginx restart

Выпускаем SSL сертификат с помощью Certbot

1. Выпускаем SSL сертификат для нашего домена с помощью Certbot:

certbot --non-interactive -m admin@site.ru --agree-tos --no-eff-email --nginx -d help.site.ru

2. Перезагружаем Nginx:

service nginx restart

Настраиваем Mysql

1. Запускаем mysql_secure_installation:

mysql_secure_installation

- Вас попросят ввести пароль от root, но т.к мы его не задавали то просто жмем Enter
- Далее нажимаем Y и задаем пароль от root
- Нажим Y тем самым вырубая гостевые аккаунты
- Отключаем Y удаленный доступ root пользователя
- Удаляем Y тестовые базы
- Перезаписываем Y таблицы привилегий

2. Создаем пользователя hesk, базу heskdb, придумываем надежный пароль, даем права на базу:

mysql -uroot -p

CREATE DATABASE heskdb;

GRANT ALL PRIVILEGES ON heskdb.* TO 'hesk'@'localhost' IDENTIFIED BY 'ПАРОЛЬ';

FLUSH PRIVILEGES;

exit

Завершаем установку

1. Извлекаем из скачанных архивов файлы в нашу директорию которую мы создали выше /var/www/help.site.ru:

unzip /home/user/hesk*.zip -d /var/www/help.site.ru

unzip /home/user/ru.zip -d /var/www/help.site.ru/language/

2. Выдаем права на файлы и директории и указываем их владельца www-data:

chown -R www-data:www-data /var/www/help.site.ru

chmod -R 755 /var/www/help.site.ru

3. Заканчиваем установку в браузере:

https://help.site.ru/install/

1. Жмем Click here to INSTALL HESK

Hesk - установка своего Open Source Help Desk

2. Соглашаемся и жмем I ACCEPT (Click to continue)

Hesk - установка своего Open Source Help Desk

3. Заполняем все пункты которые у нас просят

  • Database Name: наша база Mysql heskdb
  • Database User (login): наш пользователь в Mysql hesk
  • User Password: Ваш Пароль пользователя hesk в Mysql
  • Admin Name: Ваше имя пользователя в Hesk
  • Admin email: Ваша почта
  • Choose a Username: Придумываем логин для админки
  • Choose a Password: Придумываем пароль для админки

Выбираем часовой пояс и жмем Continue to Step 4

Hesk - установка своего Open Source Help Desk

4. Удаляем файлы установки install/:

rm -rf /var/www/help.site.ru/install/
Hesk - установка своего Open Source Help Desk

Готово, саму настройку разбирать не буду, там все интуитивно понятно, советую потыкать, посмотреть все, оставлю несколько скринов как это все выглядит в итоге:


Вывод

В данной заметке пробежались по установке Help Desk сервиса — Hesk, буду раз если кому-то помог данной инструкцией.

Что бы не потерять инструкцию рекомендую подписаться на мой личный блог-канал в Telegram в котором я делюсь в формате заметок своими знаниями и интересным из мира IT, спасибо за потраченное время на чтение и доброго времени суток!)

Так же вы можете отблагодарить автора материально:

2 комментария к “Hesk — установка своего Open Source Help Desk”

  1. Добрый день, не могли бы помочь? Настроил по вашей инструкции, hesk работает, но тикеты не забирает с почты. Проверку проходит успешно по imap, по инструкции help- hesk в пятом пункте перехожу на …/hesk_imap.php — выдает 404 ошибку.

    Ответить
    • Приветствую)
      1. Попробовал только что, у меня открывает нормально https://домен.ru/inc/mail/hesk_imap.php, проверяйте ссылку, она должны быть такого вида https://домен.ru/inc/mail/hesk_imap.php
      2. Сделал chmod 755 /var/www/site.ru/inc/mail/hesk_imap.php
      3. Настроил в Электронная почта для отправки заявки imap
      4. Перешел в по ссылке https://домен.ru/inc/mail/hesk_imap.php показало:
      #!/usr/bin/php -q Ошибка: чтобы запустить этот файл через HTTP, вы должны включить в запрос свой URL-ключ доступа. Пример: /inc/mail/hesk_imap.php?key=XXXXXXXXXX
      5. Нашел ключ в настройках-параметры-безопасность-URL ключ-доступа
      6. Отправил письмо на почту и не открывал
      7. Добавил ключ к ссылке (https://домен.ru/inc/mail/hesk_imap.php?key=XXXXXXXXX) в браузере выдало следующее и заявка создалась:
      #!/usr/bin/php -q
      Дальше уже можно закончить по инструкции и готово)

      Вот инструкция если кто-то захочет повторить:
      https://www.hesk.com/knowledgebase/?article=91

      Ответить

Оставьте комментарий