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
Идем по адресу: http://osticket.tuning-admina.ru попадем на страницу мастера установки osTicket:
Нажимаем кнопку Продолжить и попадаем на страницу настройки, где вносим основные конфигурационные сведения и нажимаем установить сейчас:
Установка завершена и система нас с вами поздравляет, но при этом просит поменять разрешение у конфигурационного файла ost-config.php:
chmod 0644 /var/www/html/osticket/upload/include/ost-config.php
Панель управления osTicket доступна по адресу:
http://osticket.tuning-admina.ru/scp
Заходим под нашей учетной записью и видим, что система просит нас удалить каталог Setup:
Удаляем каталог:
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
Переходим в агентскую панель:
Меняем язык на русский:
Главная страница пользовательского интерфейса тоже должна быть доступна на русском языке:
Использование 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
Проверяем:
Для автоматического обновления сертификатов необходимо проверить статус и если нужно добавить в автозагрузку службу обновлений сертификатов certbot.timer:
systemctl status certbot.timer
systemctl enable certbot.timer
systemctl start certbot.timer
Настройка параметров, а также создание отделов обслуживания и сотрудников
Переходим в панель администратора:
Нас интересует Настройки --> Компания --> Логотипы
Нажимаем выбор файла и добавляем логотип вашей компании:
В настройках --> Пользователи выберите политику регистрации пользователей
Подправим перевод очереди заявок в разделе Настройки --> Заявки --> Очереди:
Установите график техподдержки и период просрочки заявок в часах
Рабочий график описывается в планировщике
Удаляем текущее правило описывающее американские праздники и создаем свое:
Редактируем текущие или добавляем свои отделы компании
У себя я создал два отдела Техподдержка и АХО, которые будут обрабатывать заявки пользователей, а также добавил двух сотрудников в эти отделы.
Очень простая и интуитивно понятные настройки, я думаю в процессе настройки и работы вопросов возникнуть не должно.
Вывод
Надеюсь вам пригодится эта статья и вы надумаете внедрить у себя в компании этот замечательный продукт.
Решение мне понравилось считаю его одним из самых простых и оптимальных для внедрения независимо от размера компании.