Найти тему
Тюнинг Админа

Система заявок в компании на Ubuntu 22.04 + osTicket

Оглавление

osTicket - это одна из самых популярных систем с открытым исходным кодом для малого и среднего бизнеса, служащая для создания и отслеживая статуса заявок(тикетов) в службу технической поддержки или АХО, призванная повысить качество обслуживания пользователей , а также улучшить эффективность работы в целом видя загруженность сотрудников и понимая кто бездельничает, а также предоставляя персоналу все необходимые средства для быстрой и эффективной поддержки.

Продукт написан на PHP и поставляется с простым и интуитивно понятным веб-интерфейсом, используемым для управления, организации, отслеживания и архивирования всех запросов в службы вашей компании.

Вы можете настроить и добавить свой логотип, изображения и видео в билеты. osTicket поддерживает многие типы баз данных, такие как MySQL и PostgreSQL, и может быть интегрирован с LDAP/Active Directory для централизованной аутентификации.

Содержание статьи

  • Возможности системы
  • Системные требования
  • Подготовка системы
  • Установка Apache, MariaDB и PHP
  • Создание базы данных для osTicket
  • Скачиваем osTicket
  • Создание виртуального хоста Apache
  • Запуск мастера установки osTicket
  • Русификация продукта
  • Использование SSL сертификатов Let's Encrypt
  • Настройка параметров, а также создание отделов обслуживания и сотрудников
  • Вывод

Возможности системы

  • Настраиваемые поля: настройка данных, собранных от пользователей при отправке заявки, чтобы помочь сразу перейти к проблеме.
  • Настраиваемые столбцы и очереди: пользовательская очередь — это представление заявок, основанное на заданных пользовательских критериях. Настраиваемый столбец — это дополнительное поле, которое изначально не отображается при просмотре вкладки билета.
  • Фильтры билетов: определение правил для маршрутизации входящих билетов в нужный отдел, агентам, а также триггерные действия.
  • Разделы справки: Настраиваемые разделы справки для веб-билетов позволяют направлять запросы в нужный отдел для быстрого разрешения.
  • Предотвращение столкновений с агентами: механизм блокировки билетов, позволяющий сотрудникам блокировать билеты во время реагирования, чтобы избежать конфликтных или двойных ответов.
  • Назначение, передача и направление: передача билетов между отделами, чтобы убедиться, что они обрабатываются правильными агентами, или назначение билетов конкретному агенту или команде агентов.
  • Автоответчик: настраиваемый автоматический ответ, отправляемый при открытии нового билета или получении сообщения.
  • Действие потока: Агенты имеют возможность создавать Билет или Задачу из записи потока Билета или из записи потока Задачи.
  • Соглашения об уровне обслуживания: все запросы на поддержку и ответы архивируются в Интернете для конечных пользователей.
  • Расширенный поиск: сузьте критерии поиска с помощью расширенного поиска.
  • Задачи: создание внутреннего списка дел для агентов.
  • Подробные отчеты, которые дают представление о производительности и функциональности службы поддержки.
  • Обработка заявок по электронной почте, через Интернет, по телефону, факсу и через API.

Системные требования

Поддерживаемые операционные системы:

  • Windows 7/8/10/11
  • Windows Server 2008R2/2012/2012r2/2016/2019/2022
  • Debian 9,10,11
  • Debian 18.04/20.04/22.04
  • Centos 7/8

Минимальные системные требования для Linux:

Процессор: 1-но ядерный от 1Ггц

Оперативная память: от 512МБ

Жёсткий диск: от 5ГБ

Минимальные системные требования для Windows:

Процессор: 2-х ядерный от 1,8Ггц

Оперативная память: от 2Гб

Жёсткий диск: от 30ГБ

Подготовка системы

Повышаем наши права в системе:

sudo -s

Обновляем систему:

apt update && apt upgrade -y

Устанавливаем дополнительные компоненты:

apt install mc nano wget net-tools -y

Устанавливаем имя нашему серверу:

hostnamectl set-hostname osticket.tuning-admina.ru

Устанавливаем временную зону:

timedatectl set-timezone Europe/Moscow

Устанавливаем службу синхронизации времени:

apt install chrony -y

Добавляем службу в автозагрузку:

systemctl enable chrony

Перед тем как продолжить перезагрузим систему:

reboot

Установка Apache, MariaDB, PHP

Устанавливаем вэб сервер и все остальные необходимые пакеты:

