Hesk – установка своего Open Source Help Desk
Введение
Не так давно наткнулся на подборку Open Source решений для Help Desk, из данного списка выделил парочку интересных вариантов для себя, в данной заметке рассмотрим установку Hesk.
Сабж потыкал, мне понравился, для чего нужен Help Desk рассказывать не буду, пройдусь поверхностно что есть в Hesk:
- База знаний вместе с Help Desk, достаточно удобно закрыть с помощью этого часто задаваемые вопросы и решения на них, возможность добавлять в них ответы на заявки
- Добавление заявок без регистрации клиентов, достаточно почты клиента, далее он с помощью нее может следить за статусом своей заявки и получать уведомления о них
- Шаблоны тикетов и ответов
- Возможность создания служебных сообщений на главной, в которой можно указать что у нас авария и работаем над проблемой и т.д.
- Добавление своих полей в форму для заявок, возможность добавить во все формы или в отдельные категории, например можно добавить кабинет в котором находится человек, номер телефона для связи или его учетная запись
- Поддержка Русского языка
- Возможность блокировки ip адресов и почтовых аккаунтов
- Присвоение статусов заявкам и добавление своих статусов
- Есть защита от спама с помощью встроенной защиты в виде картинки или с помощью reCAPTCHA
- Возможность составить и выгрузить отчет по заявкам с заданным интервалом по датам
- Простой внешний вид, интуитивно понятный интерфейс
- Возможность развернуть его в Docker
Подготовка
Установку будем производить на 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-fpm php7.4-common php7.4-cli php7.4-mysql php7.4-gd php7.4-imagick php7.4-redis php7.4-tidy php7.4-xmlrpc php7.4-memcached php7.4-intl php7.4-curl php7.4-zip mariadb-server -y
Настраиваем 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; } }
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 [email protected] --agree-tos --no-eff-email --nginx -d help.site.ru
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
2. Соглашаемся и жмем I ACCEPT (Click to continue)
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
4. Удаляем файлы установки install/:
rm -rf /var/www/help.site.ru/install/
Готово, саму настройку разбирать не буду, там все интуитивно понятно, советую потыкать, посмотреть все, оставлю несколько скринов как это все выглядит в итоге:
Вывод
В данной заметке пробежались по установке Help Desk сервиса – Hesk, буду раз если кому-то помог данной инструкцией.
Что бы не потерять инструкцию рекомендую подписаться на мой личный блог-канал в Telegram в котором я делюсь в формате заметок своими знаниями и интересным из мира IT или посетить мой сайт, спасибо за потраченное время на чтение и доброго времени суток!)