- Подготовка к установке;
- Настройка баз данных;
- Получение OTRS, настройка модулей и программного обеспечения;
- Установка OTRS;
- Настройка почтовых параметров;
- Проверка работоспособности;
- Настройка HTTPS;
- Заключение.
OTRS (Open-source Ticket Request System) представляет собой бесплатную систему управления обращений клиентов. Она широко применяется в любой сфере предоставления качественных услуг. Это может быть крупная IT компания, с десятками тысяч пользователей или компания любой другой отрасли, которая таким образом будет поддерживать обратную связь с клиентами. Так же, OTRS будет крайне полезна любой организации, в которой есть IT отдел, независимо от сферы предоставления услуг.
OTRS представляет собой удобный и гибко настраиваемый web-интерфейс который обрабатывает заявки клиентов средством обращения по электронной почте. Рассмотрим его работу на простом примере. Допустим, у нас есть несколько линий технической поддержки, состоящая из множества специалистов, каждая линия имеет свою зону ответственности и свои задачи, которые могут пересекаться, или иметь задачи закрепленные за определенным специалистом. Так же есть клиент, которому структура функционирования организации-поставщика услуги не известна, у клиента есть «проблема» и только адрес электронной почты, на который можно сообщить о ней, например support@freehost.com.ua. Клиент сообщает о проблеме на этот email и письмо появляется в web-интерфейсе OTRS. Обращению клиента присваивается уникальный идентификатор, о чем он уведомляется в ответном сообщении. На простейшем примере это выглядит так:
Особенности и удобства OTRS:
- Обращения клиентов не теряются. Если обращение создано, заявка может иметь только открытый или закрытый статус, она не может быть физически удалена администратором, если вы не предоставили ему таких прав.
- Вы можете создавать множество очередей, каждая из которых будет отвечать за свою сферу: администраторы, разработчики, финансовый отдел и т. д. Заявки могут быть распределены по отделам и все они существуют в открытом виде.
- Каждому обращению присваивается уникальный идентификатор. Важно, не удалять его из темы сообщения при переписке. Если это правило будет соблюдено, все последующие уточнения и порядок выполнения каждой отдельной заявки будут происходить в одном дереве сообщений. Это удобно, вы всегда сможете посмотреть что было сделано ранее, или найти другие обращения пользователя по его ID, которым является email клиента.
- Вся структура имеет открытый вид. Допустим, администратор Дмитрий выполнил заявку, но у клиента через месяц или год, появились вопросы или корректировки, которые необходимо выполнить. Клиент, в ответном сообщении вносит эти корректировки, а Дмитрию достаточно будет прочитать дерево предыдущих сообщений чтобы оперативно понять о чем речь и оперативно отреагировать на проблему. Или найти предыдущие обращения клиента по его ID. Если Дмитрий в отпуске или на больничном, это может выполнить другой администратор, перед ним в текстовом виде будет вся история переписки, как своего рода «больничная карта неисправности» для доктора.
- OTRS гибкая. Вы заранее можете продумать структуру и автоматизировать распределение обращений по очередям и отделам. Назначить отдельным очередям собственные email для получения заявок, а в случае изменения структуры организации, легко это изменить через web-интерфейс.
- Широкая область применения. Если не являетесь IT организацией, а корпорация в торговой сфере, с главным офисом в Киеве со штатом в сотню человек, и десяти филиалах по Украине со своими приходящими или штатными системными администраторами. Работу функционирования осуществляет IT отдел главного офиса. Внедрив OTRS вы сможете легко контролировать всю инфраструктуру. Обращения осуществляются не посредством телефонных звонков, а через почту. Задачи распределяются администраторами «на местах» самостоятельно, или назначаются с главного департамента. Видно время открытия заявки, какие действия были выполнены, статус обращения, ответственный за выполнение.
- «Рукописи не горят». Внедрив OTRS исключаются жалобы пользователей «Мы об этом говорили» и возможные ответы сотрудников ИТ-отдела «Впервые об этом слышим», по причине загруженности, забывчивости, или недобросовестности.
- Так же OTRS активно используется компанией FREEhost.UA при предоставлении услуг хостинга десяткам тысяч клиентов, позволяя оперативно реагировать на обращения и держать под контролем процесс обратной связи с клиентами.
Руководство подразумевает, что вы им руководствуетесь на «чистом» сервере, без предустановленного программного обеспечения. Установка на уже существующий, без предварительного анализа предустановленных версий не рекомендуется. Будут затронуты зависимости, которые могут привести к неработоспособности уже существующих сервисов.
Подготовка к установке:
Первым делом обновим наш пакетный менеджер:
root@dedicated:~# apt-get update && apt-get upgrade -y
Установим Apache:
root@dedicated:~# apt-get install apache2
Проверим, все ли работает. Для этого достаточно в адресной строке браузера ввести ip адрес вашего сервера: http://your_ip. Вы должны увидеть информационный блок веб-сервера.
OTRS написан на языке Perl, установите все необходимые зависимости:
root@dedicated:~# apt-get install libapache2-mod-perl2 libdbd-mysql-perl libtimedate-perl libnet-dns-perl libnet-ldap-perl libio-socket-ssl-perl libpdf-api2-perl libsoap-lite-perl libtext-csv-xs-perl libjson-xs-perl libapache-dbi-perl libxml-libxml-perl libxml-libxslt-perl libyaml-perl libarchive-zip-perl libcrypt-eksblowfish-perl libencode-hanextra-perl libmail-imapclient-perl libtemplate-perl libdatetime-perl
Установите модуль для установки модулей perl с помощью cpan:
root@dedicated:~# apt-get install build-essential
Настройка баз данных
Затем установим и настроим систему управления базами данных MariaDB, которая обеспечит доступ к базам данным которые мы создадим позже.
root@dedicated:~# apt-get install mariadb-server
Проверим нашу версию MariaDB:
root@dedicated:~# mariadb --version mariadb Ver 15.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Выполним первоначальную настройку безопасности. Для этого существует команда mysql_secure_installation, после ввода которой запустится скрипт, в котором нужно будет выполнить ряд действий:
root@dedicated:~# mysql_secure_installation # Вводим пароль пароль пользователя root. Задайте его и нажмите Enter Enter current password for root (enter for none): ************ # Смена пароля суперпользователя root для MariaDB; Change the root password? [Y/n] n # Удаляем анонимного пользователя Remove anonymous users? [Y/n] Y # Запретим подключение к базе данных со сторонних серверов Disallow root login remotely? [Y/n] Y # Удалим тестовую базу данных Remove test database and access to it? [Y/n] Y # Активируем привелегии их перезагрузкой Reload privilege tables now? [Y/n] Y Thanks for using MariaDB!
Подключимся к нашей СУБД:
root@dedicated:~# mariadb MariaDB [(none)]>
Создадим пользователя secret_user для базы данных otrsdb. Вместо frEEHo$t78 придумайте сложный пароль, который включает в себя не менее 10 латинских символов в верхнем и нижнем регистрах, цифры и спецсимволы:
MariaDB [(none)]> GRANT ALL ON *.* TO 'root'@'localhost' IDENTIFIED BY 'frEEHo$t78';
Обновите привилегии:
MariaDB [(none)]> FLUSH PRIVILEGES;
Проверьте результат:
MariaDB [(none)]> SHOW DATABASES; MariaDB [(none)]> EXIT;
Получение OTRS, настройка модулей и программного обеспечения
Скачайте свежую версию OTRS, извлеките файлы и удалите архив, переместив файлы в рабочий каталог:
root@dedicated:~# wget https://ftp.otrs.org/pub/otrs/otrs-latest.tar.gz root@dedicated:~# tar xzvf otrs-latest.tar.gz root@dedicated:~# rm -f otrs-latest.tar.gz root@dedicated:~# mkdir /opt/otrs root@dedicated:~# mv otrs-6.0.28/* /opt/otrs
Выполним несколько операций:
- Создадим пользователя otrs;
- Изменим групповые права пользователю otrs;
- Копируем конфигурационный файл для редактирования;
- Выполним Perl скрипт;
- ...по окончанию которого создадим виртуальный хост Apache
root@dedicated:~# useradd -d /opt/otrs -c 'OTRS User' otrs root@dedicated:~# usermod -G www-data otrs root@dedicated:~# cp /opt/otrs/Kernel/Config.pm.dist /opt/otrs/Kernel/Config.pm root@dedicated:~# /opt/otrs/bin/otrs.SetPermissions.pl --web-group=www-data * Вы должны увидеть: Setting permissions on /opt/otrs root@dedicated:~# ln -s /opt/otrs/scripts/apache2-httpd.include.conf /etc/apache2/sites-enabled/otrs.conf
Выполните проверку модулей и в случае каких либо ошибок, исправьте их. Если какие либо модули не установлены, установите их. Так же обратите внимание, что модули с пометкой optional являются рекомендуемыми, но к установке не обязательны:
root@dedicated:~# perl /opt/otrs/bin/otrs.CheckModules.pl
Модули ODBC, Oracle Pg нам не нужны, мы используем mariadb. А вот рекомендацию по обновлению модуля IO::Socket::SSL следует выполинить следующим образом:
root@dedicated:~# cpan upgrade IO::Socket::SSL
*для подтвеждения обновления введите yes
Ещё раз проверяем, никаких ошибок быть не должно. Если все важные модули в статусе «ок», проверим важные установленные модули следующей командой:
root@dedicated:~# perl -cw /opt/otrs/bin/cgi-bin/customer.pl
Вы должны получить сообщение, что синтаксис «OK». Стоит сразу заметить, что установка OTRS на разных операционных системах может оказаться нетривиальной задачей, и могут появится непредвиденные ошибки. В нашем случае именно так. Я постараюсь по пунктам показать, с какими сложностями столкнулись и путь их решения. Выполнив скрипт проверки, мы получили следующие ошибки:
Необходимо было потратить время и определить, каких библиотек не хватает, какие зависимости не соблюдены, и что нужно сделать. В нашем случае, почему-то в Debian 10 не корректно отработал модуль Crypt::Random::Source::Weak::devurandom. Подключимся в терминал CNAP и установим его:
root@dedicated:~# perl -MCPAN -e shell cpan[1]> install Crypt::Random::Source::Weak::devurandom
Установка занимает некоторое время, может потребоваться до 7 минут. По окончанию, проверяем корректность настроек следующими командами. Ошибки любой из них недопустимы. Если ошибка, возвращаемся назад и ищем, чего не хватает.
root@dedicated:~# perl -cw /opt/otrs/bin/cgi-bin/index.pl root@dedicated:~# perl -cw /opt/otrs/bin/cgi-bin/customer.pl root@dedicated:~# perl -cw /opt/otrs/bin/otrs.PostMaster.pl root@dedicated:~# perl -cw /opt/otrs/bin/otrs.Console.pl
Вернемся к Apache и активируем необходимые модули, перезапустим Apache и проверим его статус, ошибок быть не должно.
root@dedicated:~# a2enmod perl root@dedicated:~# a2enmod headers root@dedicated:~# a2enmod deflate root@dedicated:~# a2enmod filter root@dedicated:~# systemctl restart apache2 root@dedicated:~# systemctl status apache2
Далее, необходимо открыть конфигурационный файл и изменить значения размера блока данных mysql, количество памяти, которое mysql выделит на кеш запросов, а так же кодировку:
root@dedicated:~# mcedit /etc/mysql/mariadb.conf.d/50-server.cnf max_allowed_packet = 64M query_cache_size = 32M innodb_log_file_size = 256M character-set-server = utf8 collation-server = utf8_general_ci
Перезапустите mariadb
root@dedicated:~# systemctl restart mariadb
Настройте планировщик Cron. Планировщик OTRS это такой процесс, который выполняет асинхронные/фоновые задачи, например включение эскалации заявки, отправка почты и прочее.
root@dedicated:~# cd /opt/otrs/var/cron root@dedicated:~# cp aaa_base.dist aaa_base root@dedicated:~# cp otrs_daemon.dist otrs_daemon root@dedicated:~# sudo su - otrs -c "/opt/otrs/bin/Cron.sh start" (using /opt/otrs) done
Подождите 5 минут и проверьте состояние демона следующей командой:
root@dedicated:/opt/otrs/var/cron# sudo su - otrs -c "/opt/otrs/bin/otrs.Daemon.pl status" Manage the OTRS daemon process. Daemon running
Установка OTRS
Запустите web-инсталятор по ссылке:
http://178.20.15*.***/otrs/installer.pl
Нажмите «Вперед», затем подтвердите лицензионное соглашение
Выберите тип базы данных, в нашем примере это MySQL
Выполните конфигурацию баз данных. Укажите пользователя root для MySQL и пароль к БД. Нажмите «Проверить соединение с базой данных». Вы должны получить следующий результат:
Скопируйте сгенерированный пароль в надёжное место и нажмите «Вперед». Успешный результат выглядит следующим образом:
Укажите общие настройки почты. Настройки индивидуальны, в зависимости от настроек почтового сервера, который обслуживает ваш домен. За получением настроек рекомендуем обратиться к вашему провайдеру, который предоставляет почтовые услуги. Вы так же можете пропустить этот шаг и настроить почтовое соединение позднее.
Завершающий этап:
Теперь вы можете получить доступ по web-интерфейсу:
http://178.20.156.***/otrs/index.pl
Настройка почтовых параметров
Первым делом настроим почтовые параметры. Для этого будем использовать существующий почтовый ящик support@dmt.co.ua
Для начала добавим его в разделе «Администрирование» - «Адреса email». Нажмите в меню слева «Добавить системный адрес» и заполните необходимые поля:
Перейдите в раздел «Администрирование» - «Очереди». Здесь вы можете добавить свои очереди, или отредактировать существующие. Нажмите на нужную очередь и отредактируйте важный параметр, изменил имя отправителя с otrs@localhost на support@dmt.co.ua
Теперь настроим почтовые параметры. Следуем в «Администрирование» - «Настройка системы». Слева, в меню выбираем блок «Email»
Здесь вы увидите множество параметров. В зависимости от того, кто вам предоставляет услуги почтового сервера, они могут отличаться. Мой тестовый домен зарегистрирован в комании Freehost и конфигурация выглядит следующим образом:
AdminEmail: support@dmt.co.ua CheckMXRecord: Включено CheckMXRecord::Nameserver: 194.0.200.115 NotificationSenderEmail: support@dmt.co.ua SendmailModule: Kernel::System::Email::SMTP SendmailModule::AuthPassword: пароль от почтового ящика support@dmt.co.ua SendmailModule::AuthUser: support@dmt.co.ua SendmailModule::Host: mail.dmt.co.ua SendmailModule::Port: 25
Так же для сервера прописана PTR запись, а для доменного имени SPF запись. Так же рекомендуем ознакомится со статьей нашего блога «Все, что стоит знать о настройках почты». Так же настройте ваши конфигурационные файлы /etc/hosts и /etc/resolv.conf
Проверка работоспособности
Отправим с почтового ящика на Gmail обращение в службу поддержки следующего содержания:
В зависимости от того, с какой периодичностью у вас настроен обработчик задач (у меня это 5 минут), данный запрос появится в web-интерфейсе OTRS:
Ответим на него. Выполним эмуляцию перепеиски, чтобы убедиться, что все настроено верно и система работоспособна:
Положительный результат с обоих сторон будет выглядеть следующим образом:
Настройка HTTPS
Включим модуль rewrite
root@dedicated:~# sudo a2enmod rewrite root@dedicated:~# systemctl restart apache2
Отключаем виртуалхост по умолчанию:
root@dedicated:~# a2dissite 000-default.conf
Создадим несколько виртуалхостов.
root@dedicated:~# mcedit /etc/apache2/sites-available/dmt.co.ua.conf <VirtualHost *:80> ServerAdmin dmt.shestak@gmail.com ServerName dmt.co.ua RewriteEngine on RewriteCond %{SERVER_NAME} =dmt.co.ua RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent] RedirectMatch permanent (.*)/$ https://dmt.co.ua/otrs/index.pl ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Второй:
root@dedicated:~# mcedit /etc/apache2/sites-available/dmt.co.ua-ssl.conf <IfModule mod_ssl.c> <VirtualHost *:443> ServerAdmin dmt.shestak@gmail.com ServerName dmt.co.ua RedirectMatch permanent (.*)/$ https://dmt.co.ua/otrs/index.pl ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLCertificateFile /etc/letsencrypt/live/dmt.co.ua/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/dmt.co.ua/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf </VirtualHost> </IfModule>
Аналогичным образом, вы можете создать отдельный субдомен, на который настроить доступ по HTTPS пользовательского интерфейса по адресу http://www.example.com/otrs/customer.pl Мы не будем на этом заострять внимание, документация к Apache информативна, и не составит труда найти множество примеров настройки веб-сервера.
Активируем наши виртуалхосты:
root@dedicated:~# a2ensite dmt.co.ua.conf root@dedicated:~# a2ensite dmt.co.ua-ssl.conf root@dedicated:~# ln -s /opt/otrs/scripts/apache2-httpd.include.conf /etc/apache2/sites-enabled/zzz_otrs.conf
Проверяем синтаксис, ошибrой быть не должно:
root@dedicated:~# apache2ctl configtest Syntax OK root@dedicated:~# systemctl restart apache2
Установим certbot и приступим к получению сертификата:
root@dedicated:~# apt-get install certbot python-certbot-apache root@dedicated:~# certbot --apache -d dmt.co.ua
Скрипт установки затребует подтверждения нескольких шагов. Порядок следующий:
- Введите ваш действующий email адрес
- Подтвердите пользовательские соглашения. Ответ: А
- Желаете ли получать email рассылки? Ответ: N
- Для какого домена нам нужен сертификат. В нашем примере без www, указываем 1.
Обратите внимание, бесплатные SSL сертификаты от Let'sEncrypt выдаются сроком на 90 дней. Вы можете настроить автопродление (которое в отдельных случаях может не сработать), проверять и обновлять вручную, или заказать платный сертификат на год.
Обновляем окно браузера. Отлично, теперь наш сайт доступен по протоколу HTTPS:
Заключение
В этом руководстве вы узнали, как установить OTRS на сервер с Debian 10, настроить систему поддержки, с помощью которой вы сможете обрабатывать запросы от ваших клиентов или сотрудников посредством электронной почты и web-интерфейса. Залог предоставления качественных услуг — это полный контроль над процессами, и система обработки заявок OTRS является незаменимым помощником в этом деле. Для наших клиентов облачного VPS хостинга, мы приготовили шаблон, с помощью которого вы сможете установить OTRS в считанные минуты и приступить к его настройке. Наша круглосуточная служба технической поддержки поможет с его базовой настройкой, если у вас возникнут сложности.
Дата: 02.06.2020 Автор: Дмитрий
|
|
Авторам статьи важно Ваше мнение. Будем рады его обсудить с Вами:
comments powered by Disqus