apt install apache2 mariadb-server php libapache2-mod-php php-mysql php-cgi php-fpm php-cli php-curl php-gd php-imap php-mbstring php-pear php-intl php-apcu php-common php-bcmath -y

Добавим в автозагрузку службы Apache и MariaDB:

systemctl enable apache2

systemctl enable mariadb

Запустим службы Apache и MariaDB:

systemctl start apache2

systemctl start mariadb

Включим защиту MariaDB:

mysql_secure_installation

Система выполнит опрос:

  • Enter current password for root (enter for none): -- Нажимаем Enter

OK, successfully used password, moving on...

  • Switch to unix_socket authentication [Y/n] Y

Enabled successfully!

  • Set root password? [Y/n] Y -- устанавливаем пароль для root

New password:

Re-enter new password:

Password updated successfully!

  • Remove anonymous users? [Y/n] Y

... Success!

  • Disallow root login remotely? [Y/n] Y

... Success!

  • Remove test database and access to it? [Y/n] Y

- Dropping test database...

... Success!

- Removing privileges on test database...

... Success!

  • Reload privilege tables now? [Y/n] Y

... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MariaDB

installation should now be secure.

Thanks for using MariaDB!

Войдем в оболочку MariaDB:

mysql -u root -p

Создадим базу данных для osTicket:

CREATE DATABASE osticket;

Создадим пользователя для нашей базы данных osticket:

CREATE USER 'osticket'@'localhost' IDENTIFIED BY 'P@ssw0rd';

Даем полные права на базу данных osticket нашему пользователю:

GRANT ALL PRIVILEGES ON osticket.* TO osticket@localhost IDENTIFIED BY "P@ssw0rd";

Обновляем данные о привилегиях:

FLUSH PRIVILEGES;

Выходим из оболочки:

EXIT;

Скачиваем osTicket

Последнюю версию можно скачать с сайта GitHub: https://github.com/osTicket/osTicket/releases/

На текущий момент последняя актуальная версия 1.17.2 от 15 ноября 2022:

wget https://github.com/osTicket/osTicket/releases/download/v1.17.2/osTicket-v1.17.2.zip

Создаем папку в директории вэб сервера:

mkdir /var/www/html/osticket

Извлекаем архив в созданную папку:

unzip osTicket-v1.17.2.zip -d /var/www/html/osticket

Даем права вэб серверу на созданную папку:

chown -R www-data:www-data /var/www/html/osticket

chmod -R 755 /var/www/html/osticket

Переименовываем конфигурационный файл osTicket:

mv /var/www/html/osticket/upload/include/ost-sampleconfig.php /var/www/html/osticket/upload/include/ost-config.php

Создание виртуального хоста Apache

Cоздаем файл конфигурации osTicket для виртуального хоста Apache:

nano /etc/apache2/sites-available/osticket.conf

Добавляем следующие строки:

<VirtualHost *:80>

ServerName osticket.tuning-admina.ru

ServerAdmin admin@tuning-admina.ru

DocumentRoot /var/www/html/osticket/upload

<Directory /var/www/html/osticket/upload>

Require all granted

Options FollowSymlinks

AllowOverride All

</Directory>

ErrorLog ${APACHE_LOG_DIR}/osticket.error.log

CustomLog ${APACHE_LOG_DIR}/osticket.access.log combined

</VirtualHost>

CTRL+O, CTRL+X

Затем активируйте виртуальный хост osTicket и включите модуль перезаписи Apache с помощью следующей команды:

Активируем виртуальный хост osTicket:

a2ensite osticket.conf

Включаем модуль перезаписи Apache:

a2enmod rewrite

Перезапускаем службу Apache:

systemctl restart apache2

Проверяем состояние вэб сервера:

systemctl status apache2

-2

Идем по адресу: http://osticket.tuning-admina.ru попадем на страницу мастера установки osTicket:

-3

Нажимаем кнопку Продолжить и попадаем на страницу настройки, где вносим основные конфигурационные сведения и нажимаем установить сейчас:

-4

Установка завершена и система нас с вами поздравляет, но при этом просит поменять разрешение у конфигурационного файла ost-config.php:

-5

chmod 0644 /var/www/html/osticket/upload/include/ost-config.php

Панель управления osTicket доступна по адресу:

http://osticket.tuning-admina.ru/scp

-6

Заходим под нашей учетной записью и видим, что система просит нас удалить каталог Setup:

-7

Удаляем каталог:

rm /var/www/html/osticket/upload/setup

Русификация продукта

В настройках по умолчанию кроме английского других языков нет.

Создадим каталог для загрузки языкового пакета:

mkdir ru_language

Переходим в каталог:

cd ru_language

Скачиваем языковой пакет, это последний из доступных:

wget https://s3.amazonaws.com/downloads.osticket.com/lang/1.14.x/ru.phar

Создаем php файл:

nano extract.php

Вставляем блок кода:

<?php

try {

$phar = new Phar('ru.phar');

$phar->extractTo('./',null,true); // extract all files

} catch (Exception $e) {

echo "there was an error<br>";

print_r($e);

}

?>

Сохраняем файл и выходим:

CTRL+O, CTRL+X

Запускаем наш скрипт:

php extract.php

Должна произойти распаковка содержимого файла.

Теперь создаем каталог в папке сайта osticket и перемещаю все распакованные файлы кроме файлов: extract.php & ru.phar

Возвращаемся в корень:

cd ~/

Создаём папку для языкового пакета:

mkdir -p /var/www/html/osticket/upload/include/i18n/ru_RU

Синхронизируем содержимое двух папок исключая скрипт и языковой пакет:

rsync -r --exclude=ru.phar --exclude=extract.php /root/ru_language/ /var/www/html/osticket/upload/include/i18n/ru_RU

Меняем разрешения на папку с движком osTicket для ВЭБ сервера:

chown -R www-data:www-data /var/www/html/osticket/

Меняем разрешения на папку с движком osTicket:

chmod -R 755 /var/www/html/osticket/

Меняем разрешения на конфигурационный файл osTicket:

chmod 644 /var/www/html/osticket/upload/include/ost-config.php

Перезапускаем вэб сервер:

service apache2 reload

После обращаюсь к URL адресу:

http://osticket.tuning-admina.ru/scp

Переходим в агентскую панель:

-8

Меняем язык на русский:

-9
-10

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

-11

Использование SSL сертификатов Let's Encrypt

Для защиты передаваемых данных между клиентом и вэб сервером будем использовать бесплатные SSL сертификаты Let's Encrypt, для регистрации и получения которых в центре сертификации нам нужно установить пакет certbot и плагин под Apache:

apt install certbot python3-certbot-apache -y

Выполним запрос на получение сертификата:

certbot --apache
Saving debug log to /var/log/letsencrypt/letsencrypt.log

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: osticket.tuning-admina.ru
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel):
1
Certificate not yet due for renewal

You have an existing certificate that has exactly the same domains or certificate name you requested and isn't close to expiry.
(ref: /etc/letsencrypt/renewal/osticket.tuning-admina.ru.conf)

What would you like to do?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: Attempt to reinstall this existing certificate
2: Renew & replace the certificate (may be subject to CA rate limits)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
2
Renewing an existing certificate for osticket.tuning-admina.ru

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/osticket.tuning-admina.ru/fullchain.pem
Key is saved at: /etc/letsencrypt/live/osticket.tuning-admina.ru/privkey.pem
This certificate expires on 2023-04-23.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

Deploying certificate
Successfully deployed certificate for osticket.tuning-admina.ru to /etc/apache2/sites-available/osticket-le-ssl.conf
Your existing certificate has been successfully renewed, and the new certificate has been installed.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt:
https://letsencrypt.org/donate
* Donating to EFF:
https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Перезапускаем вэб сервер:

systemctl restart apache2

Проверяем:

-12

Для автоматического обновления сертификатов необходимо проверить статус и если нужно добавить в автозагрузку службу обновлений сертификатов certbot.timer:

systemctl status certbot.timer

systemctl enable certbot.timer

systemctl start certbot.timer

Настройка параметров, а также создание отделов обслуживания и сотрудников

Переходим в панель администратора:

-13

Нас интересует Настройки --> Компания --> Логотипы

-14

Нажимаем выбор файла и добавляем логотип вашей компании:

-15

В настройках --> Пользователи выберите политику регистрации пользователей

-16

Подправим перевод очереди заявок в разделе Настройки --> Заявки --> Очереди:

-17

Установите график техподдержки и период просрочки заявок в часах

-18

Рабочий график описывается в планировщике

-19

Удаляем текущее правило описывающее американские праздники и создаем свое:

-20

Редактируем текущие или добавляем свои отделы компании

-21

У себя я создал два отдела Техподдержка и АХО, которые будут обрабатывать заявки пользователей, а также добавил двух сотрудников в эти отделы.

-22

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

Вывод

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

Решение мне понравилось считаю его одним из самых простых и оптимальных для внедрения независимо от размера компании.